public final class ReflectionUtils
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static java.lang.Class<?>[] |
EMPTY_CLASS_ARRAY |
private static java.lang.Object[] |
EMPTY_OBJECT_ARRAY |
Modifier | Constructor and Description |
---|---|
private |
ReflectionUtils() |
Modifier and Type | Method and 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.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) |
private static final java.lang.Class<?>[] EMPTY_CLASS_ARRAY
private static final java.lang.Object[] EMPTY_OBJECT_ARRAY
public static java.lang.reflect.Method getMethod(java.lang.Object instance, java.lang.String methodName, java.lang.Class<?>... parameters)
public static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameters)
public static java.lang.reflect.Method tryGetMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameters)
public static java.lang.Object invokeGetter(java.lang.Object instance, java.lang.String methodName)
public static java.lang.Object invokeGetter(java.lang.Class<?> instanceType, java.lang.Object instance, java.lang.String methodName)
public static java.lang.reflect.Constructor getConstructor(java.lang.Class<?> clazz, java.lang.Class<?>... arguments)
public static java.lang.Object newInstance(java.lang.reflect.Constructor constructor, java.lang.Object... params)
public static <T> T instantiate(java.lang.ClassLoader classLoader, java.lang.String classname, java.lang.Class<T> returnType)
public static java.lang.Object instantiateOneArg(java.lang.ClassLoader classLoader, java.lang.String className, java.lang.Class<?> param1Class, java.lang.Object param1)
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)
public static void invokeSetter(java.lang.Object o, java.lang.String name, java.lang.Class<?> value1clazz, java.lang.Object value)
public static java.lang.Object invokeSetter(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object value)
public static java.lang.Object invokeMethodWithArray(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... args)
public static java.lang.Object invokeMethodWithArray2(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... args) throws java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
public static java.lang.Object instantiateObject(java.lang.String className, java.lang.Class[] types, java.lang.Object[] params, java.lang.ClassLoader classLoader)
public static java.lang.Class<?> tryLoadClass(java.lang.ClassLoader classLoader, java.lang.String className)
public static java.lang.Class<?> loadClass(java.lang.ClassLoader classLoader, java.lang.String className)
public static java.lang.Object invokeStaticMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>[] parameterTypes, java.lang.Object[] parameters)
clazz
- class on which public static no-argument methodName
is invokedmethodName
- public static no-argument method to be calledparameterTypes
- method parameter typesparameters
- method parametersmethodName
java.lang.RuntimeException
- if no such method foundSurefireReflectionException
- if the method could not be called or threw an exception.
It has original cause Exception.public static java.lang.Object invokeMethodChain(java.lang.Class<?>[] classesChain, java.lang.String[] noArgMethodNames, java.lang.Object fallback)
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 errorfallback
otherwisejava.lang.IllegalArgumentException
- if classes
and noArgMethodNames
have different array length