public
classCompositeELResolver
extends ELResolver
Overview
Inheritance
Members
Usage
Source
Books
SinceJSP 2.1
VersionNot specified.
Author(s)Not specified.
Maintains an ordered composite list of child ELResolvers.
Though only a single ELResolver is associated with an
ELContext, there are usually multiple resolvers considered
for any given variable or property resolution. ELResolvers
are combined together using a CompositeELResolver, to define
rich semantics for evaluating an expression.
For the getValue(ELContext, Object, Object) , getType(ELContext, Object, Object) , setValue(ELContext, Object, Object, Object) and
isReadOnly(ELContext, Object, Object) methods, an ELResolver is not
responsible for resolving all possible (base, property) pairs. In fact,
most resolvers will only handle a base of a single type.
To indicate that a resolver has successfully resolved a particular
(base, property) pair, it must set the propertyResolved
property of the ELContext to true. If it could
not handle the given pair, it must leave this property alone. The caller
must ignore the return value of the method if propertyResolved
is false.
The CompositeELResolver initializes the
ELContext.propertyResolved flag to false, and uses
it as a stop condition for iterating through its component resolvers.
ELResolvers.Though only a single
ELResolveris associated with anELContext, there are usually multiple resolvers considered for any given variable or property resolution.ELResolvers are combined together using aCompositeELResolver, to define rich semantics for evaluating an expression.For the getValue(ELContext, Object, Object) , getType(ELContext, Object, Object) , setValue(ELContext, Object, Object, Object) and isReadOnly(ELContext, Object, Object) methods, an
ELResolveris not responsible for resolving all possible (base, property) pairs. In fact, most resolvers will only handle abaseof a single type. To indicate that a resolver has successfully resolved a particular (base, property) pair, it must set thepropertyResolvedproperty of theELContexttotrue. If it could not handle the given pair, it must leave this property alone. The caller must ignore the return value of the method ifpropertyResolvedisfalse.The
CompositeELResolverinitializes theELContext.propertyResolvedflag tofalse, and uses it as a stop condition for iterating through its component resolvers.The
ELContext.propertyResolvedflag is not used for the design-time methods getFeatureDescriptors(ELContext, Object) and getCommonPropertyType(ELContext, Object) . Instead, results are collected and combined from all childELResolvers for these methods.