Class DataBindingMethodResolver

java.lang.Object
org.springframework.expression.spel.support.ReflectiveMethodResolver
org.springframework.expression.spel.support.DataBindingMethodResolver
All Implemented Interfaces:
MethodResolver

public final class DataBindingMethodResolver extends ReflectiveMethodResolver
An MethodResolver variant for data binding purposes, using reflection to access instance methods on a given target object.

This accessor does not resolve static methods and also no technical methods on java.lang.Object or java.lang.Class. For unrestricted resolution, choose ReflectiveMethodResolver instead.

Since:
4.3.15
Author:
Juergen Hoeller
See Also:
  • Method Details

    • resolve

      @Nullable public MethodExecutor resolve(EvaluationContext context, Object targetObject, String name, List<TypeDescriptor> argumentTypes) throws AccessException
      Description copied from class: ReflectiveMethodResolver
      Locate a method on the type.

      There are three kinds of matches that might occur:

      1. An exact match where the types of the arguments match the types of the method.
      2. An inexact match where the types we are looking for are subtypes of those defined on the method.
      3. A match where we are able to convert the arguments into those expected by the method, according to the registered type converter.
      Specified by:
      resolve in interface MethodResolver
      Overrides:
      resolve in class ReflectiveMethodResolver
      Parameters:
      context - the current evaluation context
      targetObject - the object upon which the method is being called
      name - the name of the method
      argumentTypes - the types of arguments that the method must be able to handle
      Returns:
      a MethodExecutor that can invoke the method, or null if the method cannot be found
      Throws:
      AccessException
    • isCandidateForInvocation

      protected boolean isCandidateForInvocation(Method method, Class<?> targetClass)
      Description copied from class: ReflectiveMethodResolver
      Determine whether the given Method is a candidate for method resolution on an instance of the given target class.

      The default implementation considers any method as a candidate, even for static methods and non-user-declared methods on the Object base class.

      Overrides:
      isCandidateForInvocation in class ReflectiveMethodResolver
      Parameters:
      method - the Method to evaluate
      targetClass - the concrete target class that is being introspected
    • forInstanceMethodInvocation

      public static DataBindingMethodResolver forInstanceMethodInvocation()
      Create a new data-binding method resolver for instance method resolution.