public final class EvaluationContext extends ELContext
Constructor and Description |
---|
EvaluationContext(ELContext elContext,
FunctionMapper fnMapper,
VariableMapper varMapper) |
Modifier and Type | Method and Description |
---|---|
void |
addEvaluationListener(EvaluationListener listener)
Registers an evaluation listener to the ELContext.
|
Object |
convertToType(Object obj,
Class<?> targetType)
Converts an object to a specific type.
|
void |
enterLambdaScope(Map<String,Object> args)
Installs a Lambda argument map, in preparation for the evaluation
of a Lambda expression.
|
void |
exitLambdaScope()
Exits the Lambda expression evaluation.
|
Object |
getContext(Class key)
Returns the context object associated with the given key.
|
ELContext |
getELContext() |
ELResolver |
getELResolver()
Retrieves the
ELResolver associated with this context. |
List<EvaluationListener> |
getEvaluationListeners()
Returns the list of registered evaluation listeners.
|
FunctionMapper |
getFunctionMapper()
Retrieves the
FunctionMapper associated with this
ELContext . |
ImportHandler |
getImportHandler()
Retrieves the
ImportHandler associated with this
ELContext . |
Object |
getLambdaArgument(String arg)
Retrieves the Lambda argument associated with a formal parameter.
|
VariableMapper |
getVariableMapper()
Retrieves the
VariableMapper associated with this
ELContext . |
boolean |
isLambdaArgument(String arg)
Inquires if the name is a LambdaArgument
|
boolean |
isPropertyResolved()
Returns whether an
ELResolver has successfully resolved a
given (base, property) pair. |
void |
notifyAfterEvaluation(String expr)
Notifies the listeners after an EL expression is evaluated
|
void |
notifyBeforeEvaluation(String expr)
Notifies the listeners before an EL expression is evaluated
|
void |
notifyPropertyResolved(Object base,
Object property)
Notifies the listeners when the (base, property) pair is resolved
|
void |
putContext(Class key,
Object contextObject)
Associates a context object with this
ELContext . |
void |
setPropertyResolved(boolean resolved)
Called to indicate that a
ELResolver has successfully
resolved a given (base, property) pair. |
void |
setPropertyResolved(Object base,
Object property)
Called to indicate that a
ELResolver has successfully
resolved a given (base, property) pair and to notify the
EvaluationListener s. |
public EvaluationContext(ELContext elContext, FunctionMapper fnMapper, VariableMapper varMapper)
public ELContext getELContext()
public FunctionMapper getFunctionMapper()
ELContext
FunctionMapper
associated with this
ELContext
.getFunctionMapper
in class ELContext
public VariableMapper getVariableMapper()
ELContext
VariableMapper
associated with this
ELContext
.getVariableMapper
in class ELContext
public Object getContext(Class key)
ELContext
The ELContext
maintains a collection of context objects
relevant to the evaluation of an expression. These context objects
are used by ELResolver
s. 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.
getContext
in class ELContext
key
- The unique identifier that was used to associate the
context object with this ELContext
.public ELResolver getELResolver()
ELContext
ELResolver
associated with this context.
The ELContext
maintains a reference to the
ELResolver
that will be consulted to resolve variables
and properties during an expression evaluation. This method
retrieves the reference to the resolver.
Once an ELContext
is constructed, the reference to the
ELResolver
associated with the context cannot be changed.
getELResolver
in class ELContext
public boolean isPropertyResolved()
ELContext
ELResolver
has successfully resolved a
given (base, property) pair.
The CompositeELResolver
checks this property to determine
whether it should consider or skip other component resolvers.
isPropertyResolved
in class ELContext
CompositeELResolver
public void putContext(Class key, Object contextObject)
ELContext
ELContext
.
The ELContext
maintains a collection of context objects
relevant to the evaluation of an expression. These context objects
are used by ELResolver
s. This method is used to
add a context object to that collection.
By convention, the contextObject
will be of the
type specified by the key
. However, this is not
required and the key is used strictly as a unique identifier.
putContext
in class ELContext
key
- The key used by an @{link ELResolver} to identify this
context object.contextObject
- The context object to add to the collection.public void setPropertyResolved(boolean resolved)
ELContext
ELResolver
has successfully
resolved a given (base, property) pair.
Use ELContext.setPropertyResolved(Object, Object)
if
resolved is true and to notify EvaluationListener
s.
The CompositeELResolver
checks this property to determine
whether it should consider or skip other component resolvers.
setPropertyResolved
in class ELContext
resolved
- true if the property has been resolved, or false if
not.CompositeELResolver
public void setPropertyResolved(Object base, Object property)
ELContext
ELResolver
has successfully
resolved a given (base, property) pair and to notify the
EvaluationListener
s.
The CompositeELResolver
checks this property to determine
whether it should consider or skip other component resolvers.
setPropertyResolved
in class ELContext
base
- The base objectproperty
- The property objectCompositeELResolver
public void addEvaluationListener(EvaluationListener listener)
ELContext
addEvaluationListener
in class ELContext
listener
- The listener to be added.public List<EvaluationListener> getEvaluationListeners()
ELContext
getEvaluationListeners
in class ELContext
public void notifyBeforeEvaluation(String expr)
ELContext
notifyBeforeEvaluation
in class ELContext
expr
- The EL expression string to be evaluatedpublic void notifyAfterEvaluation(String expr)
ELContext
notifyAfterEvaluation
in class ELContext
expr
- The EL expression string that has been evaluatedpublic void notifyPropertyResolved(Object base, Object property)
ELContext
notifyPropertyResolved
in class ELContext
base
- The base objectproperty
- The property Objectpublic boolean isLambdaArgument(String arg)
ELContext
isLambdaArgument
in class ELContext
arg
- A possible Lambda formal parameter namepublic Object getLambdaArgument(String arg)
ELContext
getLambdaArgument
in class ELContext
arg
- The formal parameter for the Lambda argumentpublic void enterLambdaScope(Map<String,Object> args)
ELContext
enterLambdaScope
in class ELContext
args
- The Lambda arguments mappublic void exitLambdaScope()
ELContext
exitLambdaScope
in class ELContext
public Object convertToType(Object obj, Class<?> targetType)
ELContext
ELResolver
handles this conversion, it is used. Otherwise
the standard coercions is applied.
An ELException
is thrown if an error occurs during
the conversion.
convertToType
in class ELContext
obj
- The object to convert.targetType
- The target type for the conversion.public ImportHandler getImportHandler()
ELContext
ImportHandler
associated with this
ELContext
.getImportHandler
in class ELContext
Copyright © 2016. All rights reserved.