Package org.apache.maven.surefire.util
Class ReflectionUtils
- java.lang.Object
-
- org.apache.maven.surefire.util.ReflectionUtils
-
public final class ReflectionUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.Class<?>[]EMPTY_CLASS_ARRAYprivate static java.lang.Object[]EMPTY_OBJECT_ARRAY
-
Constructor Summary
Constructors Modifier Constructor Description privateReflectionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.reflect.ConstructorgetConstructor(java.lang.Class<?> clazz, java.lang.Class<?>... arguments)static java.lang.reflect.MethodgetMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameters)static java.lang.reflect.MethodgetMethod(java.lang.Object instance, java.lang.String methodName, java.lang.Class<?>... parameters)static <T> Tinstantiate(java.lang.ClassLoader classLoader, java.lang.String classname, java.lang.Class<T> returnType)static java.lang.ObjectinstantiateObject(java.lang.String className, java.lang.Class[] types, java.lang.Object[] params, java.lang.ClassLoader classLoader)static java.lang.ObjectinstantiateOneArg(java.lang.ClassLoader classLoader, java.lang.String className, java.lang.Class<?> param1Class, java.lang.Object param1)static java.lang.ObjectinstantiateTwoArgs(java.lang.ClassLoader classLoader, java.lang.String className, java.lang.Class<?> param1Class, java.lang.Object param1, java.lang.Class param2Class, java.lang.Object param2)static java.lang.ObjectinvokeGetter(java.lang.Class<?> instanceType, java.lang.Object instance, java.lang.String methodName)static java.lang.ObjectinvokeGetter(java.lang.Object instance, java.lang.String methodName)static java.lang.ObjectinvokeMethodChain(java.lang.Class<?>[] classesChain, java.lang.String[] noArgMethodNames, java.lang.Object fallback)Method chain invoker.static java.lang.ObjectinvokeMethodWithArray(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... args)static java.lang.ObjectinvokeMethodWithArray2(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... args)static java.lang.ObjectinvokeSetter(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object value)static voidinvokeSetter(java.lang.Object o, java.lang.String name, java.lang.Class<?> value1clazz, java.lang.Object value)static java.lang.ObjectinvokeStaticMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>[] parameterTypes, java.lang.Object[] parameters)Invoker of public static no-argument method.static java.lang.Class<?>loadClass(java.lang.ClassLoader classLoader, java.lang.String className)static java.lang.ObjectnewInstance(java.lang.reflect.Constructor constructor, java.lang.Object... params)static java.lang.reflect.MethodtryGetMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameters)static java.lang.Class<?>tryLoadClass(java.lang.ClassLoader classLoader, java.lang.String className)
-
-
-
Method Detail
-
getMethod
public static java.lang.reflect.Method getMethod(java.lang.Object instance, java.lang.String methodName, java.lang.Class<?>... parameters)
-
getMethod
public static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameters)
-
tryGetMethod
public static java.lang.reflect.Method tryGetMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameters)
-
invokeGetter
public static java.lang.Object invokeGetter(java.lang.Object instance, java.lang.String methodName)
-
invokeGetter
public static java.lang.Object invokeGetter(java.lang.Class<?> instanceType, java.lang.Object instance, java.lang.String methodName)
-
getConstructor
public static java.lang.reflect.Constructor getConstructor(java.lang.Class<?> clazz, java.lang.Class<?>... arguments)
-
newInstance
public static java.lang.Object newInstance(java.lang.reflect.Constructor constructor, java.lang.Object... params)
-
instantiate
public static <T> T instantiate(java.lang.ClassLoader classLoader, java.lang.String classname, java.lang.Class<T> returnType)
-
instantiateOneArg
public static java.lang.Object instantiateOneArg(java.lang.ClassLoader classLoader, java.lang.String className, java.lang.Class<?> param1Class, java.lang.Object param1)
-
instantiateTwoArgs
public static java.lang.Object instantiateTwoArgs(java.lang.ClassLoader classLoader, java.lang.String className, java.lang.Class<?> param1Class, java.lang.Object param1, java.lang.Class param2Class, java.lang.Object param2)
-
invokeSetter
public static void invokeSetter(java.lang.Object o, java.lang.String name, java.lang.Class<?> value1clazz, java.lang.Object value)
-
invokeSetter
public static java.lang.Object invokeSetter(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object value)
-
invokeMethodWithArray
public static java.lang.Object invokeMethodWithArray(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... args)
-
invokeMethodWithArray2
public static java.lang.Object invokeMethodWithArray2(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... args) throws java.lang.reflect.InvocationTargetException- Throws:
java.lang.reflect.InvocationTargetException
-
instantiateObject
public static java.lang.Object instantiateObject(java.lang.String className, java.lang.Class[] types, java.lang.Object[] params, java.lang.ClassLoader classLoader)
-
tryLoadClass
public static java.lang.Class<?> tryLoadClass(java.lang.ClassLoader classLoader, java.lang.String className)
-
loadClass
public static java.lang.Class<?> loadClass(java.lang.ClassLoader classLoader, java.lang.String className)
-
invokeStaticMethod
public static java.lang.Object invokeStaticMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>[] parameterTypes, java.lang.Object[] parameters)Invoker of public static no-argument method.- Parameters:
clazz- class on which public static no-argumentmethodNameis invokedmethodName- public static no-argument method to be calledparameterTypes- method parameter typesparameters- method parameters- Returns:
- value returned by
methodName - Throws:
java.lang.RuntimeException- if no such method foundSurefireReflectionException- if the method could not be called or threw an exception. It has original cause Exception.
-
invokeMethodChain
public static java.lang.Object invokeMethodChain(java.lang.Class<?>[] classesChain, java.lang.String[] noArgMethodNames, java.lang.Object fallback)Method chain invoker.- Parameters:
classesChain- classes to invoke on method chainnoArgMethodNames- chain of public methods to callfallback- returned value if a chain could not be invoked due to an error- Returns:
- successfully returned value from the last method call;
fallbackotherwise - Throws:
java.lang.IllegalArgumentException- ifclassesandnoArgMethodNameshave different array length
-
-