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.
ELResolver
RESOLVABLE_AT_DESIGN_TIME, TYPE
Constructor and Description |
---|
ScopedAttributeELResolver() |
Modifier and Type | Method and Description |
---|---|
Class<String> |
getCommonPropertyType(ELContext context,
Object base)
If the base object is
null , returns
String.class . |
Iterator<FeatureDescriptor> |
getFeatureDescriptors(ELContext context,
Object base)
If the base object is
null , returns an
Iterator containing FeatureDescriptor objects
with information about each scoped attribute resolved by this
resolver. |
Class<Object> |
getType(ELContext context,
Object base,
Object property)
If the base object is
null , returns
Object.class to indicate that any type is valid to
set for a scoped attribute. |
Object |
getValue(ELContext context,
Object base,
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,
Object base,
Object property)
If the base object is
null , returns false
to indicate that scoped attributes are never read-only. |
void |
setValue(ELContext context,
Object base,
Object property,
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, invoke
public Object getValue(ELContext context, Object base, 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 ELResolver
context
- 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.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 Class<Object> getType(ELContext context, Object base, 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 ELResolver
context
- 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.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 void setValue(ELContext context, Object base, Object property, 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 ELResolver
context
- 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.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, Object base, 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 ELResolver
context
- 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.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 Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, 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:
false
false
true
FeatureDescriptor
s:
ELResolver.TYPE
- The current runtime type of the scoped attribute.ELResolver.RESOLVABLE_AT_DESIGN_TIME
- true
.getFeatureDescriptors
in class ELResolver
context
- 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
.FeatureDescriptor
public Class<String> getCommonPropertyType(ELContext context, Object base)
null
, returns
String.class
. Otherwise, returns null
.getCommonPropertyType
in class ELResolver
context
- 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
.Copyright © 1996-2017, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.