Class EnvironmentAccessor

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

public class EnvironmentAccessor extends Object implements PropertyAccessor
Read-only SpEL PropertyAccessor that knows how to retrieve properties 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: TargetedAccessor
      Get the set of classes for which this accessor should be called.

      Returning null or 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:
      getSpecificTargetClasses in interface TargetedAccessor
      Returns:
      an array of classes that this accessor is suitable for (or null or an empty array if a generic accessor)
    • canRead

      public boolean canRead(EvaluationContext context, @Nullable Object target, String name) throws AccessException
      Description copied from interface: PropertyAccessor
      Called to determine if this property accessor is able to read a specified property on a specified target object.
      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 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:
      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 reading 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 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: PropertyAccessor
      Called to write to a property on a specified target object.

      Should only succeed if PropertyAccessor.canWrite(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String) also returns true.

      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