Class EnvironmentAccessor
java.lang.Object
org.springframework.context.expression.EnvironmentAccessor
- All Implemented Interfaces:
PropertyAccessor, TargetedAccessor
Read-only SpEL
PropertyAccessor that knows how to retrieve properties
of a Spring Environment instance.- Since:
- 3.1
- Author:
- Chris Beams
-
Constructor Summary
Constructors -
Method Summary
Modifier 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) Read-only: returnsfalse.Class<?>[]Get the set of classes for which this accessor should be called.read(EvaluationContext context, @Nullable Object target, String name) Access the given target object by resolving the given property name against the given target environment.voidCalled to write to a property on a specified target object.
-
Constructor Details
-
EnvironmentAccessor
public EnvironmentAccessor()
-
-
Method Details
-
getSpecificTargetClasses
Description copied from interface:TargetedAccessorGet the set of classes for which this accessor should be called.Returning
nullor an empty array indicates this is a generic accessor that can be called in an attempt to access an element on any type.- Specified by:
getSpecificTargetClassesin interfaceTargetedAccessor- Returns:
- an array of classes that this accessor is suitable for
(or
nullor an empty array if a generic accessor)
-
canRead
public boolean canRead(EvaluationContext context, @Nullable Object target, String name) throws AccessException Description copied from interface:PropertyAccessorCalled to determine if this property accessor is able to read 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 property accessor 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 Access the given target object by resolving the given property name against the given target environment.- 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 reading the property value
-
canWrite
public boolean canWrite(EvaluationContext context, @Nullable Object target, String name) throws AccessException Read-only: returnsfalse.- 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 property accessor 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 if
PropertyAccessor.canWrite(EvaluationContext, Object, 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
-