public class ExpressionImpl extends java.lang.Object implements Expression
| Constructor and Description |
|---|
ExpressionImpl(LetExpression[] lets,
java.util.Map<java.lang.String,Function> functions,
ExpressionNode actual) |
| Modifier and Type | Method and Description |
|---|---|
com.fasterxml.jackson.databind.JsonNode |
apply(com.fasterxml.jackson.databind.JsonNode input)
Evaluate the expression on the given JSON input.
|
com.fasterxml.jackson.databind.JsonNode |
apply(java.util.Map<java.lang.String,com.fasterxml.jackson.databind.JsonNode> variables,
com.fasterxml.jackson.databind.JsonNode input)
Evaluate the expression on the given JSON input, with the given
predefined variables set.
|
com.fasterxml.jackson.databind.JsonNode |
apply(Scope scope,
com.fasterxml.jackson.databind.JsonNode input) |
void |
dump() |
void |
evaluateLetsOnly(Scope scope,
com.fasterxml.jackson.databind.JsonNode input)
This is used to initialize global variables when the
ExpressionImpl is a module.
|
java.util.List<ExpressionNode> |
getChildren() |
Function |
getFunction(java.lang.String name) |
int |
getStackFrameSize() |
boolean |
hasBody() |
void |
optimize() |
void |
prepare(PreparationContext ctx) |
void |
setGlobalModules(java.util.List<JstlFile> fileModules) |
java.lang.String |
toString() |
public ExpressionImpl(LetExpression[] lets, java.util.Map<java.lang.String,Function> functions, ExpressionNode actual)
public Function getFunction(java.lang.String name)
public boolean hasBody()
public com.fasterxml.jackson.databind.JsonNode apply(java.util.Map<java.lang.String,com.fasterxml.jackson.databind.JsonNode> variables,
com.fasterxml.jackson.databind.JsonNode input)
Expressionapply in interface Expressionvariables - Variable bindings visible inside the expression.input - The JSON input to evaluate the expression on.public com.fasterxml.jackson.databind.JsonNode apply(com.fasterxml.jackson.databind.JsonNode input)
Expressionapply in interface Expressioninput - The JSON input to evaluate the expression on.public com.fasterxml.jackson.databind.JsonNode apply(Scope scope, com.fasterxml.jackson.databind.JsonNode input)
public void dump()
public void prepare(PreparationContext ctx)
public void evaluateLetsOnly(Scope scope, com.fasterxml.jackson.databind.JsonNode input)
public void optimize()
public java.util.List<ExpressionNode> getChildren()
public java.lang.String toString()
toString in class java.lang.Objectpublic int getStackFrameSize()
public void setGlobalModules(java.util.List<JstlFile> fileModules)