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_ARRAY
private static java.lang.Object[]
EMPTY_OBJECT_ARRAY
-
Constructor Summary
Constructors Modifier Constructor Description private
ReflectionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.reflect.Constructor
getConstructor(java.lang.Class<?> clazz, java.lang.Class<?>... arguments)
static java.lang.reflect.Method
getMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameters)
static java.lang.reflect.Method
getMethod(java.lang.Object instance, java.lang.String methodName, java.lang.Class<?>... parameters)
static <T> T
instantiate(java.lang.ClassLoader classLoader, java.lang.String classname, java.lang.Class<T> returnType)
static java.lang.Object
instantiateObject(java.lang.String className, java.lang.Class[] types, java.lang.Object[] params, java.lang.ClassLoader classLoader)
static java.lang.Object
instantiateOneArg(java.lang.ClassLoader classLoader, java.lang.String className, java.lang.Class<?> param1Class, java.lang.Object param1)
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)
static java.lang.Object
invokeGetter(java.lang.Class<?> instanceType, java.lang.Object instance, java.lang.String methodName)
static java.lang.Object
invokeGetter(java.lang.Object instance, java.lang.String methodName)
static java.lang.Object
invokeMethodChain(java.lang.Class<?>[] classesChain, java.lang.String[] noArgMethodNames, java.lang.Object fallback)
Method chain invoker.static java.lang.Object
invokeMethodWithArray(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... args)
static java.lang.Object
invokeMethodWithArray2(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... args)
static java.lang.Object
invokeSetter(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object value)
static void
invokeSetter(java.lang.Object o, java.lang.String name, java.lang.Class<?> value1clazz, java.lang.Object value)
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.static java.lang.Class<?>
loadClass(java.lang.ClassLoader classLoader, java.lang.String className)
static java.lang.Object
newInstance(java.lang.reflect.Constructor constructor, java.lang.Object... params)
static java.lang.Class<?>
reloadClass(java.lang.ClassLoader classLoader, java.lang.Object source)
static java.lang.reflect.Method
tryGetMethod(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)
-
reloadClass
public static java.lang.Class<?> reloadClass(java.lang.ClassLoader classLoader, java.lang.Object source) throws java.lang.ReflectiveOperationException
- Throws:
java.lang.ReflectiveOperationException
-
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-argumentmethodName
is 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;
fallback
otherwise - Throws:
java.lang.IllegalArgumentException
- ifclasses
andnoArgMethodNames
have different array length
-
-