public abstract class ELContext extends Object
To parse or evaluate an Expression, an ELContext
 must be provided.  The ELContext holds:
 
FunctionMapper that will be used
       to resolve EL Functions.  This is used only in parsing.VariableMapper that will be used
       to resolve EL Variables.  This is used only in parsing.ELResolver that will be consulted
       to resolve model objects and their propertiesELResolversImportHandler that will be consulted to
       resolve classes that have been importedLambdaExpressionsThe collection of context objects is necessary because each 
 ELResolver may need access to a different context object.
 For example, JSP and Faces resolvers need access to a 
 JspContext and a
 FacesContext, respectively.
When used in a web container, the creation of
 ELContext objects is controlled through 
 the underlying technology.  For example, in JSP the
 JspContext.getELContext() factory method is used.
 Some technologies provide the ability to add an ELContextListener
 so that applications and frameworks can ensure their own context objects
 are attached to any newly created ELContext.
When used in a stand-alone environment, StandardELContext
 provides a default ELContext, which is managed and modified
 by ELManager.
 
Because it stores state during expression evaluation, an 
 ELContext object is not thread-safe.  Care should be taken
 to never share an ELContext instance between two or more 
 threads.
ELContextListener, 
ELContextEvent, 
ELResolver, 
FunctionMapper, 
VariableMapper, 
ImportHandler, 
LambdaExpression, 
StandardELContext, 
JspContext| Constructor and Description | 
|---|
| ELContext() | 
| 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. | 
| abstract ELResolver | getELResolver()Retrieves the  ELResolverassociated with this context. | 
| List<EvaluationListener> | getEvaluationListeners()Returns the list of registered evaluation listeners. | 
| abstract FunctionMapper | getFunctionMapper()Retrieves the  FunctionMapperassociated with thisELContext. | 
| ImportHandler | getImportHandler()Retrieves the  ImportHandlerassociated with thisELContext. | 
| Object | getLambdaArgument(String arg)Retrieves the Lambda argument associated with a formal parameter. | 
| Locale | getLocale()Get the  Localestored by a previous invocation tosetLocale(java.util.Locale). | 
| abstract VariableMapper | getVariableMapper()Retrieves the  VariableMapperassociated with thisELContext. | 
| boolean | isLambdaArgument(String arg)Inquires if the name is a LambdaArgument | 
| boolean | isPropertyResolved()Returns whether an  ELResolverhas 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 | setLocale(Locale locale)Sets the  Localefor this instance. | 
| void | setPropertyResolved(boolean resolved)Called to indicate that a  ELResolverhas successfully
 resolved a given (base, property) pair. | 
| void | setPropertyResolved(Object base,
                   Object property)Called to indicate that a  ELResolverhas successfully
 resolved a given (base, property) pair and to notify theEvaluationListeners. | 
public void setPropertyResolved(boolean resolved)
ELResolver has successfully
 resolved a given (base, property) pair.
 Use setPropertyResolved(Object, Object) if
 resolved is true and to notify EvaluationListeners.
 The CompositeELResolver checks this property to determine
 whether it should consider or skip other component resolvers.
resolved - true if the property has been resolved, or false if
     not.CompositeELResolverpublic void setPropertyResolved(Object base, Object property)
ELResolver has successfully
 resolved a given (base, property) pair and to notify the
 EvaluationListeners.
 The CompositeELResolver checks this property to determine
 whether it should consider or skip other component resolvers.
base - The base objectproperty - The property objectCompositeELResolverpublic boolean isPropertyResolved()
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.
CompositeELResolverpublic void putContext(Class key, Object contextObject)
ELContext.
 The ELContext maintains a collection of context objects
 relevant to the evaluation of an expression. These context objects
 are used by ELResolvers.  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.
key - The key used by an @{link ELResolver} to identify this
     context object.contextObject - The context object to add to the collection.NullPointerException - if key is null or contextObject is null.public Object getContext(Class key)
The ELContext maintains a collection of context objects
 relevant to the evaluation of an expression. These context objects
 are used by ELResolvers.  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.
key - The unique identifier that was used to associate the
     context object with this ELContext.NullPointerException - if key is null.public abstract ELResolver getELResolver()
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.
public ImportHandler getImportHandler()
ImportHandler associated with this
 ELContext.public abstract FunctionMapper getFunctionMapper()
FunctionMapper associated with this 
 ELContext.public Locale getLocale()
Locale stored by a previous invocation to 
 setLocale(java.util.Locale).  If this method returns non null,
 this Locale must be used for all localization needs 
 in the implementation.  The Locale must not be cached
 to allow for applications that change Locale dynamically.Locale in which this instance is operating.
 Used primarily for message localization.public void setLocale(Locale locale)
Locale for this instance.  This method may be 
 called by the party creating the instance, such as JavaServer
 Faces or JSP, to enable the EL implementation to provide localized
 messages to the user.  If no Locale is set, the implementation
 must use the locale returned by Locale.getDefault( ).public abstract VariableMapper getVariableMapper()
VariableMapper associated with this 
 ELContext.public void addEvaluationListener(EvaluationListener listener)
listener - The listener to be added.public List<EvaluationListener> getEvaluationListeners()
public void notifyBeforeEvaluation(String expr)
expr - The EL expression string to be evaluatedpublic void notifyAfterEvaluation(String expr)
expr - The EL expression string that has been evaluatedpublic void notifyPropertyResolved(Object base, Object property)
base - The base objectproperty - The property Objectpublic boolean isLambdaArgument(String arg)
arg - A possible Lambda formal parameter namepublic Object getLambdaArgument(String arg)
arg - The formal parameter for the Lambda argumentpublic void enterLambdaScope(Map<String,Object> args)
args - The Lambda arguments mappublic void exitLambdaScope()
public Object convertToType(Object obj, Class<?> targetType)
ELResolver handles this conversion, it is used.  Otherwise
 the standard coercions is applied.
 An ELException is thrown if an error occurs during
 the conversion.
obj - The object to convert.targetType - The target type for the conversion.ELException - thrown if errors occur.Copyright © 2017 JBoss by Red Hat. All rights reserved.