Package com.sap.cds
Interface CdsDataProcessor
-
@Beta public interface CdsDataProcessor
The CdsDataProcessor allows to process deeply nested maps of CDS data, by executing a sequence of registered handlers of typeCdsDataProcessor.Generator
,CdsDataProcessor.Converter
orCdsDataProcessor.Validator
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
CdsDataProcessor.Converter
Function to convert or remove a value for a CdsElement.static interface
CdsDataProcessor.Factory
static interface
CdsDataProcessor.Filter
Predicate to filter a CdsElement by the element's CdsType.static interface
CdsDataProcessor.Generator
Function to compute a value for a CdsElement.static class
CdsDataProcessor.Mode
The processing mode:CdsDataProcessor.Mode.DECLARED
,CdsDataProcessor.Mode.CONTAINS
,CdsDataProcessor.Mode.NOT_NULL
orCdsDataProcessor.Mode.NULL
.static interface
CdsDataProcessor.Validator
Function to validate the value of a CdsElement.
-
Field Summary
Fields Modifier and Type Field Description static Object
ABSENT
Indicates the absence of a value in the data map.static CdsDataProcessor.Factory
factory
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description CdsDataProcessor
addConverter(CdsDataProcessor.Filter filter, CdsDataProcessor.Converter valConverter)
Adds a function to convert values of elements that match a given filter.CdsDataProcessor
addGenerator(CdsDataProcessor.Filter filter, CdsDataProcessor.Generator valGenerator)
Adds a function to generate values for elements that match a given filter and are missing in the data or mapped to null.default CdsDataProcessor
addValidator(CdsDataProcessor.Filter filter, CdsDataProcessor.Validator validator)
Adds a function to validate values of elements that match a given filter.CdsDataProcessor
addValidator(CdsDataProcessor.Filter filter, CdsDataProcessor.Validator validator, CdsDataProcessor.Mode mode)
Adds a function to validate values of elements that match a given filter.static CdsDataProcessor
create()
Creates a new DataProcessor instance.default void
process(Result result)
Runs the CdsDataProcessor on the given CDS.ql result.void
process(Iterable<? extends Map<String,Object>> entries, CdsStructuredType entryType)
Runs the CdsDataProcessor on the given data entries.void
process(Map<String,Object> entry, CdsStructuredType entryType)
Runs the CdsDataProcessor on the given data entry.
-
-
-
Field Detail
-
factory
static final CdsDataProcessor.Factory factory
-
ABSENT
static final Object ABSENT
Indicates the absence of a value in the data map.
-
-
Method Detail
-
create
static CdsDataProcessor create()
Creates a new DataProcessor instance.- Returns:
- a DataProcessor
-
addConverter
CdsDataProcessor addConverter(CdsDataProcessor.Filter filter, CdsDataProcessor.Converter valConverter)
Adds a function to convert values of elements that match a given filter.- Parameters:
filter
- the filter predicate, seeCdsDataProcessor.Filter
valConverter
- the value converter function, seeCdsDataProcessor.Converter
- Returns:
- this DataProcessor
-
addGenerator
CdsDataProcessor addGenerator(CdsDataProcessor.Filter filter, CdsDataProcessor.Generator valGenerator)
Adds a function to generate values for elements that match a given filter and are missing in the data or mapped to null.- Parameters:
filter
- the filter predicate, seeCdsDataProcessor.Filter
valGenerator
- the ValueCdsDataProcessor.Generator
function- Returns:
- this DataProcessor
-
addValidator
default CdsDataProcessor addValidator(CdsDataProcessor.Filter filter, CdsDataProcessor.Validator validator)
Adds a function to validate values of elements that match a given filter. The validator function is only called for elements that have an associated value (including null) in the data map, this can be changed by providing a processing mode viaaddValidator(Filter, Validator, Mode)
- Parameters:
filter
- the filter predicate, seeCdsDataProcessor.Filter
validator
- the validation function, seeCdsDataProcessor.Validator
- Returns:
- this DataProcessor
-
addValidator
CdsDataProcessor addValidator(CdsDataProcessor.Filter filter, CdsDataProcessor.Validator validator, CdsDataProcessor.Mode mode)
Adds a function to validate values of elements that match a given filter.- Parameters:
filter
- the filter predicate, seeCdsDataProcessor.Filter
validator
- the validation function, seeCdsDataProcessor.Validator
mode
- the processingCdsDataProcessor.Mode
- Returns:
- this DataProcessor
-
process
void process(Map<String,Object> entry, CdsStructuredType entryType)
Runs the CdsDataProcessor on the given data entry.- Parameters:
entry
- the data entryentryType
- the CDS type of the data entry
-
process
void process(Iterable<? extends Map<String,Object>> entries, CdsStructuredType entryType)
Runs the CdsDataProcessor on the given data entries.- Parameters:
entries
- the data entriesentryType
- the CDS type of the data entries
-
process
default void process(Result result)
Runs the CdsDataProcessor on the given CDS.ql result.- Parameters:
result
- the CDS.ql result
-
-