Class FluentParserContext
java.lang.Object
org.springframework.binding.expression.support.FluentParserContext
- All Implemented Interfaces:
ParserContext
Default implementation of the ParserContext interface that has a fluent API for building parser context attributes.
- Author:
- Keith Donald
-
Constructor Summary
ConstructorDescriptionCreate a new parser context, initially with all context attributes as null. -
Method Summary
Modifier and TypeMethodDescriptionConfigure the evaluationContextType attribute with the value provided.expectResult
(Class<?> resultType) Configure the expectedEvaluationResult attribute with the value provided.Class<?>
Returns the type of context object the parsed expression will evaluate in.Class<?>
Returns the expected type of object returned from evaluating the parsed expression.Returns additional expression variables or aliases that can be referenced during expression evaluation.boolean
Whether or not the expression being parsed is a template.template()
Sets a flag indicating the expression to parse is a template.variable
(ExpressionVariable variable) Add an expression variable that can be referenced by the expression.variables
(ExpressionVariable... variables) Add an array of expression variables that can be referenced by the expression.
-
Constructor Details
-
FluentParserContext
public FluentParserContext()Create a new parser context, initially with all context attributes as null. Post construction, call one or more of the fluent builder methods to configure this context.
-
-
Method Details
-
getEvaluationContextType
Description copied from interface:ParserContext
Returns the type of context object the parsed expression will evaluate in. An expression parser may use this value to install custom variable resolves for that particular type of context.- Specified by:
getEvaluationContextType
in interfaceParserContext
- Returns:
- the evaluation context type
-
getExpectedEvaluationResultType
Description copied from interface:ParserContext
Returns the expected type of object returned from evaluating the parsed expression. An expression parser may use this value to coerce an raw evaluation result before it is returned.- Specified by:
getExpectedEvaluationResultType
in interfaceParserContext
- Returns:
- the expected evaluation result type
-
getExpressionVariables
Description copied from interface:ParserContext
Returns additional expression variables or aliases that can be referenced during expression evaluation. An expression parser will register these variables for reference during evaluation.- Specified by:
getExpressionVariables
in interfaceParserContext
-
isTemplate
public boolean isTemplate()Description copied from interface:ParserContext
Whether or not the expression being parsed is a template. A template expression consists of literal text that can be mixed with evaluatable blocks. Some examples:Some literal text Hello #{name.firstName}! #{3 + 4}
- Specified by:
isTemplate
in interfaceParserContext
- Returns:
- true if the expression is a template, false otherwise
-
evaluate
Configure the evaluationContextType attribute with the value provided.- Parameters:
contextType
- the type of context object the parsed expression will evaluate in- Returns:
- this
-
expectResult
Configure the expectedEvaluationResult attribute with the value provided.- Parameters:
resultType
- the type of result object the parsed expression should return when evaluated- Returns:
- this
-
variable
Add an expression variable that can be referenced by the expression.- Parameters:
variable
- the expression variable- Returns:
- this
-
variables
Add an array of expression variables that can be referenced by the expression.- Parameters:
variables
- the expression variables- Returns:
- this
-
template
Sets a flag indicating the expression to parse is a template.- Returns:
- this
-