Package com.sap.cds.impl.diff
Interface CdsDiffProcessor
- All Known Implementing Classes:
DiffProcessor
@Beta
public interface CdsDiffProcessor
The CdsDiffProcessor allows to process two sets of nested maps of a CDS data that represent
the old and the new image of the data of the same type and notifies a
CdsDiffProcessor.DiffVisitor
about differences.-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
A callback, which is called by theCdsDiffProcessor
on differences between two images of data. -
Method Summary
Modifier and TypeMethodDescriptionadd
(CdsDataProcessor.Filter filter, CdsDiffProcessor.DiffVisitor diffVisitor) Adds aCdsDiffProcessor.DiffVisitor
, which is notified about the differences in elements that match a given filter.default CdsDiffProcessor
add
(CdsDiffProcessor.DiffVisitor diffVisitor) Adds an object implementing interfaceCdsDiffProcessor.DiffVisitor
, which is notified about the differences in all elements.void
process
(Iterable<? extends Map<String, Object>> newImages, Iterable<? extends Map<String, Object>> oldImages, CdsStructuredType type) Runs the CdsDiffProcessor on the new and old images of the data represented as a collection of entries or an instances of theResult
void
Runs the CdsDiffProcessor on the new and old image of the data.
-
Method Details
-
add
Adds an object implementing interfaceCdsDiffProcessor.DiffVisitor
, which is notified about the differences in all elements.- Parameters:
diffVisitor
- the instance of the object that will observe found changes- Returns:
- this instance of the
CdsDiffProcessor
-
add
Adds aCdsDiffProcessor.DiffVisitor
, which is notified about the differences in elements that match a given filter.- Parameters:
filter
- the filter predicate (seeCdsDataProcessor.Filter
)diffVisitor
- the differ that will called notified about changes- Returns:
- this instance of the
CdsDiffProcessor
-
process
Runs the CdsDiffProcessor on the new and old image of the data.- Parameters:
newImage
- new image of the dataoldImage
- old image of the datatype
- the type of the data
-
process
void process(Iterable<? extends Map<String, Object>> newImages, Iterable<? extends Map<String, Object>> oldImages, CdsStructuredType type) Runs the CdsDiffProcessor on the new and old images of the data represented as a collection of entries or an instances of theResult
- Parameters:
newImages
- sequence of the new images of the dataoldImages
- sequence of the old images of the datatype
- the type of the data
-