Class ShiftrCompositeSpec

    • Field Detail

      • orderMap

        private static final java.util.HashMap<java.lang.Class,​java.lang.Integer> orderMap
      • specialChildren

        private final java.util.List<ShiftrSpec> specialChildren
      • literalChildren

        private final java.util.Map<java.lang.String,​ShiftrSpec> literalChildren
      • computedChildren

        private final java.util.List<ShiftrSpec> computedChildren
    • Constructor Detail

      • ShiftrCompositeSpec

        public ShiftrCompositeSpec​(java.lang.String rawKey,
                                   java.util.Map<java.lang.String,​java.lang.Object> spec)
    • Method Detail

      • apply

        public boolean apply​(java.lang.String inputKey,
                             Optional<java.lang.Object> inputOptional,
                             WalkedPath walkedPath,
                             java.util.Map<java.lang.String,​java.lang.Object> output,
                             java.util.Map<java.lang.String,​java.lang.Object> context)
        If this Spec matches the inputKey, then perform one step in the Shiftr parallel treewalk. Step one level down the input "tree" by carefully handling the List/Map nature the input to get the "one level down" data. Step one level down the Spec tree by carefully and efficiently applying our children to the "one level down" data.
        Specified by:
        apply in interface BaseSpec
        Returns:
        true if this this spec "handles" the inputKey such that no sibling specs need to see it