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 @Nullable java.lang.reflect.Constructor<?> |
findConstructor(@Nullable java.lang.Class<?> clazz,
java.lang.Class<?>... args)
Finds a constructor of the given class with the specified args.
|
static @Nullable 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(@Nullable java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... args) |
static java.lang.invoke.MethodHandle |
findMethodHandle(@Nullable java.lang.String className,
java.lang.String name,
java.lang.Class<?>... args) |
static @Nullable java.lang.reflect.Field |
getField(@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName) |
static @Nullable java.lang.reflect.Field |
getField(@Nullable java.lang.String className,
java.lang.String fieldName) |
static <T> T |
getFieldInstance(@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName) |
static <T> T |
getFieldInstance(@Nullable java.lang.reflect.Field field) |
static <T> T |
getFieldInstance(@Nullable java.lang.Object parent,
@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName) |
static <T> T |
getFieldInstance(@Nullable java.lang.Object parent,
@Nullable java.lang.reflect.Field field) |
static java.lang.Class<?> |
getInnerClass(java.lang.Class<?> clazz,
@Nullable java.lang.String name) |
static @Nullable java.lang.reflect.Field |
getMappedField(@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable java.lang.Class<?> desc) |
static @Nullable java.lang.reflect.Field |
getMappedField(@Nullable java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable java.lang.Class<?> desc) |
static <T> T |
getMappedFieldInstance(@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable java.lang.Class<?> desc) |
static <T> T |
getMappedFieldInstance(@Nullable java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable java.lang.Class<?> desc) |
static <T> T |
getMappedFieldInstance(@Nullable java.lang.Object parent,
@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable java.lang.Class<?> desc) |
static <T> T |
getMappedFieldInstance(@Nullable java.lang.Object parent,
@Nullable java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable java.lang.Class<?> desc) |
static @Nullable java.lang.reflect.Method |
getMethod(@Nullable java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... argTypes) |
static @Nullable java.lang.reflect.Method |
getMethod(@Nullable java.lang.String className,
java.lang.String name,
java.lang.Class<?>... argTypes) |
static <T> T |
invokeHandle(@Nullable java.lang.invoke.MethodHandle handle,
@Nullable java.lang.Object invoker,
java.lang.Object... args) |
static <T> T |
invokeMethod(@Nullable java.lang.Class<?> clazz,
java.lang.String name,
@Nullable java.lang.Object invoker,
java.lang.Class<?>[] argTypes,
java.lang.Object... args) |
static <T> T |
invokeMethod(@Nullable java.lang.reflect.Method method,
@Nullable java.lang.Object invoker,
java.lang.Object... args) |
static <T> T |
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) |
static <T> T |
invokeStaticHandle(@Nullable java.lang.invoke.MethodHandle handle,
java.lang.Object... args) |
static <T> T |
invokeStaticMethod(@Nullable java.lang.Class<T> clazz,
java.lang.String name,
java.lang.Class<?>[] argTypes,
java.lang.Object... args) |
static <T> T |
invokeStaticMethod(@Nullable java.lang.reflect.Method method,
java.lang.Object... args) |
static <T> T |
invokeStaticMethod(@Nullable java.lang.String className,
java.lang.String name,
java.lang.Class<?>[] argTypes,
java.lang.Object... args) |
static void |
modifyFinalField(@Nullable java.lang.Object parent,
@Nullable java.lang.reflect.Field field,
@Nullable 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(@Nullable java.lang.reflect.Field field,
java.lang.Object instance,
java.lang.Object value) |
static void |
setFieldModifiers(@Nullable java.lang.reflect.Field field,
int modifiers) |
static void |
setFieldValue(@Nullable java.lang.Object parent,
@Nullable java.lang.reflect.Field field,
@Nullable java.lang.Object value) |
@Nullable
public static @Nullable java.lang.reflect.Constructor<?> findConstructor(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.Class<?>... args)
@Nullable
public static @Nullable java.lang.Class<?> findExtensibleClass(java.lang.String name,
java.lang.Class<?> superClass)
public static java.lang.invoke.MethodHandle findMethodHandle(@Nullable
@Nullable java.lang.String className,
java.lang.String name,
java.lang.Class<?>... args)
public static java.lang.invoke.MethodHandle findMethodHandle(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... args)
@Nullable
public static @Nullable java.lang.reflect.Field getField(@Nullable
@Nullable java.lang.String className,
java.lang.String fieldName)
@Nullable
public static @Nullable java.lang.reflect.Field getField(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName)
@Nullable
public static <T> T getFieldInstance(@Nullable
@Nullable java.lang.reflect.Field field)
@Nullable
public static <T> T getFieldInstance(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName)
@Nullable
public static <T> T getFieldInstance(@Nullable
@Nullable java.lang.Object parent,
@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName)
@Nullable
public static <T> T getFieldInstance(@Nullable
@Nullable java.lang.Object parent,
@Nullable
@Nullable java.lang.reflect.Field field)
public static java.lang.Class<?> getInnerClass(java.lang.Class<?> clazz,
@Nullable
@Nullable java.lang.String name)
@Nullable
public static @Nullable java.lang.reflect.Field getMappedField(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable
@Nullable java.lang.Class<?> desc)
@Nullable
public static @Nullable java.lang.reflect.Field getMappedField(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable
@Nullable java.lang.Class<?> desc)
@Nullable
public static <T> T getMappedFieldInstance(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable
@Nullable java.lang.Class<?> desc)
@Nullable
public static <T> T getMappedFieldInstance(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable
@Nullable java.lang.Class<?> desc)
@Nullable
public static <T> T getMappedFieldInstance(@Nullable
@Nullable java.lang.Object parent,
@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String named,
java.lang.String intermediary,
@Nullable
@Nullable java.lang.Class<?> desc)
@Nullable
public static <T> T getMappedFieldInstance(@Nullable
@Nullable java.lang.Object parent,
@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String fieldName,
@Nullable
@Nullable java.lang.Class<?> desc)
@Nullable
public static @Nullable java.lang.reflect.Method getMethod(@Nullable
@Nullable java.lang.String className,
java.lang.String name,
java.lang.Class<?>... argTypes)
@Nullable
public static @Nullable java.lang.reflect.Method getMethod(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... argTypes)
@Nullable
public static <T> T invokeHandle(@Nullable
@Nullable java.lang.invoke.MethodHandle handle,
@Nullable
@Nullable java.lang.Object invoker,
java.lang.Object... args)
@Nullable
public static <T> T invokeMethod(@Nullable
@Nullable java.lang.reflect.Method method,
@Nullable
@Nullable java.lang.Object invoker,
java.lang.Object... args)
@Nullable
public static <T> T invokeMethod(@Nullable
@Nullable java.lang.Class<?> clazz,
java.lang.String name,
@Nullable
@Nullable java.lang.Object invoker,
java.lang.Class<?>[] argTypes,
java.lang.Object... args)
@Nullable
public static <T> T invokeMethod(@Nullable
@Nullable java.lang.String className,
java.lang.String name,
@Nullable
@Nullable java.util.function.Function<java.lang.Class<?>,java.lang.Object> invokerFunc,
java.lang.Class<?>[] argTypes,
java.lang.Object... args)
@Nullable
public static <T> T invokeStaticHandle(@Nullable
@Nullable java.lang.invoke.MethodHandle handle,
java.lang.Object... args)
@Nullable
public static <T> T invokeStaticMethod(@Nullable
@Nullable java.lang.reflect.Method method,
java.lang.Object... args)
@Nullable
public static <T> T invokeStaticMethod(@Nullable
@Nullable java.lang.Class<T> clazz,
java.lang.String name,
java.lang.Class<?>[] argTypes,
java.lang.Object... args)
@Nullable
public static <T> T invokeStaticMethod(@Nullable
@Nullable java.lang.String className,
java.lang.String name,
java.lang.Class<?>[] argTypes,
java.lang.Object... args)
public static void modifyFinalField(@Nullable
@Nullable java.lang.Object parent,
@Nullable
@Nullable java.lang.reflect.Field field,
@Nullable
@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
@Nullable java.lang.reflect.Field field,
java.lang.Object instance,
java.lang.Object value)
public static void setFieldModifiers(@Nullable
@Nullable java.lang.reflect.Field field,
int modifiers)
public static void setFieldValue(@Nullable
@Nullable java.lang.Object parent,
@Nullable
@Nullable java.lang.reflect.Field field,
@Nullable
@Nullable java.lang.Object value)