public class ScopedAttributeELResolver extends ELResolver
This resolver handles all variable resolutions (where base is null. It searches
PageContext.findAttribute() for a matching attribute. If not found, it will return null, or
in the case of setValue it will create a new attribute in the page scope with the given name.
ELResolverRESOLVABLE_AT_DESIGN_TIME, TYPE| Constructor and Description |
|---|
ScopedAttributeELResolver() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Class<java.lang.String> |
getCommonPropertyType(ELContext context,
java.lang.Object base)
If the base object is
null, returns String.class. |
java.util.Iterator<java.beans.FeatureDescriptor> |
getFeatureDescriptors(ELContext context,
java.lang.Object base)
If the base object is
null, returns an Iterator containing
FeatureDescriptor objects with information about each scoped attribute resolved by this resolver. |
java.lang.Class<java.lang.Object> |
getType(ELContext context,
java.lang.Object base,
java.lang.Object property)
If the base object is
null, returns Object.class to indicate that any type is valid to
set for a scoped attribute. |
java.lang.Object |
getValue(ELContext context,
java.lang.Object base,
java.lang.Object property)
If the base object is
null, searches the page, request, session and application scopes for an
attribute with the given name and returns it, or null if no attribute exists with the current name. |
boolean |
isReadOnly(ELContext context,
java.lang.Object base,
java.lang.Object property)
If the base object is
null, returns false to indicate that scoped attributes are never
read-only. |
void |
setValue(ELContext context,
java.lang.Object base,
java.lang.Object property,
java.lang.Object val)
If the base object is
null, sets an existing scoped attribute to the new value, or creates a new
scoped attribute if one does not exist by this name. |
convertToType, invokepublic java.lang.Object getValue(ELContext context, java.lang.Object base, java.lang.Object property)
null, searches the page, request, session and application scopes for an
attribute with the given name and returns it, or null if no attribute exists with the current name.
The propertyResolved property of the ELContext object must be set to true
by this resolver before returning if base is null. If this property is not true after
this method is called, the caller should ignore the return value.
getValue in class ELResolvercontext - The context of this evaluation.base - Only null is handled by this resolver. Other values will result in an immediate
return.property - The name of the scoped attribute to resolve.propertyResolved property of ELContext was set to true,
then the scoped attribute; otherwise undefined.java.lang.NullPointerException - if context is nullELException - if an exception was thrown while performing the property or variable resolution. The
thrown exception must be included as the cause property of this exception, if
available.public java.lang.Class<java.lang.Object> getType(ELContext context, java.lang.Object base, java.lang.Object property)
null, returns Object.class to indicate that any type is valid to
set for a scoped attribute.
The propertyResolved property of the ELContext object must be set to true
by this resolver before returning if base is null. If this property is not true after
this method is called, the caller should ignore the return value.
getType in class ELResolvercontext - The context of this evaluation.base - Only null is handled by this resolver. Other values will result in an immediate
return.property - The name of the scoped attribute to resolve.propertyResolved property of ELContext was set to true,
then Object.class; otherwise undefined.java.lang.NullPointerException - if context is nullELException - if an exception was thrown while performing the property or variable resolution. The
thrown exception must be included as the cause property of this exception, if
available.public void setValue(ELContext context, java.lang.Object base, java.lang.Object property, java.lang.Object val)
null, sets an existing scoped attribute to the new value, or creates a new
scoped attribute if one does not exist by this name.
If the provided attribute name matches the key of an attribute in page scope, request scope, session scope, or application scope, the corresponding attribute value will be replaced by the provided value. Otherwise, a new page scope attribute will be created with the given name and value.
The propertyResolved property of the ELContext object must be set to true
by this resolver before returning if base is null. If this property is not true after
this method is called, the caller should ignore the return value.
setValue in class ELResolvercontext - The context of this evaluation.base - Only null is handled by this resolver. Other values will result in an immediate
return.property - The name of the scoped attribute to set.val - The value for the scoped attribute.java.lang.NullPointerException - if context is null.ELException - if an exception was thrown while performing the property or variable resolution. The
thrown exception must be included as the cause property of this exception, if
available.public boolean isReadOnly(ELContext context, java.lang.Object base, java.lang.Object property)
null, returns false to indicate that scoped attributes are never
read-only.
The propertyResolved property of the ELContext object must be set to true
by this resolver before returning if base is null. If this property is not true after
this method is called, the caller should ignore the return value.
isReadOnly in class ELResolvercontext - The context of this evaluation.base - Only null is handled by this resolver. Other values will result in an immediate
return.property - The name of the scoped attribute.propertyResolved property of ELContext was set to true,
then false; otherwise undefined.java.lang.NullPointerException - if context is null.ELException - if an exception was thrown while performing the property or variable resolution. The
thrown exception must be included as the cause property of this exception, if
available.public java.util.Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext context, java.lang.Object base)
null, returns an Iterator containing
FeatureDescriptor objects with information about each scoped attribute resolved by this resolver.
Otherwise, returns null.
The Iterator returned must contain one instance of FeatureDescriptor for each
scoped attribute found in any scope. Each info object contains information about a single scoped attribute, and
is initialized as follows:
falsefalsetrueFeatureDescriptors:
ELResolver.TYPEELResolver.RESOLVABLE_AT_DESIGN_TIMEtrue.getFeatureDescriptors in class ELResolvercontext - The context of this evaluation.base - Only null is handled by this resolver. Other values will result in a
null return value.Iterator containing one FeatureDescriptor object for each scoped attribute,
or null if base is not null.FeatureDescriptorpublic java.lang.Class<java.lang.String> getCommonPropertyType(ELContext context, java.lang.Object base)
null, returns String.class. Otherwise, returns null.getCommonPropertyType in class ELResolvercontext - The context of this evaluation.base - Only null is handled by this resolver. Other values will result in a
null return value.null if base is not null; otherwise String.class.