public abstract class ELContext extends Object
To evaluate an Expression
, an ELContext
must be
provided. The ELContext
holds:
ELResolver
that will be consulted
to resolve model objects and their propertiesFunctionMapper
that will be used
to resolve EL Functions.
VariableMapper
that will be used
to resolve EL Variables.
ELResolver
sThe 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.
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
.
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
,
JspContext
Constructor and Description |
---|
ELContext() |
Modifier and Type | Method and Description |
---|---|
Object |
getContext(Class key)
Returns the context object associated with the given key.
|
abstract ELResolver |
getELResolver()
Retrieves the
ELResolver associated with this context. |
abstract FunctionMapper |
getFunctionMapper()
Retrieves the
FunctionMapper associated with this
ELContext . |
Locale |
getLocale()
Get the
Locale stored by a previous invocation to
setLocale(java.util.Locale) . |
abstract VariableMapper |
getVariableMapper()
Retrieves the
VariableMapper associated with this
ELContext . |
boolean |
isPropertyResolved()
Returns whether an
ELResolver has successfully resolved a
given (base, property) pair. |
void |
putContext(Class key,
Object contextObject)
Associates a context object with this
ELContext . |
void |
setLocale(Locale locale)
Set the
Locale for this instance. |
void |
setPropertyResolved(boolean resolved)
Called to indicate that a
ELResolver has successfully
resolved a given (base, property) pair. |
public void setPropertyResolved(boolean resolved)
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.
resolved
- true if the property has been resolved, or false if
not.CompositeELResolver
public 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.
CompositeELResolver
public 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 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.
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 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.
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 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
.Copyright © 2018 JBoss by Red Hat. All rights reserved.