public class MethodInvokerUtils
extends java.lang.Object
Constructor and Description |
---|
MethodInvokerUtils() |
Modifier and Type | Method and Description |
---|---|
static MethodInvoker |
getMethodInvokerByAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
java.lang.Object target)
Create
MethodInvoker for the method with the provided annotation
on the provided object. |
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.
|
static MethodInvoker |
getMethodInvokerByName(java.lang.Object object,
java.lang.String methodName,
boolean paramsRequired,
java.lang.Class<?>... paramTypes)
Create a
MethodInvoker using the provided method name to search. |
static MethodInvoker |
getMethodInvokerForInterface(java.lang.Class<?> cls,
java.lang.String methodName,
java.lang.Object object,
java.lang.Class<?>... paramTypes)
Create a
MethodInvoker using the provided interface, and method
name from that interface. |
static <C,T> MethodInvoker |
getMethodInvokerForSingleArgument(java.lang.Object target)
Create a
MethodInvoker for the delegate from a single public
method. |
static java.lang.String |
getParamTypesString(java.lang.Class<?>... paramTypes)
Create a String representation of the array of parameter types.
|
public static MethodInvoker getMethodInvokerByName(java.lang.Object object, java.lang.String methodName, boolean paramsRequired, java.lang.Class<?>... paramTypes)
MethodInvoker
using the provided method name to search.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.public static java.lang.String getParamTypesString(java.lang.Class<?>... paramTypes)
paramTypes
- types of the parameters to be usedpublic static MethodInvoker getMethodInvokerForInterface(java.lang.Class<?> cls, java.lang.String methodName, java.lang.Object object, java.lang.Class<?>... paramTypes)
MethodInvoker
using the provided interface, and method
name from that interface.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.public static MethodInvoker getMethodInvokerByAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.lang.Object target, java.lang.Class<?>... expectedParamTypes)
annotationType
- the annotation to scan fortarget
- the target objectexpectedParamTypes
- the expected parameter types for the methodpublic static MethodInvoker getMethodInvokerByAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.lang.Object target)
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.annotationType
- to be searched fortarget
- to be invokedpublic static <C,T> MethodInvoker getMethodInvokerForSingleArgument(java.lang.Object target)
MethodInvoker
for the delegate from a single public
method.C
- the class.T
- the type.target
- an object to search for an appropriate method.MethodInvoker
that calls a method on the delegate.