Interface MethodResolver

All Known Implementing Classes:
DataBindingMethodResolver, ReflectiveMethodResolver
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface MethodResolver
A method resolver attempts to locate a method and returns a MethodExecutor that can be used to invoke that method.

The MethodExecutor will be cached, but if it becomes stale the resolvers will be called again.

Since:
3.0
Author:
Andy Clement, Sam Brannen
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    resolve(EvaluationContext context, Object targetObject, String name, List<TypeDescriptor> argumentTypes)
    Within the supplied context, resolve a suitable method on the supplied object that can handle the specified arguments.
  • Method Details

    • resolve

      @Nullable MethodExecutor resolve(EvaluationContext context, Object targetObject, String name, List<TypeDescriptor> argumentTypes) throws AccessException
      Within the supplied context, resolve a suitable method on the supplied object that can handle the specified arguments.

      Returns a MethodExecutor that can be used to invoke that method, or null if no method could be found.

      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