org.springframework.context.expression

Class MapAccessor

  • java.lang.Object
    • org.springframework.context.expression.MapAccessor
    • Constructor Detail

      • MapAccessor

        public MapAccessor()
    • Method Detail

      • getSpecificTargetClasses

        public java.lang.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
                               java.lang.Object target,
                               java.lang.String name)
                        throws AccessException
        Description copied from interface: PropertyAccessor
        Called to determine if a resolver instance is able to access 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 resolver is able to read the property
        Throws:
        AccessException - if there is any problem determining whether the property can be read
      • canWrite

        public boolean canWrite(EvaluationContext context,
                                @Nullable
                                java.lang.Object target,
                                java.lang.String name)
                         throws AccessException
        Description copied from interface: PropertyAccessor
        Called to determine if a resolver instance is able to write to a specified property on a specified target object.
        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
      • generateCode

        public void generateCode(java.lang.String propertyName,
                                 MethodVisitor mv,
                                 CodeFlow cf)
        Description copied from interface: CompilablePropertyAccessor
        Generate the bytecode the performs the access operation into the specified MethodVisitor using context information from the codeflow where necessary.
        Specified by:
        generateCode in interface CompilablePropertyAccessor
        Parameters:
        propertyName - the name of the property
        mv - the Asm method visitor into which code should be generated
        cf - the current state of the expression compiler