Package org.springframework.expression
Interface PropertyAccessor
- All Superinterfaces:
- TargetedAccessor
- All Known Subinterfaces:
- CompilablePropertyAccessor
- All Known Implementing Classes:
- BeanExpressionContextAccessor,- BeanFactoryAccessor,- DataBindingPropertyAccessor,- EnvironmentAccessor,- MapAccessor,- ReflectivePropertyAccessor
A property accessor is able to read from (and possibly write to) an object's
 properties.
 
This interface places no restrictions on what constitutes a property. Implementors are therefore free to access properties directly via fields, through getters, or in any other way they deem appropriate.
A property accessor can specify an array of
 target classes for which it should be
 called. See TargetedAccessor for details.
- Since:
- 3.0
- Author:
- Andy Clement
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptionbooleancanRead(EvaluationContext context, @Nullable Object target, String name) Called to determine if this property accessor is able to read a specified property on a specified target object.booleancanWrite(EvaluationContext context, @Nullable Object target, String name) Called to determine if this property accessor is able to write to a specified property on a specified target object.read(EvaluationContext context, @Nullable Object target, String name) Called to read a property from a specified target object.voidCalled to write to a property on a specified target object.Methods inherited from interface org.springframework.expression.TargetedAccessorgetSpecificTargetClasses
- 
Method Details- 
canReadboolean canRead(EvaluationContext context, @Nullable Object target, String name) throws AccessException Called to determine if this property accessor is able to read a specified property on a specified target object.- Parameters:
- context- the evaluation context in which the access is being attempted
- target- the target object upon which the property is being accessed
- name- the name of the property being accessed
- Returns:
- true if this property accessor is able to read the property
- Throws:
- AccessException- if there is any problem determining whether the property can be read
 
- 
readTypedValue read(EvaluationContext context, @Nullable Object target, String name) throws AccessException Called to read a property from a specified target object.Should only succeed if canRead(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String)also returnstrue.- Parameters:
- context- the evaluation context in which the access is being attempted
- target- the target object upon which the property is being accessed
- name- the name of the property being accessed
- Returns:
- a TypedValue object wrapping the property value read and a type descriptor for it
- Throws:
- AccessException- if there is any problem reading the property value
 
- 
canWriteboolean canWrite(EvaluationContext context, @Nullable Object target, String name) throws AccessException Called to determine if this property accessor is able to write to a specified property on a specified target object.- Parameters:
- context- the evaluation context in which the access is being attempted
- target- the target object upon which the property is being accessed
- name- the name of the property being accessed
- Returns:
- true if this property accessor is able to write to the property
- Throws:
- AccessException- if there is any problem determining whether the property can be written to
 
- 
writevoid write(EvaluationContext context, @Nullable Object target, String name, @Nullable Object newValue) throws AccessException Called to write to a property on a specified target object.Should only succeed if canWrite(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String)also returnstrue.- Parameters:
- context- the evaluation context in which the access is being attempted
- target- the target object upon which the property is being accessed
- name- the name of the property being accessed
- newValue- the new value for the property
- Throws:
- AccessException- if there is any problem writing to the property value
 
 
-