public final class ReflectionUtil
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
static <T> T |
accessDeclaredField(java.lang.reflect.Field f,
java.lang.Object o,
java.lang.Class<T> responseClass) |
static <T> T |
accessDeclaredField(java.lang.String fieldName,
java.lang.Class<?> cls,
java.lang.Object o,
java.lang.Class<T> responseClass) |
static <T extends java.lang.annotation.Annotation> |
getAnnotationForMethodOrContainingClass(java.lang.reflect.Method m,
java.lang.Class<T> annotationType)
Look for a specified annotation on a method.
|
static <T> java.lang.reflect.Constructor<T> |
getConstructor(java.lang.Class<T> cls,
java.lang.Class<?>... args) |
static <T> java.lang.reflect.Constructor<T> |
getDeclaredConstructor(java.lang.Class<T> cls,
java.lang.Class<?>... args) |
static <T> java.lang.reflect.Constructor<T>[] |
getDeclaredConstructors(java.lang.Class<T> cls) |
static java.lang.reflect.Field |
getDeclaredField(java.lang.Class<?> cls,
java.lang.String name) |
static java.lang.reflect.Field[] |
getDeclaredFields(java.lang.Class<?> cls) |
static java.lang.reflect.Method |
getDeclaredMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... parameterTypes) |
static java.lang.reflect.Method[] |
getDeclaredMethods(java.lang.Class<?> cls) |
static java.lang.reflect.Method |
getMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... parameterTypes) |
static java.beans.PropertyDescriptor[] |
getPropertyDescriptorsAvoidSunBug(java.lang.Class<?> refClass,
java.beans.BeanInfo beanInfo,
java.lang.Class<?> beanClass,
java.beans.PropertyDescriptor[] propertyDescriptors)
create own array of property descriptors to:
|
static <T extends java.lang.reflect.AccessibleObject> |
setAccessible(T o) |
static <T extends java.lang.reflect.AccessibleObject> |
setAccessible(T o,
boolean b) |
public static <T> T accessDeclaredField(java.lang.reflect.Field f,
java.lang.Object o,
java.lang.Class<T> responseClass)
public static <T> T accessDeclaredField(java.lang.String fieldName,
java.lang.Class<?> cls,
java.lang.Object o,
java.lang.Class<T> responseClass)
public static java.lang.reflect.Field getDeclaredField(java.lang.Class<?> cls,
java.lang.String name)
public static <T> java.lang.reflect.Constructor<T> getDeclaredConstructor(java.lang.Class<T> cls,
java.lang.Class<?>... args)
public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> cls,
java.lang.Class<?>... args)
public static <T> java.lang.reflect.Constructor<T>[] getDeclaredConstructors(java.lang.Class<T> cls)
public static java.lang.reflect.Method[] getDeclaredMethods(java.lang.Class<?> cls)
public static java.lang.reflect.Method getDeclaredMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... parameterTypes)
throws java.lang.NoSuchMethodException
java.lang.NoSuchMethodExceptionpublic static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... parameterTypes)
throws java.lang.NoSuchMethodException
java.lang.NoSuchMethodExceptionpublic static java.lang.reflect.Field[] getDeclaredFields(java.lang.Class<?> cls)
public static <T extends java.lang.reflect.AccessibleObject> T setAccessible(T o)
public static <T extends java.lang.reflect.AccessibleObject> T setAccessible(T o,
boolean b)
public static java.beans.PropertyDescriptor[] getPropertyDescriptorsAvoidSunBug(java.lang.Class<?> refClass,
java.beans.BeanInfo beanInfo,
java.lang.Class<?> beanClass,
java.beans.PropertyDescriptor[] propertyDescriptors)
- prevent memory leaks by Introspector's cache
- get correct type for generic properties from superclass
that are limited to a specific type in beanClass
see http://bugs.sun.com/view_bug.do?bug_id=6528714
we cannot use BeanUtils.getPropertyDescriptors because of issue SPR-6063
refClass - calling class for class loading.beanInfo - Bean in questionbeanClass - class for bean in questionpropertyDescriptors - raw descriptorspublic static <T extends java.lang.annotation.Annotation> T getAnnotationForMethodOrContainingClass(java.lang.reflect.Method m,
java.lang.Class<T> annotationType)
m - method to examineannotationType - the annotation type to look for.