Package org.apache.cxf.common.util
Class ReflectionUtil
java.lang.Object
org.apache.cxf.common.util.ReflectionUtil
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> T
accessDeclaredField
(Field f, Object o, Class<T> responseClass) static <T> T
accessDeclaredField
(String fieldName, Class<?> cls, Object o, Class<T> responseClass) static <T extends Annotation>
TgetAnnotationForMethodOrContainingClass
(Method m, Class<T> annotationType) Look for a specified annotation on a method.static <T> Constructor<T>
getConstructor
(Class<T> cls, Class<?>... args) static <T> Constructor<T>
getDeclaredConstructor
(Class<T> cls, Class<?>... args) static <T> Constructor<T>[]
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 Method
static PropertyDescriptor[]
getPropertyDescriptorsAvoidSunBug
(Class<?> refClass, BeanInfo beanInfo, Class<?> beanClass, PropertyDescriptor[] propertyDescriptors) create own array of property descriptors to:static <T extends AccessibleObject>
TsetAccessible
(T o) static <T extends AccessibleObject>
TsetAccessible
(T o, boolean b)
-
Method Details
-
accessDeclaredField
-
accessDeclaredField
-
getDeclaredField
-
getDeclaredConstructor
-
getConstructor
-
getDeclaredConstructors
-
getDeclaredMethods
-
getDeclaredMethod
public static Method getDeclaredMethod(Class<?> clazz, String name, Class<?>... parameterTypes) throws NoSuchMethodException - Throws:
NoSuchMethodException
-
getMethod
public static Method getMethod(Class<?> clazz, String name, Class<?>... parameterTypes) throws NoSuchMethodException - Throws:
NoSuchMethodException
-
getDeclaredFields
-
setAccessible
-
setAccessible
-
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.
-