|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.hibernate.validator.internal.util.ReflectionHelper
public final class ReflectionHelper
Some reflection utility methods. Where necessary calls will be performed as PrivilegedAction
which is necessary
for situations where a security manager is in place.
Method Summary | ||
---|---|---|
static Class<?> |
boxedType(Class<?> primitiveType)
Returns the auto-boxed type of a primitive type. |
|
static
|
getAnnotationParameter(Annotation annotation,
String parameterName,
Class<T> type)
|
|
static ClassLoader |
getClassLoaderFromClass(Class<?> clazz)
|
|
static ClassLoader |
getClassLoaderFromContext()
|
|
static
|
getConstructor(Class<T> clazz,
Class<?>... params)
|
|
static Constructor<?>[] |
getDeclaredConstructors(Class<?> clazz)
Returns the declared constructors of the specified class. |
|
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)
Returns the JavaBeans property name of the given member. |
|
static Object |
getValue(Field field,
Object object)
|
|
static Object |
getValue(Member member,
Object object)
|
|
static Object |
getValue(Method method,
Object object)
|
|
static boolean |
isGetterMethod(Method method)
Checks whether the given method is a valid JavaBeans getter method, which is the case if its name starts with "get" and it has a return type but no parameter or its name starts with "is", it has no parameter and is returning boolean or
its name starts with "has", it has no parameter and is returning
boolean (HV-specific, not mandated by JavaBeans spec).
|
|
static boolean |
isIterable(Type type)
|
|
static boolean |
isList(Type type)
|
|
static boolean |
isMap(Type type)
|
|
static Class<?> |
loadClass(String className,
Class<?> caller)
|
|
static Class<?> |
loadClass(String className,
String defaultPackage)
|
|
static Class<?> |
loadClass(String className,
String defaultPackage,
Class<?> caller)
|
|
static
|
newConstructorInstance(Constructor<T> constructor,
Object... initArgs)
|
|
static
|
newInstance(Class<T> clazz,
String message)
|
|
static boolean |
overrides(Method subTypeMethod,
Method superTypeMethod)
Checks, whether subTypeMethod overrides superTypeMethod . |
|
static void |
setAccessibility(Member member)
|
|
static Type |
typeOf(ExecutableElement executable,
int parameterIndex)
Returns the type of the parameter of the given method with the given parameter index. |
|
static Type |
typeOf(Member member)
|
|
static Class<?> |
unBoxedType(Class<?> type)
Returns the primitive type for a boxed type. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static ClassLoader getClassLoaderFromContext()
public static ClassLoader getClassLoaderFromClass(Class<?> clazz)
public static Class<?> loadClass(String className, Class<?> caller)
public static Class<?> loadClass(String className, String defaultPackage)
public static Class<?> loadClass(String className, String defaultPackage, Class<?> caller)
public static <T> Constructor<T> getConstructor(Class<T> clazz, Class<?>... params)
public static <T> T newInstance(Class<T> clazz, String message)
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)
boolean
orboolean
(HV-specific, not mandated by JavaBeans spec).
member
- The member for which to get the property name.
null
if the
member is neither a field nor a getter method according to the
JavaBeans standard.public static boolean isGetterMethod(Method method)
boolean
orboolean
(HV-specific, not mandated by JavaBeans spec).
method
- The method of interest.
true
, if the given method is a JavaBeans getter method,
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 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(ExecutableElement executable, int parameterIndex)
executable
- The executable of interest.parameterIndex
- The index of the parameter for which the type should be returned.
public static Object getValue(Member member, Object object)
public static Object getValue(Field field, Object object)
public static Object getValue(Method method, Object object)
public static void setAccessibility(Member member)
public static Type getIndexedType(Type type)
Iterable
, array or the value of a Map
.
type
- the type to inspect
Iterable
, 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.
- Returns:
- The indexed value or
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 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 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 Constructor<?>[] getDeclaredConstructors(Class<?> clazz)
clazz
- The class for which to retrieve the constructors.
public static Class<?> boxedType(Class<?> primitiveType)
primitiveType
- the primitive type
Void
is
passed (which is considered as primitive type by
Class.isPrimitive()
), Void
will be returned.
IllegalArgumentException
- in case the parameter primitiveType
does not
represent a primitive type.public static Class<?> unBoxedType(Class<?> type)
type
- the boxed type
Void
is
passed (which is considered as primitive type by
Class.isPrimitive()
), Void
will be returned.
IllegalArgumentException
- in case the parameter primitiveType
does not
represent a primitive type.public static boolean overrides(Method subTypeMethod, Method superTypeMethod)
subTypeMethod
overrides superTypeMethod
.
subTypeMethod
- The sub type method (cannot be null
).superTypeMethod
- The super type method (cannot be null
).
true
if subTypeMethod
overrides superTypeMethod
,
false
otherwise.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |