Class PropertyResolver
PropertyResolver represents a pluggable mechanism for accessing a "property" of an underlying Java
object instance. Different PropertyResolver
implementations can support property resolution on instances of
different Java classes (such as introspection-based access to properties of a JavaBeans component, or
get()
and put()
calls on a java.util.Map
instance).
All implementations must respect the rules for JavaBeans component, java.util.Map
,
java.util.List
and array instances defined for each method but are allowed to add custom semantics for
other types.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract Class
Deprecated.Return thejava.lang.Class
representing the type of the specified index.abstract Class
Deprecated.Return thejava.lang.Class
representing the type of the specified property.abstract Object
Deprecated.Return the value at the specified index of the specified base object.abstract Object
Deprecated.Return the value of the specified property from the specified base object.abstract boolean
isReadOnly
(Object base, int index) Deprecated.Checks if the specified index is read-only.abstract boolean
isReadOnly
(Object base, Object property) Deprecated.Checks if the specified property is read-only.abstract void
Deprecated.Set the value at the specified index of the specified base object.abstract void
Deprecated.Set the specified value of the specified property on the specified base object.
-
Constructor Details
-
PropertyResolver
public PropertyResolver()Deprecated.
-
-
Method Details
-
getValue
public abstract Object getValue(Object base, Object property) throws EvaluationException, PropertyNotFoundException Deprecated.Return the value of the specified property from the specified base object.
For a bean base object, the property is coerced to a
String
and used as the property name. For all other base object types (e.g., a Map), the property is used without any coercing.- Parameters:
base
- The base object whose property value is to be returnedproperty
- The property to be returned- Returns:
- The property value, or
null
ifbase
orproperty
isnull
, or if the property doesn't exist and the base object is aMap
instance - Throws:
EvaluationException
- if an exception is thrown while getting the property value (the thrown exception must be included as thecause
property of this exception)PropertyNotFoundException
- if the specified property for a bean base object does not exist or is not readable
-
getValue
public abstract Object getValue(Object base, int index) throws EvaluationException, PropertyNotFoundException Deprecated.Return the value at the specified index of the specified base object.
- Parameters:
base
- The base object whose property value is to be returnedindex
- The index of the value to return- Returns:
- The property value, or
null
ifbase
isnull
, or if the index is out of bounds for the base object - Throws:
EvaluationException
- if an exception is thrown while getting the property value (the thrown exception must be included as thecause
property of this exception)PropertyNotFoundException
- if the index is out of bounds or ifbase
isnull
-
setValue
public abstract void setValue(Object base, Object property, Object value) throws EvaluationException, PropertyNotFoundException Deprecated.Set the specified value of the specified property on the specified base object.
For a bean base object, the property is coerced to a
String
and used as the property name. For all other base object types (e.g., a Map), the property is used without any coercing.- Parameters:
base
- The base object whose property value is to be setproperty
- The property to be setvalue
- The value of the property to be set- Throws:
EvaluationException
- if an exception is thrown while setting the property value (the thrown exception must be included as thecause
property of this exception)PropertyNotFoundException
- if the specified bean base object property does not exist or is not writeable, or ifbase
orname
isnull
-
setValue
public abstract void setValue(Object base, int index, Object value) throws EvaluationException, PropertyNotFoundException Deprecated.Set the value at the specified index of the specified base object.
- Parameters:
base
- The base object whose property value is to be setindex
- The index of the value to setvalue
- The value to be set- Throws:
EvaluationException
- if an exception is thrown while setting the property value (the thrown exception must be included as thecause
property of this exception)PropertyNotFoundException
- if the index is out of bounds or ifbase
isnull
-
isReadOnly
public abstract boolean isReadOnly(Object base, Object property) throws EvaluationException, PropertyNotFoundException Deprecated.Checks if the specified property is read-only.
For a bean base object, the property is coerced to a
String
and used as the property name. For all other base object types (e.g., a Map), the property is used without any coercing.- Parameters:
base
- The base object whose property is to be analyzedproperty
- The property to be analyzed- Returns:
true
if the specified property of the specified base object is known to be immutable; otherwisefalse
- Throws:
EvaluationException
- if an exception is thrown while testing the property (the thrown exception must be included as thecause
property of this exception)PropertyNotFoundException
- if the specified bean base object property does not exist or ifbase
orproperty
isnull
-
isReadOnly
public abstract boolean isReadOnly(Object base, int index) throws EvaluationException, PropertyNotFoundException Deprecated.Checks if the specified index is read-only.
- Parameters:
base
- The base object whose property is to be analyzedindex
- The index of the value whose type is to be returned- Returns:
true
if the value at the specified index of the specified base object is known to be immutable; otherwise,false
- Throws:
EvaluationException
- if an exception is thrown while testing the property (the thrown exception must be included as thecause
property of this exception)PropertyNotFoundException
- if the index is out of bounds or ifbase
isnull
-
getType
public abstract Class getType(Object base, Object property) throws EvaluationException, PropertyNotFoundException Deprecated.Return the
java.lang.Class
representing the type of the specified property. An instance of any Object of that type my be set as the value of that property, as long as the property is not read-only. The actual value of the property, if non-null, is guaranteed to be an instance of this type, or an instance of a subclass of this type. This method is also useful for discovering the type of Objects that may be set as the value of the property.For a bean base object, the property is coerced to a
String
and used as the property name. For all other base object types (e.g., a Map), the property is used without any coercing.- Parameters:
base
- The base object whose property is to be analyzedproperty
- The property to be analyzed- Returns:
- the
java.lang.Class
representing the type of the specified property of the specified base object, if it can be determined; otherwisenull
- Throws:
EvaluationException
- if an exception is thrown while testing the property (the thrown exception must be included as thecause
property of this exception)PropertyNotFoundException
- if the specified bean base object property does not exist or ifbase
orproperty
isnull
-
getType
public abstract Class getType(Object base, int index) throws EvaluationException, PropertyNotFoundException Deprecated.Return the
java.lang.Class
representing the type of the specified index.- Parameters:
base
- The base object whose property is to be analyzedindex
- The index of the value whose type is to be returned- Returns:
- The
java.lang.Class
representing the type of value at the specified index of the specified base object, if it can be determined; otherwisenull
- Throws:
EvaluationException
- if an exception is thrown while testing the property (the thrown exception must be included as thecause
property of this exception)PropertyNotFoundException
- if the index is out of bounds or ifbase
isnull
-
ELResolver
.