Package org.zkoss.zel.impl.lang
Class EvaluationContext
- java.lang.Object
-
- org.zkoss.zel.ELContext
-
- org.zkoss.zel.impl.lang.EvaluationContext
-
public final class EvaluationContext extends ELContext
-
-
Constructor Summary
Constructors Constructor Description EvaluationContext(ELContext elContext, FunctionMapper fnMapper, VariableMapper varMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEvaluationListener(EvaluationListener listener)
Register an EvaluationListener with this ELContext.java.lang.Object
convertToType(java.lang.Object obj, java.lang.Class<?> type)
Coerce the supplied object to the requested type.void
enterLambdaScope(java.util.Map<java.lang.String,java.lang.Object> arguments)
Called when starting to evaluate a lambda expression so that the arguments are available to the EL context during evaluation.void
exitLambdaScope()
Called after evaluating a lambda expression to signal that the arguments are no longer required.java.lang.Object
getContext(java.lang.Class key)
Obtain the context object for the given key.ELContext
getELContext()
ELResolver
getELResolver()
java.util.List<EvaluationListener>
getEvaluationListeners()
Obtain the list of registered EvaluationListeners.FunctionMapper
getFunctionMapper()
ImportHandler
getImportHandler()
Obtain the ImportHandler for this ELContext, creating one if necessary.java.lang.Object
getLambdaArgument(java.lang.String name)
Obtain the value of the lambda argument with the given name.java.util.Locale
getLocale()
VariableMapper
getVariableMapper()
boolean
isLambdaArgument(java.lang.String name)
Determine if the specified name is recognised as the name of a lambda argument.boolean
isPropertyResolved()
void
notifyAfterEvaluation(java.lang.String expression)
Notify interested listeners that an expression has been evaluated.void
notifyBeforeEvaluation(java.lang.String expression)
Notify interested listeners that an expression will be evaluated.void
notifyPropertyResolved(java.lang.Object base, java.lang.Object property)
Notify interested listeners that a property has been resolved.void
putContext(java.lang.Class key, java.lang.Object contextObject)
Add an object to this EL context under the given key.void
setLocale(java.util.Locale locale)
void
setPropertyResolved(boolean resolved)
void
setPropertyResolved(java.lang.Object base, java.lang.Object property)
Mark the given property as resolved and notfy any interested listeners.
-
-
-
Constructor Detail
-
EvaluationContext
public EvaluationContext(ELContext elContext, FunctionMapper fnMapper, VariableMapper varMapper)
-
-
Method Detail
-
getELContext
public ELContext getELContext()
-
getFunctionMapper
public FunctionMapper getFunctionMapper()
- Specified by:
getFunctionMapper
in classELContext
-
getVariableMapper
public VariableMapper getVariableMapper()
- Specified by:
getVariableMapper
in classELContext
-
getContext
public java.lang.Object getContext(java.lang.Class key)
Description copied from class:ELContext
Obtain the context object for the given key.- Overrides:
getContext
in classELContext
- Parameters:
key
- The key of the required context object- Returns:
- The value of the context object associated with the given key
-
getELResolver
public ELResolver getELResolver()
- Specified by:
getELResolver
in classELContext
-
isPropertyResolved
public boolean isPropertyResolved()
- Overrides:
isPropertyResolved
in classELContext
-
putContext
public void putContext(java.lang.Class key, java.lang.Object contextObject)
Description copied from class:ELContext
Add an object to this EL context under the given key.- Overrides:
putContext
in classELContext
- Parameters:
key
- The key under which to store the objectcontextObject
- The object to add
-
setPropertyResolved
public void setPropertyResolved(boolean resolved)
- Overrides:
setPropertyResolved
in classELContext
-
setPropertyResolved
public void setPropertyResolved(java.lang.Object base, java.lang.Object property)
Description copied from class:ELContext
Mark the given property as resolved and notfy any interested listeners.- Overrides:
setPropertyResolved
in classELContext
- Parameters:
base
- The base object on which the property was foundproperty
- The property that was resolved
-
getImportHandler
public ImportHandler getImportHandler()
Description copied from class:ELContext
Obtain the ImportHandler for this ELContext, creating one if necessary. This method is not thread-safe.- Overrides:
getImportHandler
in classELContext
- Returns:
- the ImportHandler for this ELContext.
-
addEvaluationListener
public void addEvaluationListener(EvaluationListener listener)
Description copied from class:ELContext
Register an EvaluationListener with this ELContext.- Overrides:
addEvaluationListener
in classELContext
- Parameters:
listener
- The EvaluationListener to register
-
getEvaluationListeners
public java.util.List<EvaluationListener> getEvaluationListeners()
Description copied from class:ELContext
Obtain the list of registered EvaluationListeners.- Overrides:
getEvaluationListeners
in classELContext
- Returns:
- A list of the EvaluationListener registered with this ELContext
-
notifyBeforeEvaluation
public void notifyBeforeEvaluation(java.lang.String expression)
Description copied from class:ELContext
Notify interested listeners that an expression will be evaluated.- Overrides:
notifyBeforeEvaluation
in classELContext
- Parameters:
expression
- The expression that will be evaluated
-
notifyAfterEvaluation
public void notifyAfterEvaluation(java.lang.String expression)
Description copied from class:ELContext
Notify interested listeners that an expression has been evaluated.- Overrides:
notifyAfterEvaluation
in classELContext
- Parameters:
expression
- The expression that was evaluated
-
notifyPropertyResolved
public void notifyPropertyResolved(java.lang.Object base, java.lang.Object property)
Description copied from class:ELContext
Notify interested listeners that a property has been resolved.- Overrides:
notifyPropertyResolved
in classELContext
- Parameters:
base
- The object on which the property was resolvedproperty
- The property that was resolved
-
isLambdaArgument
public boolean isLambdaArgument(java.lang.String name)
Description copied from class:ELContext
Determine if the specified name is recognised as the name of a lambda argument.- Overrides:
isLambdaArgument
in classELContext
- Parameters:
name
- The name of the lambda argument- Returns:
true
if the name is recognised as the name of a lambda argument, otherwisefalse
-
getLambdaArgument
public java.lang.Object getLambdaArgument(java.lang.String name)
Description copied from class:ELContext
Obtain the value of the lambda argument with the given name.- Overrides:
getLambdaArgument
in classELContext
- Parameters:
name
- The name of the lambda argument- Returns:
- The value of the specified argument
-
enterLambdaScope
public void enterLambdaScope(java.util.Map<java.lang.String,java.lang.Object> arguments)
Description copied from class:ELContext
Called when starting to evaluate a lambda expression so that the arguments are available to the EL context during evaluation.- Overrides:
enterLambdaScope
in classELContext
- Parameters:
arguments
- The arguments in scope for the current lambda expression.
-
exitLambdaScope
public void exitLambdaScope()
Description copied from class:ELContext
Called after evaluating a lambda expression to signal that the arguments are no longer required.- Overrides:
exitLambdaScope
in classELContext
-
convertToType
public java.lang.Object convertToType(java.lang.Object obj, java.lang.Class<?> type)
Description copied from class:ELContext
Coerce the supplied object to the requested type.- Overrides:
convertToType
in classELContext
- Parameters:
obj
- The object to be coercedtype
- The type to which the object should be coerced- Returns:
- An instance of the requested type.
-
-