Package org.qdl_lang.util.aggregate
Interface ProcessStemValues
-
- All Superinterfaces:
Constants
- All Known Subinterfaces:
ProcessScalar
,ProcessStemAxisRestriction
- All Known Implementing Classes:
AbstractIdentityStemProcess
,AbstractNoOpStemImpl
,AxisRestrictionIdentity
,AxisRestrictionNoOp
,Crypto.DoJWTVerify
,Crypto.IdentityEncryptDecrypt
,Crypto.IdentityJWT
,Crypto.IdentitySymmetricDeorEncrypt
,Crypto.ReadOID.IdentityOIDS
,IdentityScalarImpl
,NoOpScalarImpl
,QDLStem.ARGetkeys
,QDLStem.SizeOf
,StemEvaluator.ARForEachImpl
,StemEvaluator.SizeOf
,SystemEvaluator.ReduceAll
public interface ProcessStemValues extends Constants
Interface for processors that traverse stems. Each method gets the current key. Note that there are not methods for sets or stems here since these are handled differently at lower levels, i.e. you must recurse through them. Effectively, this processes scalars only.ProcessScalar
processes each element in a nested stem or set.ProcessStemAxisRestriction
treats the stems or sets along an axis as aggregates. This handles Java objects, notQDLValue
s. To return a QDL value, wrap it usingQDLValue.asQDLValue(Object)
.Usage
Each call has an index that is the stem path to the coordinates. So if you access A.b.c.d, then the index is [b,c] and the key is d.
Note that the default value here refers to the default for this processor, i.e., what to return if there is no other logic. It ranges from just handing it back for the identity processor to throwing an exception in almost every case for the no-op processor.
-
-
Field Summary
-
Fields inherited from interface org.qdl_lang.variables.Constants
ALL_INDICES_NAME, ALL_INDICES_TYPE, ARG_COUNT_TYPE, AXIS_RESTRICTION_NAME, AXIS_RESTRICTION_TYPE, BOOLEAN_NAME, BOOLEAN_TYPE, DECIMAL_NAME, DECIMAL_TYPE, DYADIC_FUNCTION_NAME, DYADIC_FUNCTION_TYPE, FUNCTION_NAME, FUNCTION_TYPE, INTEGER_TYPE, LIST_NAME, LIST_TYPE, LONG_NAME, LONG_TYPE, MODULE_NAME, MODULE_TYPE, NULL_NAME, NULL_TYPE, SET_NAME, SET_TYPE, STEM_NAME, STEM_TYPE, STRING_NAME, STRING_TYPE, UNKNOWN_NAME, UNKNOWN_TYPE
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Object
process(List<Object> index, Object key, Boolean booleanValue)
Object
process(List<Object> index, Object key, Long longValue)
Object
process(List<Object> index, Object key, String stringValue)
Object
process(List<Object> index, Object key, BigDecimal decimalValue)
Object
process(List<Object> index, Object key, Module moduleValue)
Object
process(List<Object> index, Object key, DyadicFunctionReferenceNode dyadicFunctionReferenceNode)
Object
process(List<Object> index, Object key, FunctionReferenceNode frValue)
Object
process(List<Object> index, Object key, QDLNull nullValue)
Object
process(List<Object> index, Object key, QDLValue qdlValue)
-
-
-
Method Detail
-
process
Object process(List<Object> index, Object key, BigDecimal decimalValue)
-
process
Object process(List<Object> index, Object key, FunctionReferenceNode frValue)
-
process
Object process(List<Object> index, Object key, DyadicFunctionReferenceNode dyadicFunctionReferenceNode)
-
-