org.apache.cxf.common.util
Class ReflectionUtil
java.lang.Object
org.apache.cxf.common.util.ReflectionUtil
public final class ReflectionUtil
- extends Object
Method Summary |
static
|
accessDeclaredField(Field f,
Object o,
Class<T> responseClass)
|
static
|
accessDeclaredField(String fieldName,
Class<?> cls,
Object o,
Class<T> responseClass)
|
static
|
getAnnotationForMethodOrContainingClass(Method m,
Class<T> annotationType)
Look for a specified annotation on a method. |
static
|
getConstructor(Class<T> cls,
Class<?>... args)
|
static
|
getDeclaredConstructor(Class<T> cls,
Class<?>... args)
|
static
|
getDeclaredConstructors(Class<T> cls)
|
static Field |
getDeclaredField(Class<?> cls,
String name)
|
static Field[] |
getDeclaredFields(Class<?> cls)
|
static Method |
getDeclaredMethod(Class<?> clazz,
String name,
Class<?>... parameterTypes)
|
static Method[] |
getDeclaredMethods(Class<?> cls)
|
static PropertyDescriptor[] |
getPropertyDescriptorsAvoidSunBug(Class<?> refClass,
BeanInfo beanInfo,
Class<?> beanClass,
PropertyDescriptor[] propertyDescriptors)
create own array of property descriptors to: |
static
|
setAccessible(T o)
|
static
|
setAccessible(T o,
boolean b)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
accessDeclaredField
public static <T> T accessDeclaredField(Field f,
Object o,
Class<T> responseClass)
accessDeclaredField
public static <T> T accessDeclaredField(String fieldName,
Class<?> cls,
Object o,
Class<T> responseClass)
getDeclaredField
public static Field getDeclaredField(Class<?> cls,
String name)
getDeclaredConstructor
public static <T> Constructor<T> getDeclaredConstructor(Class<T> cls,
Class<?>... args)
getConstructor
public static <T> Constructor<T> getConstructor(Class<T> cls,
Class<?>... args)
getDeclaredConstructors
public static <T> Constructor<T>[] getDeclaredConstructors(Class<T> cls)
getDeclaredMethods
public static Method[] getDeclaredMethods(Class<?> cls)
getDeclaredMethod
public static Method getDeclaredMethod(Class<?> clazz,
String name,
Class<?>... parameterTypes)
throws NoSuchMethodException
- Throws:
NoSuchMethodException
getDeclaredFields
public static Field[] getDeclaredFields(Class<?> cls)
setAccessible
public static <T extends AccessibleObject> T setAccessible(T o)
setAccessible
public static <T extends AccessibleObject> T setAccessible(T o,
boolean b)
getPropertyDescriptorsAvoidSunBug
public static PropertyDescriptor[] getPropertyDescriptorsAvoidSunBug(Class<?> refClass,
BeanInfo beanInfo,
Class<?> beanClass,
PropertyDescriptor[] propertyDescriptors)
- create own array of property descriptors to:
- 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
- Parameters:
refClass
- calling class for class loading.beanInfo
- Bean in questionbeanClass
- class for bean in questionpropertyDescriptors
- raw descriptors
getAnnotationForMethodOrContainingClass
public static <T extends Annotation> T getAnnotationForMethodOrContainingClass(Method m,
Class<T> annotationType)
- Look for a specified annotation on a method. If there, return it. If not, search it's containing class.
Assume that the annotation is marked @Inherited.
- Parameters:
m
- method to examineannotationType
- the annotation type to look for.
Apache CXF