Class BeanExpressionContextAccessor
java.lang.Object
org.springframework.context.expression.BeanExpressionContextAccessor
- All Implemented Interfaces:
PropertyAccessor
EL property accessor that knows how to traverse the beans and contextual objects
of a Spring
BeanExpressionContext.- Since:
- 3.0
- Author:
- Juergen Hoeller, Andy Clement
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanRead(EvaluationContext context, Object target, String name) Called to determine if a resolver instance is able to access a specified property on a specified target object.booleancanWrite(EvaluationContext context, Object target, String name) Called to determine if a resolver instance is able to write to a specified property on a specified target object.Class<?>[]Return an array of classes for which this resolver should be called.read(EvaluationContext context, Object target, String name) Called to read a property from a specified target object.voidwrite(EvaluationContext context, Object target, String name, Object newValue) Called to write to a property on a specified target object.
-
Constructor Details
-
BeanExpressionContextAccessor
public BeanExpressionContextAccessor()
-
-
Method Details
-
canRead
public boolean canRead(EvaluationContext context, @Nullable Object target, String name) throws AccessException Description copied from interface:PropertyAccessorCalled to determine if a resolver instance is able to access a specified property on a specified target object.- Specified by:
canReadin interfacePropertyAccessor- Parameters:
context- the evaluation context in which the access is being attemptedtarget- the target object upon which the property is being accessedname- the name of the property being accessed- Returns:
- true if this resolver is able to read the property
- Throws:
AccessException- if there is any problem determining whether the property can be read
-
read
public TypedValue read(EvaluationContext context, @Nullable Object target, String name) throws AccessException Description copied from interface:PropertyAccessorCalled to read a property from a specified target object. Should only succeed ifPropertyAccessor.canRead(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String)also returnstrue.- Specified by:
readin interfacePropertyAccessor- Parameters:
context- the evaluation context in which the access is being attemptedtarget- the target object upon which the property is being accessedname- 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 accessing the property value
-
canWrite
public boolean canWrite(EvaluationContext context, @Nullable Object target, String name) throws AccessException Description copied from interface:PropertyAccessorCalled to determine if a resolver instance is able to write to a specified property on a specified target object.- Specified by:
canWritein interfacePropertyAccessor- Parameters:
context- the evaluation context in which the access is being attemptedtarget- the target object upon which the property is being accessedname- the name of the property being accessed- Returns:
- true if this resolver is able to write to the property
- Throws:
AccessException- if there is any problem determining whether the property can be written to
-
write
public void write(EvaluationContext context, @Nullable Object target, String name, @Nullable Object newValue) throws AccessException Description copied from interface:PropertyAccessorCalled to write to a property on a specified target object. Should only succeed ifPropertyAccessor.canWrite(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String)also returnstrue.- Specified by:
writein interfacePropertyAccessor- Parameters:
context- the evaluation context in which the access is being attemptedtarget- the target object upon which the property is being accessedname- the name of the property being accessednewValue- the new value for the property- Throws:
AccessException- if there is any problem writing to the property value
-
getSpecificTargetClasses
Description copied from interface:PropertyAccessorReturn an array of classes for which this resolver should be called.Returning
nullindicates this is a general resolver that can be called in an attempt to resolve a property on any type.- Specified by:
getSpecificTargetClassesin interfacePropertyAccessor- Returns:
- an array of classes that this resolver is suitable for
(or
nullif a general resolver)
-