Class MethodInvokerUtils
- java.lang.Object
- org.springframework.batch.support.MethodInvokerUtils
public class MethodInvokerUtils extends java.lang.ObjectUtility methods for create MethodInvoker instances.- Since:
- 2.0
- Author:
- Lucas Ward
Constructor Summary
Constructors Constructor Description MethodInvokerUtils()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static MethodInvokergetMethodInvokerByAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.lang.Object target)CreateMethodInvokerfor the method with the provided annotation on the provided object.static MethodInvokergetMethodInvokerByAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.lang.Object target, java.lang.Class<?>... expectedParamTypes)Create a MethodInvoker from the delegate based on the annotationType.static MethodInvokergetMethodInvokerByName(java.lang.Object object, java.lang.String methodName, boolean paramsRequired, java.lang.Class<?>... paramTypes)Create aMethodInvokerusing the provided method name to search.static MethodInvokergetMethodInvokerForInterface(java.lang.Class<?> cls, java.lang.String methodName, java.lang.Object object, java.lang.Class<?>... paramTypes)Create aMethodInvokerusing the provided interface, and method name from that interface.static <C,T>
MethodInvokergetMethodInvokerForSingleArgument(java.lang.Object target)Create aMethodInvokerfor the delegate from a single public method.static java.lang.StringgetParamTypesString(java.lang.Class<?>... paramTypes)Create a String representation of the array of parameter types.
Method Detail
getMethodInvokerByName
public static MethodInvoker getMethodInvokerByName(java.lang.Object object, java.lang.String methodName, boolean paramsRequired, java.lang.Class<?>... paramTypes)
Create aMethodInvokerusing the provided method name to search.- Parameters:
object- to be invokedmethodName- of the method to be invokedparamsRequired- 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, null if it is not.
getParamTypesString
public static java.lang.String getParamTypesString(java.lang.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
public static MethodInvoker getMethodInvokerForInterface(java.lang.Class<?> cls, java.lang.String methodName, java.lang.Object object, java.lang.Class<?>... paramTypes)
Create aMethodInvokerusing the provided interface, and method name from that interface.- Parameters:
cls- the interface to search for the method namedmethodName- of the method to be invokedobject- to be invokedparamTypes- - 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(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.lang.Object target, java.lang.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 fortarget- the target objectexpectedParamTypes- the expected parameter types for the method- Returns:
- a MethodInvoker
getMethodInvokerByAnnotation
public static MethodInvoker getMethodInvokerByAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.lang.Object target)
CreateMethodInvokerfor 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 fortarget- to be invoked- Returns:
- MethodInvoker for the provided annotation, null if none is found.
getMethodInvokerForSingleArgument
public static <C,T> MethodInvoker getMethodInvokerForSingleArgument(java.lang.Object target)
Create aMethodInvokerfor the delegate from a single public method.- Type Parameters:
C- the class.T- the type.- Parameters:
target- an object to search for an appropriate method.- Returns:
- a
MethodInvokerthat calls a method on the delegate.