Class EvaluationContext
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ELContextprivate final FunctionMapperprivate final VariableMapper -
Constructor Summary
ConstructorsConstructorDescriptionEvaluationContext(ELContext elContext, FunctionMapper fnMapper, VariableMapper varMapper) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddEvaluationListener(EvaluationListener listener) Registers an evaluation listener to the ELContext.convertToType(Object obj, Class<?> targetType) Converts an object to a specific type.voidenterLambdaScope(Map<String, Object> args) Installs a Lambda argument map, in preparation for the evaluation of a Lambda expression.voidExits the Lambda expression evaluation.getContext(Class key) Returns the context object associated with the given key.Retrieves theELResolverassociated with this context.Returns the list of registered evaluation listeners.Retrieves theFunctionMapperassociated with thisELContext.Retrieves theImportHandlerassociated with thisELContext.getLambdaArgument(String arg) Retrieves the Lambda argument associated with a formal parameter.Retrieves theVariableMapperassociated with thisELContext.booleanisLambdaArgument(String arg) Inquires if the name is a LambdaArgumentbooleanReturns whether anELResolverhas successfully resolved a given (base, property) pair.voidnotifyAfterEvaluation(String expr) Notifies the listeners after an Jakarta Expression Language expression is evaluatedvoidnotifyBeforeEvaluation(String expr) Notifies the listeners before an Jakarta Expression Language expression is evaluatedvoidnotifyPropertyResolved(Object base, Object property) Notifies the listeners when the (base, property) pair is resolvedvoidputContext(Class key, Object contextObject) Associates a context object with thisELContext.voidsetPropertyResolved(boolean resolved) Called to indicate that aELResolverhas successfully resolved a given (base, property) pair.voidsetPropertyResolved(Object base, Object property) Called to indicate that aELResolverhas successfully resolved a given (base, property) pair and to notify theEvaluationListeners.
-
Field Details
-
elContext
-
fnMapper
-
varMapper
-
-
Constructor Details
-
EvaluationContext
-
-
Method Details
-
getELContext
-
getFunctionMapper
Description copied from class:ELContextRetrieves theFunctionMapperassociated with thisELContext.- Specified by:
getFunctionMapperin classELContext- Returns:
- The function mapper to be consulted for the resolution of Jakarta Expression Language functions.
-
getVariableMapper
Description copied from class:ELContextRetrieves theVariableMapperassociated with thisELContext.- Specified by:
getVariableMapperin classELContext- Returns:
- The variable mapper to be consulted for the resolution of Jakarta Expression Language variables.
-
getContext
Description copied from class:ELContextReturns the context object associated with the given key.The
ELContextmaintains a collection of context objects relevant to the evaluation of an expression. These context objects are used byELResolvers. This method is used to retrieve the context with the given key from the collection.By convention, the object returned will be of the type specified by the
key. However, this is not required and the key is used strictly as a unique identifier.- Overrides:
getContextin classELContext- Parameters:
key- The unique identifier that was used to associate the context object with thisELContext.- Returns:
- The context object associated with the given key, or null if no such context was found.
-
getELResolver
Description copied from class:ELContextRetrieves theELResolverassociated with this context.The
ELContextmaintains a reference to theELResolverthat will be consulted to resolve variables and properties during an expression evaluation. This method retrieves the reference to the resolver.Once an
ELContextis constructed, the reference to theELResolverassociated with the context cannot be changed.- Specified by:
getELResolverin classELContext- Returns:
- The resolver to be consulted for variable and property resolution during expression evaluation.
-
isPropertyResolved
public boolean isPropertyResolved()Description copied from class:ELContextReturns whether anELResolverhas successfully resolved a given (base, property) pair.The
CompositeELResolverchecks this property to determine whether it should consider or skip other component resolvers.- Overrides:
isPropertyResolvedin classELContext- Returns:
- true if the property has been resolved, or false if not.
- See Also:
-
putContext
Description copied from class:ELContextAssociates a context object with thisELContext.The
ELContextmaintains a collection of context objects relevant to the evaluation of an expression. These context objects are used byELResolvers. This method is used to add a context object to that collection.By convention, the
contextObjectwill be of the type specified by thekey. However, this is not required and the key is used strictly as a unique identifier.- Overrides:
putContextin classELContext- Parameters:
key- The key used by an @{link ELResolver} to identify this context object.contextObject- The context object to add to the collection.
-
setPropertyResolved
public void setPropertyResolved(boolean resolved) Description copied from class:ELContextCalled to indicate that aELResolverhas successfully resolved a given (base, property) pair. UseELContext.setPropertyResolved(Object, Object)if resolved is true and to notifyEvaluationListeners.The
CompositeELResolverchecks this property to determine whether it should consider or skip other component resolvers.- Overrides:
setPropertyResolvedin classELContext- Parameters:
resolved- true if the property has been resolved, or false if not.- See Also:
-
setPropertyResolved
Description copied from class:ELContextCalled to indicate that aELResolverhas successfully resolved a given (base, property) pair and to notify theEvaluationListeners.The
CompositeELResolverchecks this property to determine whether it should consider or skip other component resolvers.- Overrides:
setPropertyResolvedin classELContext- Parameters:
base- The base objectproperty- The property object- See Also:
-
addEvaluationListener
Description copied from class:ELContextRegisters an evaluation listener to the ELContext.- Overrides:
addEvaluationListenerin classELContext- Parameters:
listener- The listener to be added.
-
getEvaluationListeners
Description copied from class:ELContextReturns the list of registered evaluation listeners.- Overrides:
getEvaluationListenersin classELContext- Returns:
- The list of registered evaluation listeners.
-
notifyBeforeEvaluation
Description copied from class:ELContextNotifies the listeners before an Jakarta Expression Language expression is evaluated- Overrides:
notifyBeforeEvaluationin classELContext- Parameters:
expr- The Jakarta Expression Language expression string to be evaluated
-
notifyAfterEvaluation
Description copied from class:ELContextNotifies the listeners after an Jakarta Expression Language expression is evaluated- Overrides:
notifyAfterEvaluationin classELContext- Parameters:
expr- The Jakarta Expression Language expression string that has been evaluated
-
notifyPropertyResolved
Description copied from class:ELContextNotifies the listeners when the (base, property) pair is resolved- Overrides:
notifyPropertyResolvedin classELContext- Parameters:
base- The base objectproperty- The property Object
-
isLambdaArgument
Description copied from class:ELContextInquires if the name is a LambdaArgument- Overrides:
isLambdaArgumentin classELContext- Parameters:
arg- A possible Lambda formal parameter name- Returns:
- true if arg is a LambdaArgument, false otherwise.
-
getLambdaArgument
Description copied from class:ELContextRetrieves the Lambda argument associated with a formal parameter. If the Lambda expression is nested within other Lambda expressions, the arguments for the current Lambda expression is first searched, and if not found, the arguments for the immediate nesting Lambda expression then searched, and so on.- Overrides:
getLambdaArgumentin classELContext- Parameters:
arg- The formal parameter for the Lambda argument- Returns:
- The object associated with formal parameter. Null if no object has been associated with the parameter.
-
enterLambdaScope
Description copied from class:ELContextInstalls a Lambda argument map, in preparation for the evaluation of a Lambda expression. The arguments in the map will be in scope during the evaluation of the Lambda expression.- Overrides:
enterLambdaScopein classELContext- Parameters:
args- The Lambda arguments map
-
exitLambdaScope
public void exitLambdaScope()Description copied from class:ELContextExits the Lambda expression evaluation. The Lambda argument map that was previously installed is removed.- Overrides:
exitLambdaScopein classELContext
-
convertToType
Description copied from class:ELContextConverts an object to a specific type. If a custom converter in theELResolverhandles this conversion, it is used. Otherwise the standard coercions is applied.An
ELExceptionis thrown if an error occurs during the conversion.- Overrides:
convertToTypein classELContext- Parameters:
obj- The object to convert.targetType- The target type for the conversion.- Returns:
- object converted to
targetType
-
getImportHandler
Description copied from class:ELContextRetrieves theImportHandlerassociated with thisELContext.- Overrides:
getImportHandlerin classELContext- Returns:
- The import handler to manage imports of classes and packages.
-