Class ReflectionUtils
- java.lang.Object
-
- org.apache.maven.surefire.api.util.ReflectionUtils
-
public final class ReflectionUtils extends Object
- Author:
- Kristian Rosenvold
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Constructor<?>
getConstructor(Class<?> clazz, Class<?>... arguments)
static Method
getMethod(Class<?> clazz, String methodName, Class<?>... parameters)
static Method
getMethod(Object instance, String methodName, Class<?>... parameters)
static <T> T
instantiate(ClassLoader classLoader, String classname, Class<T> returnType)
static <T> T
instantiateObject(String className, Class<?>[] types, Object[] params, ClassLoader cl)
static <T> T
instantiateOneArg(ClassLoader classLoader, String className, Class<?> param1Class, Object param1)
static <T> T
invokeGetter(Class<?> instanceType, Object instance, String methodName)
static <T> T
invokeGetter(Object instance, String methodName)
static <T> T
invokeMethodChain(Class<?>[] classesChain, String[] noArgMethodNames, Object fallback)
Method chain invoker.static <T> T
invokeMethodWithArray(Object target, Method method, Object... args)
static <T> T
invokeMethodWithArray2(Object target, Method method, Object... args)
static <T> T
invokeSetter(Object target, Method method, Object value)
static void
invokeSetter(Object o, String name, Class<?> value1clazz, Object value)
static <T> T
invokeStaticMethod(Class<?> clazz, String methodName, Class<?>[] parameterTypes, Object[] parameters)
Invoker of public static no-argument method.static Class<?>
loadClass(ClassLoader classLoader, String className)
static <T> T
newInstance(Constructor<?> constructor, Object... params)
static Class<?>
reloadClass(ClassLoader classLoader, Object source)
static <T> Constructor<T>
tryGetConstructor(Class<T> clazz, Class<?>... arguments)
static Method
tryGetMethod(Class<?> clazz, String methodName, Class<?>... parameters)
static Class<?>
tryLoadClass(ClassLoader classLoader, String className)
-
-
-
Method Detail
-
getMethod
public static Method getMethod(Object instance, String methodName, Class<?>... parameters)
-
getMethod
public static Method getMethod(Class<?> clazz, String methodName, Class<?>... parameters)
-
tryGetMethod
public static Method tryGetMethod(Class<?> clazz, String methodName, Class<?>... parameters)
-
invokeGetter
public static <T> T invokeGetter(Class<?> instanceType, Object instance, String methodName)
-
getConstructor
public static Constructor<?> getConstructor(Class<?> clazz, Class<?>... arguments)
-
tryGetConstructor
public static <T> Constructor<T> tryGetConstructor(Class<T> clazz, Class<?>... arguments)
-
newInstance
public static <T> T newInstance(Constructor<?> constructor, Object... params)
-
instantiate
public static <T> T instantiate(ClassLoader classLoader, String classname, Class<T> returnType)
-
instantiateOneArg
public static <T> T instantiateOneArg(ClassLoader classLoader, String className, Class<?> param1Class, Object param1)
-
invokeSetter
public static void invokeSetter(Object o, String name, Class<?> value1clazz, Object value)
-
invokeMethodWithArray
public static <T> T invokeMethodWithArray(Object target, Method method, Object... args)
-
invokeMethodWithArray2
public static <T> T invokeMethodWithArray2(Object target, Method method, Object... args) throws InvocationTargetException
- Throws:
InvocationTargetException
-
instantiateObject
public static <T> T instantiateObject(String className, Class<?>[] types, Object[] params, ClassLoader cl)
-
tryLoadClass
public static Class<?> tryLoadClass(ClassLoader classLoader, String className)
-
loadClass
public static Class<?> loadClass(ClassLoader classLoader, String className)
-
reloadClass
public static Class<?> reloadClass(ClassLoader classLoader, Object source) throws ReflectiveOperationException
- Throws:
ReflectiveOperationException
-
invokeStaticMethod
public static <T> T invokeStaticMethod(Class<?> clazz, String methodName, Class<?>[] parameterTypes, 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:
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 <T> T invokeMethodChain(Class<?>[] classesChain, String[] noArgMethodNames, 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:
IllegalArgumentException
- ifclasses
andnoArgMethodNames
have different array length
-
-