Class EnvironmentAccessor

java.lang.Object
org.springframework.context.expression.EnvironmentAccessor
All Implemented Interfaces:
PropertyAccessor

public class EnvironmentAccessor extends Object implements PropertyAccessor
Read-only EL property accessor that knows how to retrieve keys of a Spring Environment instance.
Since:
3.1
Author:
Chris Beams
  • Constructor Details

    • EnvironmentAccessor

      public EnvironmentAccessor()
  • Method Details

    • getSpecificTargetClasses

      public Class<?>[] getSpecificTargetClasses()
      Description copied from interface: PropertyAccessor
      Return an array of classes for which this resolver should be called.

      Returning null indicates this is a general resolver that can be called in an attempt to resolve a property on any type.

      Specified by:
      getSpecificTargetClasses in interface PropertyAccessor
      Returns:
      an array of classes that this resolver is suitable for (or null if a general resolver)
    • canRead

      public boolean canRead(EvaluationContext context, @Nullable Object target, String name) throws AccessException
      Can read any Environment, thus always returns true.
      Specified by:
      canRead in interface PropertyAccessor
      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
      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:
      read in interface PropertyAccessor
      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 accessing the property value
    • canWrite

      public boolean canWrite(EvaluationContext context, @Nullable Object target, String name) throws AccessException
      Read-only: returns false.
      Specified by:
      canWrite in interface PropertyAccessor
      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 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
      Read-only: no-op.
      Specified by:
      write in interface PropertyAccessor
      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