Class EnvironmentAccessor

    • Method Detail

      • 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,
                               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,
                               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,
                                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,
                          Object target,
                          String name,
                          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