public class CardinalityCompositeSpec extends CardinalitySpec
Modifier and Type | Field and Description |
---|---|
private java.util.List<CardinalitySpec> |
computedChildren |
private static ComputedKeysComparator |
computedKeysComparator |
private java.util.Map<java.lang.String,CardinalitySpec> |
literalChildren |
private static java.util.HashMap<java.lang.Class,java.lang.Integer> |
orderMap |
private CardinalityLeafSpec |
specialChild |
pathElement
Constructor and Description |
---|
CardinalityCompositeSpec(java.lang.String rawKey,
java.util.Map<java.lang.String,java.lang.Object> spec) |
Modifier and Type | Method and Description |
---|---|
boolean |
applyCardinality(java.lang.String inputKey,
java.lang.Object input,
WalkedPath walkedPath,
java.lang.Object parentContainer)
If this Spec matches the inputkey, then perform one step in the parallel treewalk.
|
private static void |
applyKeyToLiteralAndComputed(CardinalityCompositeSpec spec,
java.lang.String subKeyStr,
java.lang.Object subInput,
WalkedPath walkedPath,
java.lang.Object input)
This method implements the Cardinality matching behavior
when we have both literal and computed children.
|
private static java.util.List<CardinalitySpec> |
createChildren(java.util.Map<java.lang.String,java.lang.Object> rawSpec)
Recursively walk the spec input tree.
|
private void |
process(java.lang.Object input,
WalkedPath walkedPath) |
apply, getPathElement, parse
private static final java.util.HashMap<java.lang.Class,java.lang.Integer> orderMap
private static final ComputedKeysComparator computedKeysComparator
private CardinalityLeafSpec specialChild
private final java.util.Map<java.lang.String,CardinalitySpec> literalChildren
private final java.util.List<CardinalitySpec> computedChildren
public CardinalityCompositeSpec(java.lang.String rawKey, java.util.Map<java.lang.String,java.lang.Object> spec)
private static java.util.List<CardinalitySpec> createChildren(java.util.Map<java.lang.String,java.lang.Object> rawSpec)
public boolean applyCardinality(java.lang.String inputKey, java.lang.Object input, WalkedPath walkedPath, java.lang.Object parentContainer)
applyCardinality
in class CardinalitySpec
private void process(java.lang.Object input, WalkedPath walkedPath)
private static void applyKeyToLiteralAndComputed(CardinalityCompositeSpec spec, java.lang.String subKeyStr, java.lang.Object subInput, WalkedPath walkedPath, java.lang.Object input)