Class ELContext
- java.lang.Object
-
- org.camunda.bpm.engine.impl.javax.el.ELContext
-
- Direct Known Subclasses:
ProcessEngineElContext,SimpleContext
public abstract class ELContext extends java.lang.ObjectContext information for expression evaluation. To evaluate anExpression, an ELContext must be provided. The ELContext holds:- a reference to the base
ELResolverthat will be consulted to resolve model objects and their properties - a reference to
FunctionMapperthat will be used to resolve EL Functions. - a reference to
VariableMapperthat will be used to resolve EL Variables. - a collection of all the relevant context objects for use by ELResolvers
- state information during the evaluation of an expression, such as whether a property has been resolved yet
ELContextListenerso that applications and frameworks can ensure their own context objects are attached to any newly created ELContext. 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.
-
-
Constructor Summary
Constructors Constructor Description ELContext()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectgetContext(java.lang.Class<?> key)Returns the context object associated with the given key.abstract ELResolvergetELResolver()Retrieves the ELResolver associated with this context.abstract FunctionMappergetFunctionMapper()Retrieves the FunctionMapper associated with this ELContext.java.util.LocalegetLocale()Get the Locale stored by a previous invocation tosetLocale(Locale).abstract VariableMappergetVariableMapper()Retrieves the VariableMapper associated with this ELContext.booleanisPropertyResolved()Returns whether anELResolverhas successfully resolved a given (base, property) pair.voidputContext(java.lang.Class<?> key, java.lang.Object contextObject)Associates a context object with this ELContext.voidsetLocale(java.util.Locale locale)Set the Locale for this instance.voidsetPropertyResolved(boolean resolved)Called to indicate that a ELResolver has successfully resolved a given (base, property) pair.
-
-
-
Method Detail
-
getContext
public java.lang.Object getContext(java.lang.Class<?> key)
Returns the context object associated with the given 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.- Parameters:
key- The unique identifier that was used to associate the context object with this ELContext.- Returns:
- The context object associated with the given key, or null if no such context was found.
- Throws:
java.lang.NullPointerException- if key is null.
-
getELResolver
public abstract ELResolver getELResolver()
Retrieves the 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.- Returns:
- The resolver to be consulted for variable and property resolution during expression evaluation.
-
getFunctionMapper
public abstract FunctionMapper getFunctionMapper()
Retrieves the FunctionMapper associated with this ELContext.- Returns:
- The function mapper to be consulted for the resolution of EL functions.
-
getLocale
public java.util.Locale getLocale()
Get the Locale stored by a previous invocation tosetLocale(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.- Returns:
- The Locale in which this instance is operating. Used primarily for message localization.
-
getVariableMapper
public abstract VariableMapper getVariableMapper()
Retrieves the VariableMapper associated with this ELContext.- Returns:
- The variable mapper to be consulted for the resolution of EL variables.
-
isPropertyResolved
public boolean isPropertyResolved()
Returns whether anELResolverhas successfully resolved a given (base, property) pair. TheCompositeELResolverchecks this property to determine whether it should consider or skip other component resolvers.- Returns:
- The variable mapper to be consulted for the resolution of EL variables.
- See Also:
CompositeELResolver
-
putContext
public void putContext(java.lang.Class<?> key, java.lang.Object contextObject)Associates a context object with this 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.- Parameters:
key- The key used by anELResolverto identify this context object.contextObject- The context object to add to the collection.- Throws:
java.lang.NullPointerException- if key is null or contextObject is null.
-
setLocale
public void setLocale(java.util.Locale locale)
Set the 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( ).- Parameters:
locale- The Locale in which this instance is operating. Used primarily for message localization.
-
setPropertyResolved
public void setPropertyResolved(boolean resolved)
Called to indicate that a ELResolver has successfully resolved a given (base, property) pair. TheCompositeELResolverchecks this property to determine whether it should consider or skip other component resolvers.- Parameters:
resolved- true if the property has been resolved, or false if not.- See Also:
CompositeELResolver
-
-