Modifier and Type | Method and Description |
---|---|
boolean |
CardinalitySpec.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) |
Modifier and Type | Field and Description |
---|---|
private static Optional<?> |
Optional.EMPTY |
Modifier and Type | Method and Description |
---|---|
static <T> Optional<T> |
Optional.empty() |
static <T> Optional<T> |
Optional.of(T value) |
Optional<java.lang.Object> |
PathEvaluatingTraversal.read(java.lang.Object data,
WalkedPath walkedPath) |
Modifier and Type | Method and Description |
---|---|
private static <T extends BaseSpec> |
ExecutionStrategy.applyKeyToComputed(java.util.List<T> computedChildren,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> output,
java.lang.String subKeyStr,
Optional<java.lang.Object> subInputOptional,
java.util.Map<java.lang.String,java.lang.Object> context) |
private static <T extends OrderedCompositeSpec> |
ExecutionStrategy.applyKeyToLiteralAndComputed(T spec,
java.lang.String subKeyStr,
Optional<java.lang.Object> subInputOptional,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> output,
java.util.Map<java.lang.String,java.lang.Object> context)
This is the method we are trying to avoid calling.
|
void |
ExecutionStrategy.process(OrderedCompositeSpec spec,
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) |
Modifier and Type | Method and Description |
---|---|
Optional<java.lang.Object> |
TransposePathElement.objectEvaluate(WalkedPath walkedPath)
This method is used when the TransposePathElement is used on the LFH as data.
|
Modifier and Type | Method and Description |
---|---|
boolean |
BaseSpec.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)
This is the main recursive method of the Shiftr/Templatr/Cardinality parallel "spec" and "input" tree walk.
|
Modifier and Type | Field and Description |
---|---|
private Optional<java.lang.Integer> |
PathStep.origSize |
Modifier and Type | Method and Description |
---|---|
Optional<java.lang.Integer> |
PathStep.getOrigSize() |
Modifier and Type | Field and Description |
---|---|
private Optional<java.lang.Object> |
FunctionArg.LiteralArg.returnValue |
Modifier and Type | Method and Description |
---|---|
static Optional<java.lang.Number> |
Math.abs(java.lang.Object arg)
Given any object, returns, if possible.
|
Optional<java.lang.Object> |
Function.apply(java.lang.Object... args)
Deprecated.
|
Optional<java.lang.Object> |
Function.BaseFunction.apply(java.lang.Object... args) |
Optional<java.lang.Object> |
Function.ArgDrivenFunction.apply(java.lang.Object... args) |
Optional<java.lang.Object> |
Function.SquashFunction.apply(java.lang.Object... args) |
Optional<java.lang.Object> |
Objects.size.apply(java.lang.Object... args) |
protected Optional<java.lang.Object> |
Lists.elementAt.applyList(java.lang.Integer specialArg,
java.util.List<java.lang.Object> args) |
protected Optional<java.lang.Object> |
Math.divideAndRound.applyList(java.lang.Integer digitsAfterDecimalPoint,
java.util.List<java.lang.Object> args) |
protected Optional |
Lists.firstElement.applyList(java.util.List argList) |
protected Optional |
Lists.lastElement.applyList(java.util.List argList) |
protected Optional<java.lang.Object> |
Lists.toList.applyList(java.util.List input) |
protected Optional |
Lists.sort.applyList(java.util.List argList) |
protected Optional<java.lang.Object> |
Math.max.applyList(java.util.List argList) |
protected abstract Optional<java.lang.Object> |
Function.BaseFunction.applyList(java.util.List<java.lang.Object> input) |
protected Optional<java.lang.Object> |
Function.SingleFunction.applyList(java.util.List<java.lang.Object> input) |
protected abstract Optional<java.lang.Object> |
Function.ListFunction.applyList(java.util.List<java.lang.Object> argList) |
protected Optional<java.lang.Object> |
Math.min.applyList(java.util.List<java.lang.Object> argList) |
protected Optional<java.lang.Object> |
Math.divide.applyList(java.util.List<java.lang.Object> argList) |
protected Optional<java.lang.Object> |
Math.avg.applyList(java.util.List<java.lang.Object> argList) |
protected Optional<java.lang.Object> |
Math.intSum.applyList(java.util.List<java.lang.Object> argIntList) |
protected Optional<java.lang.Object> |
Math.doubleSum.applyList(java.util.List<java.lang.Object> argDoubleList) |
protected Optional<java.lang.Object> |
Math.longSum.applyList(java.util.List<java.lang.Object> argLongList) |
protected Optional<java.lang.Object> |
Math.intSubtract.applyList(java.util.List<java.lang.Object> argIntList) |
protected Optional<java.lang.Object> |
Math.doubleSubtract.applyList(java.util.List<java.lang.Object> argDoubleList) |
protected Optional<java.lang.Object> |
Math.longSubtract.applyList(java.util.List<java.lang.Object> argLongList) |
protected Optional<java.lang.Object> |
Strings.concat.applyList(java.util.List<java.lang.Object> argList) |
protected Optional<java.lang.Object> |
Strings.substring.applyList(java.util.List<java.lang.Object> argList) |
protected Optional<java.lang.Object> |
Function.ArgDrivenSingleFunction.applyList(S specialArg,
java.util.List<java.lang.Object> input) |
protected abstract Optional<java.lang.Object> |
Function.ArgDrivenListFunction.applyList(S specialArg,
java.util.List<java.lang.Object> args) |
protected abstract Optional<java.lang.Object> |
Function.ArgDrivenFunction.applyList(SOURCE specialArg,
java.util.List<java.lang.Object> args) |
protected Optional<java.lang.Object> |
Strings.join.applyList(java.lang.String specialArg,
java.util.List<java.lang.Object> args) |
protected Optional<java.lang.Object> |
Strings.leftPad.applyList(java.lang.String source,
java.util.List<java.lang.Object> args) |
protected Optional<java.lang.Object> |
Strings.rightPad.applyList(java.lang.String source,
java.util.List<java.lang.Object> args) |
protected abstract Optional<T> |
Function.BaseFunction.applySingle(java.lang.Object arg) |
protected abstract Optional<T> |
Function.SingleFunction.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Object> |
Function.ListFunction.applySingle(java.lang.Object arg) |
protected abstract Optional<T> |
Function.SquashFunction.applySingle(java.lang.Object arg) |
protected Optional<java.util.List> |
Lists.toList.applySingle(java.lang.Object arg) |
protected Optional |
Lists.sort.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Object> |
Math.max.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Object> |
Math.min.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Number> |
Math.abs.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Integer> |
Objects.toInteger.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Long> |
Objects.toLong.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Double> |
Objects.toDouble.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Boolean> |
Objects.toBoolean.applySingle(java.lang.Object arg) |
protected Optional<java.lang.String> |
Objects.toString.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Object> |
Objects.squashNulls.applySingle(java.lang.Object arg) |
protected Optional<java.lang.Object> |
Objects.recursivelySquashNulls.applySingle(java.lang.Object arg) |
protected Optional<java.lang.String> |
Strings.toLowerCase.applySingle(java.lang.Object arg) |
protected Optional<java.lang.String> |
Strings.toUpperCase.applySingle(java.lang.Object arg) |
protected Optional<java.lang.String> |
Strings.trim.applySingle(java.lang.Object arg) |
protected abstract Optional<R> |
Function.ArgDrivenSingleFunction.applySingle(S specialArg,
java.lang.Object arg) |
protected Optional<java.lang.Object> |
Function.ArgDrivenListFunction.applySingle(S specialArg,
java.lang.Object arg) |
protected abstract Optional<RETTYPE> |
Function.ArgDrivenFunction.applySingle(SOURCE specialArg,
java.lang.Object arg) |
protected Optional<java.util.List> |
Strings.split.applySingle(java.lang.String separator,
java.lang.Object source) |
static Optional<java.lang.Double> |
Math.avg(java.util.List<java.lang.Object> args)
Given a list of numbers, returns their avg as double
any value in the list that is not a valid number is ignored
avg(2,"2","abc") == Optional.of(2.0)
|
static Optional<java.lang.Double> |
Math.divide(java.util.List<java.lang.Object> argList) |
static Optional<java.lang.Double> |
Math.divideAndRound(java.util.List<java.lang.Object> argList,
int digitsAfterDecimalPoint) |
static Optional<java.lang.Double> |
Math.doubleSubtract(java.util.List<java.lang.Object> argList) |
static Optional<java.lang.Double> |
Math.doubleSum(java.util.List<java.lang.Object> args) |
Optional<java.lang.Object> |
FunctionEvaluator.evaluate(Optional<java.lang.Object> inputOptional,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
abstract Optional<java.lang.Object> |
FunctionArg.evaluateArg(WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
Optional<java.lang.Object> |
FunctionArg.SelfLookupArg.evaluateArg(WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
Optional<java.lang.Object> |
FunctionArg.ContextLookupArg.evaluateArg(WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
Optional<java.lang.Object> |
FunctionArg.LiteralArg.evaluateArg(WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
private Optional<SOURCE> |
Function.ArgDrivenFunction.getSpecialArg(java.lang.Object[] args) |
static Optional<java.lang.Integer> |
Math.intSubtract(java.util.List<java.lang.Object> argList) |
static Optional<java.lang.Integer> |
Math.intSum(java.util.List<java.lang.Object> args) |
static Optional<java.lang.Long> |
Math.longSubtract(java.util.List<java.lang.Object> argList) |
static Optional<java.lang.Long> |
Math.longSum(java.util.List<java.lang.Object> args) |
static Optional<java.lang.Number> |
Math.max(java.util.List<java.lang.Object> args)
Given a list of objects, returns the max value in its appropriate type
also, interprets String as Number and returns appropriately
max(1,2l,3d) == Optional.of(3d)
max(1,2l,"3.0") == Optional.of(3.0)
max("a", "b", "c") == Optional.empty()
max([]) == Optional.empty()
|
static Optional<java.lang.Number> |
Math.min(java.util.List<java.lang.Object> args)
Given a list of objects, returns the min value in its appropriate type
also, interprets String as Number and returns appropriately
min(1d,2l,3) == Optional.of(1d)
min("1.0",2l,d) == Optional.of(1.0)
min("a", "b", "c") == Optional.empty()
min([]) == Optional.empty()
|
private static Optional<java.lang.Object> |
Strings.padString(boolean leftPad,
java.lang.String source,
java.util.List<java.lang.Object> args) |
static Optional<java.lang.Boolean> |
Objects.toBoolean(java.lang.Object arg)
Returns boolean value of argument, if possible, wrapped in Optional
Interprets Strings "true" & "false" as boolean
|
static Optional<java.lang.Double> |
Objects.toDouble(java.lang.Object arg)
Returns double value of argument, if possible, wrapped in Optional
Interprets String as Number
|
static Optional<java.lang.Integer> |
Objects.toInteger(java.lang.Object arg)
Returns int value of argument, if possible, wrapped in Optional
Interprets String as Number
|
static Optional<java.lang.Long> |
Objects.toLong(java.lang.Object arg)
Returns long value of argument, if possible, wrapped in Optional
Interprets String as Number
|
static Optional<? extends java.lang.Number> |
Objects.toNumber(java.lang.Object arg)
Given any object, returns, if possible.
|
static Optional<java.lang.String> |
Objects.toString(java.lang.Object arg)
Returns String representation of argument, wrapped in Optional
for array argument, returns Arrays.toString()
for others, returns Objects.toString()
Note: this method does not return Optional.empty()
|
Modifier and Type | Method and Description |
---|---|
Optional<java.lang.Object> |
FunctionEvaluator.evaluate(Optional<java.lang.Object> inputOptional,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
Modifier and Type | Method and Description |
---|---|
private static Optional<java.lang.Object> |
ModifierLeafSpec.getFirstAvailable(java.util.List<FunctionEvaluator> functionEvaluatorList,
Optional<java.lang.Object> inputOptional,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
Modifier and Type | Method and Description |
---|---|
boolean |
ModifierSpec.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) |
void |
ModifierCompositeSpec.applyElement(java.lang.String inputKey,
Optional<java.lang.Object> inputOptional,
MatchedElement thisLevel,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
void |
ModifierLeafSpec.applyElement(java.lang.String inputKey,
Optional<java.lang.Object> inputOptional,
MatchedElement thisLevel,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
protected abstract void |
ModifierSpec.applyElement(java.lang.String key,
Optional<java.lang.Object> inputOptional,
MatchedElement thisLevel,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context)
Templatr specific override that is used in BaseSpec#apply(...)
The name is changed for easy identification during debugging
|
private static Optional<java.lang.Object> |
ModifierLeafSpec.getFirstAvailable(java.util.List<FunctionEvaluator> functionEvaluatorList,
Optional<java.lang.Object> inputOptional,
WalkedPath walkedPath,
java.util.Map<java.lang.String,java.lang.Object> context) |
Modifier and Type | Method and Description |
---|---|
Optional<DataType> |
ShiftrTraversr.handleFinalSet(TraversalStep traversalStep,
java.lang.Object tree,
java.lang.String key,
DataType data)
Do a Shift style insert :
1) if there is no data "there", then just set it
2) if there is already a list "there", just add the data to the list
3) if there something other than a list there, grab it and stuff it and the data into a list
and overwrite what is there with a list.
|
Modifier and Type | Method and Description |
---|---|
boolean |
ShiftrCompositeSpec.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.
|
boolean |
ShiftrLeafSpec.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 do the work of outputting data and return true.
|
Modifier and Type | Method and Description |
---|---|
Optional<DataType> |
SimpleTraversal.get(java.lang.Object tree) |
Optional<DataType> |
Traversr.get(java.lang.Object tree,
java.util.List<java.lang.String> keys)
Note : Calling this method MAY modify the tree object by adding new Maps and Lists as needed
for the traversal.
|
Optional<DataType> |
SimpleTraversr.handleFinalSet(TraversalStep traversalStep,
java.lang.Object tree,
java.lang.String key,
DataType data) |
abstract Optional<DataType> |
Traversr.handleFinalSet(TraversalStep traversalStep,
java.lang.Object tree,
java.lang.String key,
DataType data)
Allow subclasses to control how "sets" are done, if/once the traversal has made it to the the last element.
|
Optional<DataType> |
SimpleTraversr.handleIntermediateGet(TraversalStep traversalStep,
java.lang.Object tree,
java.lang.String key,
TraversalStep.Operation op)
Only make a new instance of a container object for SET, if there is nothing "there".
|
abstract Optional<DataType> |
Traversr.handleIntermediateGet(TraversalStep traversalStep,
java.lang.Object tree,
java.lang.String key,
TraversalStep.Operation op)
Allow subclasses to control how gets are handled for intermediate traversals.
|
Optional<DataType> |
SimpleTraversal.remove(java.lang.Object tree) |
Optional<DataType> |
Traversr.remove(java.lang.Object tree,
java.util.List<java.lang.String> keys)
Note : Calling this method MAY modify the tree object by adding new Maps and Lists as needed
for the traversal.
|
Optional<DataType> |
SimpleTraversal.set(java.lang.Object tree,
DataType data) |
Optional<DataType> |
Traversr.set(java.lang.Object tree,
java.util.List<java.lang.String> keys,
DataType data) |
Modifier and Type | Method and Description |
---|---|
Optional<DataType> |
ArrayTraversalStep.get(java.util.List<java.lang.Object> list,
java.lang.String key) |
Optional<DataType> |
AutoExpandArrayTraversalStep.get(java.util.List<java.lang.Object> list,
java.lang.String key) |
Optional<DataType> |
MapTraversalStep.get(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.String key) |
Optional<DataType> |
TraversalStep.get(StepType tree,
java.lang.String key)
Return the data for the key from the provided tree object.
|
Optional<DataType> |
ArrayTraversalStep.overwriteSet(java.util.List<java.lang.Object> list,
java.lang.String key,
DataType data) |
Optional<DataType> |
AutoExpandArrayTraversalStep.overwriteSet(java.util.List<java.lang.Object> list,
java.lang.String key,
DataType data) |
Optional<DataType> |
MapTraversalStep.overwriteSet(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.String key,
DataType data) |
Optional<DataType> |
TraversalStep.overwriteSet(StepType tree,
java.lang.String key,
DataType data)
Insert the data into the tree, overwriting any data that is there.
|
Optional<DataType> |
ArrayTraversalStep.remove(java.util.List<java.lang.Object> list,
java.lang.String key) |
Optional<DataType> |
AutoExpandArrayTraversalStep.remove(java.util.List<java.lang.Object> list,
java.lang.String key) |
Optional<DataType> |
MapTraversalStep.remove(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.String key) |
Optional<DataType> |
TraversalStep.remove(StepType tree,
java.lang.String key)
Remove and return the data for the key from the provided tree object.
|
Optional<DataType> |
BaseTraversalStep.traverse(StepType tree,
TraversalStep.Operation op,
java.util.Iterator<java.lang.String> keys,
DataType data) |
Optional<DataType> |
TraversalStep.traverse(StepType tree,
TraversalStep.Operation op,
java.util.Iterator<java.lang.String> keys,
DataType data)
The meat of the Traversal.
|