public final class ReflectionHelper extends Object
PrivilegedAction which is necessary
for situations where a security manager is in place.| Modifier and Type | Method and Description |
|---|---|
static Class<?> |
boxedType(Type primitiveType)
Returns the autoboxed type of a primitive type.
|
static Set<Class<?>> |
computeAllImplementedInterfaces(Class<?> clazz)
Get all interfaces a class directly implements.
|
static List<Class<?>> |
computeClassHierarchy(Class<?> clazz,
boolean includeInterfaces)
Get all superclasses and optionally interfaces recursively.
|
static boolean |
containsDeclaredField(Class<?> clazz,
String fieldName)
Checks whether the specified class contains a declared field with the given name.
|
static boolean |
containsMethodWithPropertyName(Class<?> clazz,
String property)
Checks whether the specified class contains a method for the specified property.
|
static <T> T |
getAnnotationParameter(Annotation annotation,
String parameterName,
Class<T> type) |
static ClassLoader |
getClassLoaderFromClass(Class<?> clazz) |
static ClassLoader |
getClassLoaderFromContext() |
static <T> Constructor<T> |
getConstructor(Class<T> clazz,
Class<?>... params) |
static Field |
getDeclaredField(Class<?> clazz,
String fieldName)
Returns the declared field with the specified name or
null if it does not exist. |
static Field[] |
getDeclaredFields(Class<?> clazz)
Returns the fields of the specified class.
|
static Method |
getDeclaredMethod(Class<?> clazz,
String methodName,
Class<?>... parameterTypes)
Returns the declared method with the specified name and parameter types or
null if
it does not exist. |
static Method[] |
getDeclaredMethods(Class<?> clazz)
Returns the declared methods of the specified class.
|
static Type |
getIndexedType(Type type)
Determines the type of elements of an
Iterable, array or the value of a Map. |
static Object |
getIndexedValue(Object value,
Integer index)
Tries to retrieve the indexed value from the specified object.
|
static Object |
getMappedValue(Object value,
Object key)
Tries to retrieve the mapped value from the specified object.
|
static Member |
getMember(Class<?> clazz,
String property,
ElementType elementType)
Returns the member with the given name and type.
|
static Method |
getMethod(Class<?> clazz,
String methodName)
Returns the method with the specified name or
null if it does not exist. |
static Method |
getMethodFromPropertyName(Class<?> clazz,
String methodName)
Returns the method with the specified property name or
null if it does not exist. |
static Method[] |
getMethods(Class<?> clazz)
Returns the methods of the specified class (include inherited methods).
|
static String |
getPropertyName(Member member)
Process bean properties getter by applying the JavaBean naming conventions.
|
static Class<?> |
getType(Member member)
Returns the type of the field of return type of a method.
|
static Object |
getValue(Member member,
Object object) |
static boolean |
haveSameSignature(Method method1,
Method method2)
Checks, whether the given methods have the same signature, which is the
case if they have the same name, parameter count and types.
|
static boolean |
isGetterMethod(Method member)
Checks whether the given method's name is a valid JavaBeans getter name,
meaning it starts with "is" or "has".
|
static boolean |
isIterable(Type type) |
static boolean |
isList(Type type) |
static boolean |
isMap(Type type) |
static Class<?> |
loadClass(String className,
Class<?> caller) |
static <T> T |
newConstructorInstance(Constructor<T> constructor,
Object... initArgs) |
static <T> T |
newInstance(Class<T> clazz,
String message) |
static boolean |
propertyExists(Class<?> clazz,
String property,
ElementType elementType)
Checks whether the property with the specified name and type exists on the given class.
|
static void |
setAccessibility(Member member) |
static Type |
typeOf(Member member) |
static Type |
typeOf(Method method,
int parameterIndex)
Returns the type of the parameter of the given method with the given parameter index.
|
public static ClassLoader getClassLoaderFromContext()
public static ClassLoader getClassLoaderFromClass(Class<?> clazz)
public static <T> Constructor<T> getConstructor(Class<T> clazz, Class<?>... params)
public static <T> T newConstructorInstance(Constructor<T> constructor, Object... initArgs)
public static <T> T getAnnotationParameter(Annotation annotation, String parameterName, Class<T> type)
public static String getPropertyName(Member member)
member - the member for which to get the property name.null
the method name id not according to the JavaBeans standard.public static boolean isGetterMethod(Method member)
member - The method of interest.public static boolean propertyExists(Class<?> clazz, String property, ElementType elementType)
clazz - The class to check for the property. Cannot be null.property - The property name without 'is', 'get' or 'has'. Cannot be null or empty.elementType - The element type. Either ElementType.FIELD or ElementType METHOD.true is the property and can be access via the specified type, false otherwise.public static Member getMember(Class<?> clazz, String property, ElementType elementType)
clazz - The class from which to retrieve the member. Cannot be null.property - The property name without 'is', 'get' or 'has'. Cannot be null or empty.elementType - The element type. Either ElementType.FIELD or ElementType METHOD.null if no such member exists.public static Class<?> getType(Member member)
member - the member for which to get the type.public static Type typeOf(Member member)
member - The Member instance for which to retrieve the type.Type of the given Field or Method.IllegalArgumentException - in case member is not a Field or Method.public static Type typeOf(Method method, int parameterIndex)
method - The method of interest.parameterIndex - The index of the parameter for which the type should be returned.public static void setAccessibility(Member member)
public static Type getIndexedType(Type type)
Iterable, array or the value of a Map.type - the type to inspectIterable, array or the value of a Map.
null is returned in case the type is not indexable (in the context of JSR 303).public static boolean isIterable(Type type)
type - the type to check.true if type is a iterable type, false otherwise.public static boolean isMap(Type type)
type - the type to check.true if type is implementing Map, false otherwise.public static boolean isList(Type type)
type - the type to check.true if type is implementing List, false otherwise.public static Object getIndexedValue(Object value, Integer index)
value - The object from which to retrieve the indexed value. The object has to be non null and
either a collection or array.index - The index. The index does not have to be numerical. value could also be a map in which
case the index could also be a string key.null if value is null or not a collection or array.
null is also returned in case the index does not exist.public static Object getMappedValue(Object value, Object key)
value - The object from which to retrieve the mapped value. The object has to be non null and
must implement the @{code Map} interface.key - The map key. index.null if value is null or not implementing @{code Map}.public static Field getDeclaredField(Class<?> clazz, String fieldName)
null if it does not exist.clazz - The class to check.fieldName - The field name.null if it does not exist.public static boolean containsDeclaredField(Class<?> clazz, String fieldName)
clazz - The class to check.fieldName - The field name.true if the field exists, false otherwise.public static Field[] getDeclaredFields(Class<?> clazz)
clazz - The class for which to retrieve the fields.public static Method getMethodFromPropertyName(Class<?> clazz, String methodName)
null if it does not exist. This method will
prepend 'is' and 'get' to the property name and capitalize the first letter.clazz - The class to check.methodName - The property name.null if it does not exist.public static boolean containsMethodWithPropertyName(Class<?> clazz, String property)
clazz - The class to check.property - The property name.true if the method exists, false otherwise.public static Method getMethod(Class<?> clazz, String methodName)
null if it does not exist.clazz - The class to check.methodName - The method name.null if it does not exist.public static Method getDeclaredMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes)
null if
it does not exist.clazz - The class to check.methodName - The method name.parameterTypes - The method parameter types.null if it does not exist.public static Method[] getDeclaredMethods(Class<?> clazz)
clazz - The class for which to retrieve the methods.public static Method[] getMethods(Class<?> clazz)
clazz - The class for which to retrieve the methods.public static boolean haveSameSignature(Method method1, Method method2)
method1 - A first method.method2 - A second method.public static Class<?> boxedType(Type primitiveType)
primitiveType - the primitive typeIllegalArgumentException - in case the parameter primitiveType does not represent a primitive type.public static List<Class<?>> computeClassHierarchy(Class<?> clazz, boolean includeInterfaces)
clazz - The class to start the search with.includeInterfaces - whether or not to include interfacesclazz. The list contains the class itself! The empty
list is returned if clazz is null.public static Set<Class<?>> computeAllImplementedInterfaces(Class<?> clazz)
clazz - The class for which to find the interfacesclazz implements. The empty list is returned if clazz does not
implement any interfaces or clazz is nullCopyright © 2012 JBoss by Red Hat. All Rights Reserved.