public class Evaluator extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Evaluator.EvaluationStrategy |
| Modifier and Type | Field and Description |
|---|---|
protected static org.slf4j.Logger |
logger |
| Constructor and Description |
|---|
Evaluator(char expressionPrefix,
Set<String> allowedTopLevels,
List<Class<?>> functionLibraries)
Creates a new evaluator
|
| Modifier and Type | Method and Description |
|---|---|
Object |
evaluateExpression(String expression,
EvaluationContext context)
Evaluates a single expression, e.g.
|
Object |
evaluateExpression(String expression,
EvaluationContext context,
Evaluator.EvaluationStrategy strategy)
Evaluates a single expression, e.g.
|
EvaluatedTemplate |
evaluateTemplate(String template,
EvaluationContext context)
Evaluates a template string, e.g.
|
EvaluatedTemplate |
evaluateTemplate(String template,
EvaluationContext context,
boolean urlEncode)
Evaluates a template string, e.g.
|
EvaluatedTemplate |
evaluateTemplate(String template,
EvaluationContext context,
boolean urlEncode,
Evaluator.EvaluationStrategy strategy)
Evaluates a template string, e.g.
|
protected String |
resolveAvailable(org.antlr.v4.runtime.CommonTokenStream tokens,
EvaluationContext context)
Checks the token stream for context references and if there are missing references - substitutes available
references and returns a partially evaluated expression.
|
protected String |
resolveExpressionBlock(String expression,
EvaluationContext context,
boolean urlEncode,
Evaluator.EvaluationStrategy strategy,
List<String> errors)
Resolves an expression block found in the template, e.g.
|
public Evaluator(char expressionPrefix,
Set<String> allowedTopLevels,
List<Class<?>> functionLibraries)
expressionPrefix - the prefix for expressions, e.g. @allowedTopLevels - top-level context items allowed outside of parentheses, e.g. contact, flowfunctionLibraries - the function libraries to includepublic EvaluatedTemplate evaluateTemplate(String template, EvaluationContext context)
template - the template stringcontext - the evaluation contextpublic EvaluatedTemplate evaluateTemplate(String template, EvaluationContext context, boolean urlEncode)
template - the template stringcontext - the evaluation contexturlEncode - whether or not values should be URL encodedpublic EvaluatedTemplate evaluateTemplate(String template, EvaluationContext context, boolean urlEncode, Evaluator.EvaluationStrategy strategy)
template - the template stringcontext - the evaluation contexturlEncode - whether or not values should be URL encodedstrategy - the evaluation strategyprotected String resolveExpressionBlock(String expression, EvaluationContext context, boolean urlEncode, Evaluator.EvaluationStrategy strategy, List<String> errors)
public Object evaluateExpression(String expression, EvaluationContext context) throws EvaluationError
expression - the expression stringcontext - the evaluation contextEvaluationError - if an error occurs during evaluationpublic Object evaluateExpression(String expression, EvaluationContext context, Evaluator.EvaluationStrategy strategy) throws EvaluationError
expression - the expression stringcontext - the evaluation contextstrategy - the evaluation strategyEvaluationError - if an error occurs during evaluationprotected String resolveAvailable(org.antlr.v4.runtime.CommonTokenStream tokens, EvaluationContext context)
tokens - the token stream (all tokens fetched)context - the evaluation contextCopyright © 2015. All rights reserved.