Package org.aksw.commons.util.reflect
Class MultiMethod
- java.lang.Object
-
- org.aksw.commons.util.reflect.MultiMethod
-
public class MultiMethod extends Object
-
-
Constructor Summary
Constructors Constructor Description MultiMethod()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <T> MethodfindInvocationMethod(Class<T> clazz, Class<?> returnType, Class<?>... args)Find the best matching methods for the given types.static <T> MethodfindInvocationMethod(Class<T> clazz, String name, Object... args)Deprecated.static <T> MethodfindMethodByArgs(Class<T> clazz, String name, Object... args)static <T> MethodfindMethodByParams(Class<T> clazz, String name, Class<?>... typeSignature)static <T> MethodfindMethodByParamsCached(Class<T> clazz, String name, List<Class<?>> typeSignature)Errors on lookup (such as no or multiple candidates) ar not cached in will result in new lookups.static <T> Map<Method,Integer[]>findMethodCandidates(Class<T> clazz, String name, Class<?>... typeSignature)static <T> Map<Method,Integer[]>findMethodCandidates(Collection<Method> candidates, Class<?>... typeSignature)static <X> Xinvoke(Object o, String name, Object... args)static <T,X>
XinvokeStatic(Class<T> clazz, String name, Object... args)Invoke the method of an object, that matches the name and arguments best.
-
-
-
Method Detail
-
invokeStatic
public static <T,X> X invokeStatic(Class<T> clazz, String name, Object... args)
Invoke the method of an object, that matches the name and arguments best. TODO Add some caching mechanism- Type Parameters:
T-- Parameters:
clazz-name-args-- Throws:
InvocationTargetExceptionIllegalAccessExceptionIllegalArgumentException
-
findMethodCandidates
public static <T> Map<Method,Integer[]> findMethodCandidates(Collection<Method> candidates, Class<?>... typeSignature)
-
findMethodCandidates
public static <T> Map<Method,Integer[]> findMethodCandidates(Class<T> clazz, String name, Class<?>... typeSignature)
-
findMethodByParamsCached
public static <T> Method findMethodByParamsCached(Class<T> clazz, String name, List<Class<?>> typeSignature)
Errors on lookup (such as no or multiple candidates) ar not cached in will result in new lookups.- Type Parameters:
T-- Parameters:
clazz-name-typeSignature-- Returns:
-
findMethodByParams
public static <T> Method findMethodByParams(Class<T> clazz, String name, Class<?>... typeSignature)
-
findInvocationMethod
@Deprecated public static <T> Method findInvocationMethod(Class<T> clazz, String name, Object... args)
Deprecated.
-
findMethodByArgs
public static <T> Method findMethodByArgs(Class<T> clazz, String name, Object... args)
-
-