public class ReflectionHelper
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.invoke.MethodHandles.Lookup |
LOOKUP |
| Constructor and Description |
|---|
ReflectionHelper() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.reflect.Constructor<?> |
findConstructor(java.lang.Class<?> clazz,
java.lang.Class<?>... args)
Finds a constructor of the given class with the specified args.
|
static java.lang.Class<?> |
findExtensibleClass(java.lang.String name,
java.lang.Class<?> superClass)
Finds a class from the input name that can be extended from the input superClass.
|
static java.lang.invoke.MethodHandle |
findMethodHandle(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... args) |
static java.lang.invoke.MethodHandle |
findMethodHandle(java.lang.String className,
java.lang.String name,
java.lang.Class<?>... args) |
static java.lang.reflect.Field |
getField(java.lang.Class<?> clazz,
java.lang.String fieldName) |
static java.lang.reflect.Field |
getField(java.lang.String className,
java.lang.String fieldName) |
static java.lang.Object |
getFieldInstance(java.lang.Class<?> clazz,
java.lang.String fieldName) |
static java.lang.Object |
getFieldInstance(java.lang.reflect.Field field) |
static java.lang.Object |
getFieldInstance(java.lang.Object parent,
java.lang.Class<?> clazz,
java.lang.String fieldName) |
static java.lang.Object |
getFieldInstance(java.lang.Object parent,
java.lang.reflect.Field field) |
static java.lang.Class<?> |
getInnerClass(java.lang.Class<?> clazz,
java.lang.String name) |
static java.lang.reflect.Field |
getMappedField(java.lang.Class<?> clazz,
java.lang.String fieldName,
java.lang.Class<?> desc) |
static java.lang.reflect.Field |
getMappedField(java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
java.lang.Class<?> desc) |
static java.lang.Object |
getMappedFieldInstance(java.lang.Class<?> clazz,
java.lang.String fieldName,
java.lang.Class<?> desc) |
static java.lang.Object |
getMappedFieldInstance(java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
java.lang.Class<?> desc) |
static java.lang.Object |
getMappedFieldInstance(java.lang.Object parent,
java.lang.Class<?> clazz,
java.lang.String fieldName,
java.lang.Class<?> desc) |
static java.lang.Object |
getMappedFieldInstance(java.lang.Object parent,
java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
java.lang.Class<?> desc) |
static java.lang.reflect.Method |
getMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... argTypes) |
static java.lang.reflect.Method |
getMethod(java.lang.String className,
java.lang.String name,
java.lang.Class<?>... argTypes) |
static java.lang.Object |
invokeHandle(java.lang.invoke.MethodHandle handle,
java.lang.Object invoker,
java.lang.Object... args) |
static java.lang.Object |
invokeMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Object invoker,
java.lang.Class<?>[] argTypes,
java.lang.Object... args) |
static java.lang.Object |
invokeMethod(java.lang.reflect.Method method,
java.lang.Object invoker,
java.lang.Object... args) |
static java.lang.Object |
invokeMethod(java.lang.String className,
java.lang.String name,
java.util.function.Function<java.lang.Class<?>,java.lang.Object> invokerFunc,
java.lang.Class<?>[] argTypes,
java.lang.Object... args) |
static java.lang.Object |
invokeStaticHandle(java.lang.invoke.MethodHandle handle,
java.lang.Object... args) |
static <T> java.lang.Object |
invokeStaticMethod(java.lang.Class<T> clazz,
java.lang.String name,
java.lang.Class<?>[] argTypes,
java.lang.Object... args) |
static java.lang.Object |
invokeStaticMethod(java.lang.reflect.Method method,
java.lang.Object... args) |
static java.lang.Object |
invokeStaticMethod(java.lang.String className,
java.lang.String name,
java.lang.Class<?>[] argTypes,
java.lang.Object... args) |
static void |
modifyFinalField(java.lang.Object parent,
java.lang.reflect.Field field,
java.lang.Object value)
We do a little trolling
|
static void |
setFieldInstance(boolean isFinal,
java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Object instance,
java.lang.Object value) |
static void |
setFieldInstance(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Object instance,
java.lang.Object value) |
static void |
setFieldInstance(java.lang.reflect.Field field,
java.lang.Object instance,
java.lang.Object value) |
static void |
setFieldModifiers(java.lang.reflect.Field field,
int modifiers) |
static void |
setFieldValue(java.lang.Object parent,
java.lang.reflect.Field field,
java.lang.Object value) |
@Nullable
public static java.lang.reflect.Constructor<?> findConstructor(@Nullable
java.lang.Class<?> clazz,
java.lang.Class<?>... args)
@Nullable
public static java.lang.Class<?> findExtensibleClass(java.lang.String name,
java.lang.Class<?> superClass)
public static java.lang.invoke.MethodHandle findMethodHandle(@Nullable
java.lang.String className,
java.lang.String name,
java.lang.Class<?>... args)
public static java.lang.invoke.MethodHandle findMethodHandle(@Nullable
java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... args)
@Nullable
public static java.lang.reflect.Field getField(@Nullable
java.lang.String className,
java.lang.String fieldName)
@Nullable
public static java.lang.reflect.Field getField(@Nullable
java.lang.Class<?> clazz,
java.lang.String fieldName)
@Nullable
public static java.lang.Object getFieldInstance(@Nullable
java.lang.reflect.Field field)
@Nullable
public static java.lang.Object getFieldInstance(@Nullable
java.lang.Class<?> clazz,
java.lang.String fieldName)
@Nullable
public static java.lang.Object getFieldInstance(@Nullable
java.lang.Object parent,
@Nullable
java.lang.Class<?> clazz,
java.lang.String fieldName)
@Nullable
public static java.lang.Object getFieldInstance(@Nullable
java.lang.Object parent,
@Nullable
java.lang.reflect.Field field)
public static java.lang.Class<?> getInnerClass(java.lang.Class<?> clazz,
@Nullable
java.lang.String name)
@Nullable
public static java.lang.reflect.Field getMappedField(@Nullable
java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable
java.lang.Class<?> desc)
@Nullable
public static java.lang.reflect.Field getMappedField(@Nullable
java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable
java.lang.Class<?> desc)
@Nullable
public static java.lang.Object getMappedFieldInstance(@Nullable
java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable
java.lang.Class<?> desc)
@Nullable
public static java.lang.Object getMappedFieldInstance(@Nullable
java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable
java.lang.Class<?> desc)
@Nullable
public static java.lang.Object getMappedFieldInstance(@Nullable
java.lang.Object parent,
@Nullable
java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable
java.lang.Class<?> desc)
@Nullable
public static java.lang.Object getMappedFieldInstance(@Nullable
java.lang.Object parent,
@Nullable
java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable
java.lang.Class<?> desc)
@Nullable
public static java.lang.reflect.Method getMethod(@Nullable
java.lang.String className,
java.lang.String name,
java.lang.Class<?>... argTypes)
@Nullable
public static java.lang.reflect.Method getMethod(@Nullable
java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... argTypes)
@Nullable
public static java.lang.Object invokeHandle(@Nullable
java.lang.invoke.MethodHandle handle,
@Nullable
java.lang.Object invoker,
java.lang.Object... args)
@Nullable
public static java.lang.Object invokeMethod(@Nullable
java.lang.reflect.Method method,
@Nullable
java.lang.Object invoker,
java.lang.Object... args)
@Nullable
public static java.lang.Object invokeMethod(@Nullable
java.lang.Class<?> clazz,
java.lang.String name,
@Nullable
java.lang.Object invoker,
java.lang.Class<?>[] argTypes,
java.lang.Object... args)
@Nullable
public static java.lang.Object invokeMethod(@Nullable
java.lang.String className,
java.lang.String name,
@Nullable
java.util.function.Function<java.lang.Class<?>,java.lang.Object> invokerFunc,
java.lang.Class<?>[] argTypes,
java.lang.Object... args)
@Nullable
public static java.lang.Object invokeStaticHandle(@Nullable
java.lang.invoke.MethodHandle handle,
java.lang.Object... args)
@Nullable
public static java.lang.Object invokeStaticMethod(@Nullable
java.lang.reflect.Method method,
java.lang.Object... args)
@Nullable
public static <T> java.lang.Object invokeStaticMethod(@Nullable
java.lang.Class<T> clazz,
java.lang.String name,
java.lang.Class<?>[] argTypes,
java.lang.Object... args)
@Nullable
public static java.lang.Object invokeStaticMethod(@Nullable
java.lang.String className,
java.lang.String name,
java.lang.Class<?>[] argTypes,
java.lang.Object... args)
public static void modifyFinalField(@Nullable
java.lang.Object parent,
@Nullable
java.lang.reflect.Field field,
@Nullable
java.lang.Object value)
public static void setFieldInstance(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Object instance,
java.lang.Object value)
public static void setFieldInstance(boolean isFinal,
java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Object instance,
java.lang.Object value)
public static void setFieldInstance(@Nullable
java.lang.reflect.Field field,
java.lang.Object instance,
java.lang.Object value)
public static void setFieldModifiers(@Nullable
java.lang.reflect.Field field,
int modifiers)
public static void setFieldValue(@Nullable
java.lang.Object parent,
@Nullable
java.lang.reflect.Field field,
@Nullable
java.lang.Object value)