public class ReflectionUtil
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ID_ANN |
static java.lang.String |
TRANSIENT_ANN |
| Constructor and Description |
|---|
ReflectionUtil() |
| Modifier and Type | Method and Description |
|---|---|
static int |
calculateHierarchyDistance(java.lang.Class<?> clazz,
java.lang.Class<?> parent) |
static java.util.List<java.lang.Class> |
extractActualClassTypeArguments(java.lang.reflect.Type javaType)
Makes sense only for
ParameterizedType |
static java.lang.Class |
extractClass(java.lang.reflect.Type javaType)
for example: Map
|
static java.util.List<java.lang.reflect.Method> |
findAllPersistentGetters(java.lang.Class methodSource) |
static java.util.List<java.lang.reflect.Method> |
getAllMethods(java.lang.Class methodSource)
list all class methods, including inherited and private,
removes inheritance duplicates
|
static java.lang.String |
getterToField(java.lang.reflect.Method getter)
ex: getCode() -> code,
isTrue() -> true
|
static java.lang.Object |
invokeField(java.lang.reflect.Field field,
java.lang.Object onObject) |
static java.lang.Object |
invokeFieldEvenIfPrivate(java.lang.reflect.Field field,
java.lang.Object onObject) |
static java.lang.Object |
invokeGetter(java.lang.reflect.Method getter,
java.lang.Object onObject) |
static java.lang.Object |
invokeGetterEvenIfPrivate(java.lang.reflect.Method getter,
java.lang.Object onObject) |
static boolean |
isAnnotationPresent(java.lang.reflect.Field field,
java.lang.String annotationName) |
static boolean |
isAnnotationPresent(java.lang.reflect.Method method,
java.lang.String annotationName) |
static boolean |
isGetter(java.lang.reflect.Method m) |
static boolean |
isPersistentGetter(java.lang.reflect.Method m)
true if method is getter and
is not abstract
is not native
doesn't have @Transient
|
public static final java.lang.String TRANSIENT_ANN
public static final java.lang.String ID_ANN
public static java.util.List<java.lang.reflect.Method> findAllPersistentGetters(java.lang.Class methodSource)
public static java.util.List<java.lang.reflect.Method> getAllMethods(java.lang.Class methodSource)
public static boolean isPersistentGetter(java.lang.reflect.Method m)
public static boolean isAnnotationPresent(java.lang.reflect.Method method,
java.lang.String annotationName)
public static boolean isAnnotationPresent(java.lang.reflect.Field field,
java.lang.String annotationName)
public static boolean isGetter(java.lang.reflect.Method m)
public static java.lang.String getterToField(java.lang.reflect.Method getter)
public static java.lang.Object invokeGetter(java.lang.reflect.Method getter,
java.lang.Object onObject)
public static java.lang.Object invokeGetterEvenIfPrivate(java.lang.reflect.Method getter,
java.lang.Object onObject)
public static java.lang.Object invokeFieldEvenIfPrivate(java.lang.reflect.Field field,
java.lang.Object onObject)
public static java.lang.Object invokeField(java.lang.reflect.Field field,
java.lang.Object onObject)
public static java.util.List<java.lang.Class> extractActualClassTypeArguments(java.lang.reflect.Type javaType)
ParameterizedTypepublic static java.lang.Class extractClass(java.lang.reflect.Type javaType)
public static int calculateHierarchyDistance(java.lang.Class<?> clazz,
java.lang.Class<?> parent)