public class ExpressionFactoryImpl extends ExpressionFactory
ExpressionFactory| Constructor and Description |
|---|
ExpressionFactoryImpl() |
ExpressionFactoryImpl(Properties properties) |
| Modifier and Type | Method and Description |
|---|---|
Object |
coerceToType(Object obj,
Class<?> type)
Coerces an object to a specific type according to the Jakarta Expression Language type conversion rules.
|
MethodExpression |
createMethodExpression(ELContext context,
String expression,
Class<?> expectedReturnType,
Class<?>[] expectedParamTypes)
Parses an expression into a
MethodExpression for later evaluation. |
ValueExpression |
createValueExpression(ELContext context,
String expression,
Class<?> expectedType)
Parses an expression into a
ValueExpression for later evaluation. |
ValueExpression |
createValueExpression(Object instance,
Class<?> expectedType)
Creates a ValueExpression that wraps an object instance.
|
Map<String,Method> |
getInitFunctionMap()
Retrieve a function map containing a pre-configured function mapping.
|
String |
getProperty(String key) |
ELResolver |
getStreamELResolver()
Retrieves an ELResolver that implements the operations in collections.
|
newInstance, newInstancepublic ExpressionFactoryImpl()
public ExpressionFactoryImpl(Properties properties)
public Object coerceToType(Object obj, Class<?> type)
ExpressionFactoryELResolvers are not considered.
An ELException is thrown if an error results from applying the conversion rules.
coerceToType in class ExpressionFactoryobj - The object to coerce.type - The target type for the coercion.targetTypepublic MethodExpression createMethodExpression(ELContext context, String expression, Class<?> expectedReturnType, Class<?>[] expectedParamTypes)
ExpressionFactoryMethodExpression for later evaluation. Use this method for expressions that refer
to methods.
If the expression is a String literal, a MethodExpression
is created, which when invoked, returns the String literal, coerced to expectedReturnType. An ELException is
thrown if expectedReturnType is void or if the coercion of the String literal to the expectedReturnType yields an
error (see Section "1.16 Type Conversion").
This method should perform syntactic validation of the expression. If in doing so it detects errors, it should raise
an ELException.
createMethodExpression in class ExpressionFactorycontext - The Jakarta Expression Language context used to parse the expression. The FunctionMapper
and VariableMapper stored in the ELContext are used to resolve functions and variables found in the
expression. They can be null, in which case functions or variables are not supported for this
expression. The object returned must invoke the same functions and access the same variable mappings regardless of
whether the mappings in the provided FunctionMapper and VariableMapper instances change
between calling ExpressionFactory.createMethodExpression() and any method on
MethodExpression. Note that within the EL, the ${} and #{} syntaxes are treated identically. This
includes the use of VariableMapper and FunctionMapper at expression creation time. Each is invoked if not null,
independent of whether the #{} or ${} syntax is used for the expression.expression - The expression to parseexpectedReturnType - The expected return type for the method to be found. After evaluating the expression, the
MethodExpression must check that the return type of the actual method matches this type. Passing in a
value of null indicates the caller does not care what the return type is, and the check is disabled.expectedParamTypes - The expected parameter types for the method to be found. Must be an array with no elements
if there are no parameters expected. It is illegal to pass null, unless the method is specified with
arguments in the Jakarta Expression Language expression, in which case these arguments are used for method selection,
and this parameter is ignored.public ValueExpression createValueExpression(ELContext context, String expression, Class<?> expectedType)
ExpressionFactoryValueExpression for later evaluation. Use this method for expressions that refer
to values.
This method should perform syntactic validation of the expression. If in doing so it detects errors, it should raise
an ELException.
createValueExpression in class ExpressionFactorycontext - The Jakarta Expression Language context used to parse the expression. The FunctionMapper
and VariableMapper stored in the ELContext are used to resolve functions and variables found in the
expression. They can be null, in which case functions or variables are not supported for this
expression. The object returned must invoke the same functions and access the same variable mappings regardless of
whether the mappings in the provided FunctionMapper and VariableMapper instances change
between calling ExpressionFactory.createValueExpression() and any method on
ValueExpression. Note that within Jakarta Expression Language, the ${} and #{} syntaxes are treated
identically. This includes the use of VariableMapper and FunctionMapper at expression creation time. Each is invoked
if not null, independent of whether the #{} or ${} syntax is used for the expression.expression - The expression to parseexpectedType - The type the result of the expression will be coerced to after evaluation.public ValueExpression createValueExpression(Object instance, Class<?> expectedType)
ExpressionFactory
This method can be used to pass any object as a ValueExpression. The wrapper ValueExpression is read only, and
returns the wrapped object via its getValue() method, optionally coerced.
createValueExpression in class ExpressionFactoryinstance - The object instance to be wrapped.expectedType - The type the result of the expression will be coerced to after evaluation. There will be no
coercion if it is Object.class,public ELResolver getStreamELResolver()
ExpressionFactory
This ELResolver resolves the method invocation on the pair (base, property) when
base is a Collection or a Map, and property is the name of the
operation.
See the specification document for detailed descriptions of these operators, their arguments, and return values.
getStreamELResolver in class ExpressionFactoryELResolver that implements the Query Operators.public Map<String,Method> getInitFunctionMap()
ExpressionFactorygetInitFunctionMap in class ExpressionFactoryCopyright © 2017–2019 Eclipse Foundation. All rights reserved.