Class MethodInvokerUtils

java.lang.Object
org.springframework.batch.support.MethodInvokerUtils

public abstract class MethodInvokerUtils extends Object
Utility methods for create MethodInvoker instances.
Since:
2.0
Author:
Lucas Ward, Mahmoud Ben Hassine, Taeik Lim
  • Method Details

    • getMethodInvokerByName

      public static MethodInvoker getMethodInvokerByName(Object object, String methodName, boolean paramsRequired, Class<?>... paramTypes)
      Create a MethodInvoker using the provided method name to search.
      Parameters:
      object - to be invoked
      methodName - of the method to be invoked
      paramsRequired - boolean indicating whether the parameters are required, if false, a no args version of the method will be searched for.
      paramTypes - - parameter types of the method to search for.
      Returns:
      MethodInvoker if the method is found
    • getParamTypesString

      public static String getParamTypesString(Class<?>... paramTypes)
      Create a String representation of the array of parameter types.
      Parameters:
      paramTypes - types of the parameters to be used
      Returns:
      String a String representation of those types
    • getMethodInvokerForInterface

      @Nullable public static MethodInvoker getMethodInvokerForInterface(Class<?> cls, String methodName, Object object, Class<?>... paramTypes)
      Create a MethodInvoker using the provided interface, and method name from that interface.
      Parameters:
      cls - the interface to search for the method named
      methodName - of the method to be invoked
      object - to be invoked
      paramTypes - - parameter types of the method to search for.
      Returns:
      MethodInvoker if the method is found, null if it is not.
    • getMethodInvokerByAnnotation

      public static MethodInvoker getMethodInvokerByAnnotation(Class<? extends Annotation> annotationType, Object target, Class<?>... expectedParamTypes)
      Create a MethodInvoker from the delegate based on the annotationType. Ensure that the annotated method has a valid set of parameters.
      Parameters:
      annotationType - the annotation to scan for
      target - the target object
      expectedParamTypes - the expected parameter types for the method
      Returns:
      a MethodInvoker
    • getMethodInvokerByAnnotation

      @Nullable public static MethodInvoker getMethodInvokerByAnnotation(Class<? extends Annotation> annotationType, Object target)
      Create MethodInvoker for the method with the provided annotation on the provided object. Annotations that cannot be applied to methods (i.e. that aren't annotated with an element type of METHOD) will cause an exception to be thrown.
      Parameters:
      annotationType - to be searched for
      target - to be invoked
      Returns:
      MethodInvoker for the provided annotation, null if none is found.
    • getMethodInvokerForSingleArgument

      public static MethodInvoker getMethodInvokerForSingleArgument(Object target)
      Create a MethodInvoker for the delegate from a single public method.
      Parameters:
      target - an object to search for an appropriate method.
      Returns:
      a MethodInvoker that calls a method on the delegate.