public final class ReflectHelper
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
static java.util.List<java.lang.Object> |
collectFieldValuesByType(java.lang.Object target,
java.lang.Class<?> assignableFrom,
boolean skipStatic)
Collects field values whose type is assignable to the given class.
|
static java.lang.reflect.Field |
findField(java.lang.Class<?> type,
java.lang.String name) |
static java.lang.Object |
findFieldByClassHint(java.lang.Object target,
java.lang.String... hints)
Finds a field value whose type matches any of the given class name hints.
|
static boolean |
getBooleanField(java.lang.Object target,
java.lang.String name) |
static double |
getDoubleField(java.lang.Object target,
java.lang.String name) |
static double |
getDoubleFieldSafe(java.lang.Object target,
java.lang.String name) |
static java.lang.Object |
getField(java.lang.Object target,
java.lang.String name)
Gets a field value from an object (searches superclass hierarchy).
|
static java.lang.Object |
getFieldSafe(java.lang.Object target,
java.lang.String name)
Safe field access — returns null on error.
|
static float |
getFloatField(java.lang.Object target,
java.lang.String name) |
static int |
getIntField(java.lang.Object target,
java.lang.String name) |
static int |
getIntFieldSafe(java.lang.Object target,
java.lang.String name,
int fallback) |
static java.lang.Object |
invoke(java.lang.Object target,
java.lang.String name,
java.lang.Object... args)
Invokes a method on the target object using varargs.
|
static java.lang.Object |
invokeSafe(java.lang.Object target,
java.lang.String name,
java.lang.Object... args)
Safe method invocation — returns null on error.
|
static boolean |
isInstanceOf(java.lang.Object obj,
java.lang.String... classNames)
Checks if the object is an instance of any given class names
(including superclass hierarchy).
|
static void |
setBooleanField(java.lang.Object target,
java.lang.String name,
boolean value) |
static void |
setField(java.lang.Object target,
java.lang.String name,
java.lang.Object value) |
static void |
setFieldMulti(java.lang.Object target,
java.lang.Object value,
java.lang.String... names)
Attempts to set a field using multiple possible names.
|
static void |
setIntField(java.lang.Object target,
java.lang.String name,
int value) |
static void |
setIntFieldMulti(java.lang.Object target,
int value,
java.lang.String... names) |
public static java.lang.Object getField(java.lang.Object target,
java.lang.String name)
throws java.lang.Exception
java.lang.Exceptionpublic static int getIntField(java.lang.Object target,
java.lang.String name)
throws java.lang.Exception
java.lang.Exceptionpublic static double getDoubleField(java.lang.Object target,
java.lang.String name)
throws java.lang.Exception
java.lang.Exceptionpublic static float getFloatField(java.lang.Object target,
java.lang.String name)
throws java.lang.Exception
java.lang.Exceptionpublic static boolean getBooleanField(java.lang.Object target,
java.lang.String name)
throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.Object getFieldSafe(java.lang.Object target,
java.lang.String name)
public static int getIntFieldSafe(java.lang.Object target,
java.lang.String name,
int fallback)
public static double getDoubleFieldSafe(java.lang.Object target,
java.lang.String name)
public static void setField(java.lang.Object target,
java.lang.String name,
java.lang.Object value)
throws java.lang.Exception
java.lang.Exceptionpublic static void setIntField(java.lang.Object target,
java.lang.String name,
int value)
throws java.lang.Exception
java.lang.Exceptionpublic static void setBooleanField(java.lang.Object target,
java.lang.String name,
boolean value)
throws java.lang.Exception
java.lang.Exceptionpublic static void setFieldMulti(java.lang.Object target,
java.lang.Object value,
java.lang.String... names)
public static void setIntFieldMulti(java.lang.Object target,
int value,
java.lang.String... names)
public static java.lang.Object invoke(java.lang.Object target,
java.lang.String name,
java.lang.Object... args)
throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.Object invokeSafe(java.lang.Object target,
java.lang.String name,
java.lang.Object... args)
public static boolean isInstanceOf(java.lang.Object obj,
java.lang.String... classNames)
public static java.lang.Object findFieldByClassHint(java.lang.Object target,
java.lang.String... hints)
public static java.util.List<java.lang.Object> collectFieldValuesByType(java.lang.Object target,
java.lang.Class<?> assignableFrom,
boolean skipStatic)
public static java.lang.reflect.Field findField(java.lang.Class<?> type,
java.lang.String name)
throws java.lang.NoSuchFieldException
java.lang.NoSuchFieldException