Class CompiledPath
java.lang.Object
com.jayway.jsonpath.internal.path.CompiledPath
- All Implemented Interfaces:
Path
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate static final org.slf4j.Loggerprivate final RootPathToken -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionevaluate(Object document, Object rootDocument, Configuration configuration) Evaluates this pathevaluate(Object document, Object rootDocument, Configuration configuration, boolean forUpdate) Evaluates this pathgetRoot()private RootPathTokenIn the event the writer of the path referenced a function at the tail end of a scanner, augment the query such that the root node is the function and the parameter to the function is the scanner.booleanbooleanbooleantoString()
-
Field Details
-
logger
private static final org.slf4j.Logger logger -
root
-
isRootPath
private final boolean isRootPath
-
-
Constructor Details
-
CompiledPath
-
-
Method Details
-
isRootPath
public boolean isRootPath()- Specified by:
isRootPathin interfacePath- Returns:
- true id this path is starts with '$' and false if the path starts with '@'
-
invertScannerFunctionRelationship
In the event the writer of the path referenced a function at the tail end of a scanner, augment the query such that the root node is the function and the parameter to the function is the scanner. This way we maintain relative sanity in the path expression, functions either evaluate scalar values or arrays, they're not re-entrant nor should they maintain state, they do however take parameters.- Parameters:
path- this is our old root path which will become a parameter (assuming there's a scanner terminated by a function- Returns:
- A function with the scanner as input, or if this situation doesn't exist just the input path
-
evaluate
public EvaluationContext evaluate(Object document, Object rootDocument, Configuration configuration, boolean forUpdate) Description copied from interface:PathEvaluates this path- Specified by:
evaluatein interfacePath- Parameters:
document- the json document to apply the path onrootDocument- the root json document that started this evaluationconfiguration- configuration to useforUpdate- is this a read or a write operation- Returns:
- EvaluationContext containing results of evaluation
-
evaluate
public EvaluationContext evaluate(Object document, Object rootDocument, Configuration configuration) Description copied from interface:PathEvaluates this path -
isDefinite
public boolean isDefinite()- Specified by:
isDefinitein interfacePath- Returns:
- true id this path is definite
-
isFunctionPath
public boolean isFunctionPath()- Specified by:
isFunctionPathin interfacePath- Returns:
- true id this path is a function
-
toString
-
getRoot
-