Package org.castor.cpa.jpa.processors
Class ReflectionsHelper
java.lang.Object
org.castor.cpa.jpa.processors.ReflectionsHelper
Tool class that offers methods to retrieve information from
AnnotatedElement
s (Methods or Fields).- Version:
- 12.02.2009
- Author:
- Peter Schmidt
-
Method Summary
Modifier and TypeMethodDescriptionstatic Class<?>
getCollectionType
(AnnotatedElement target, boolean jpaTypesOnly) Get the (raw) type of collection from the annotations target and optional check for JPA 1.0 restrictions (only Collection, Map, List and Set are allowed).static String
getFieldnameFromGetter
(Method getter) Little helper to get a field (bean property) name from a getter method.static Method
getSetterMethodFromGetter
(Method getter) static Class<?>
Get the target entity information from the target (necessary if it was not specified by the annotation itself).static boolean
Convenience method to check whether aMethod
is a getter method, i.e.
-
Method Details
-
getCollectionType
public static Class<?> getCollectionType(AnnotatedElement target, boolean jpaTypesOnly) throws AnnotationTargetException Get the (raw) type of collection from the annotations target and optional check for JPA 1.0 restrictions (only Collection, Map, List and Set are allowed).- Parameters:
target
- The ManyToMany annotations target.jpaTypesOnly
- If set to true only Collection types of JPA 1.0 are allowed. Others will lead to a thrown Exception.- Returns:
- The raw collection type.
- Throws:
AnnotationTargetException
- if the raw collection type can not be inferred from the type definition or if the type is not supported by JPA 1.0 and jpaTypesOnly was set to true.
-
getTargetEntityFromGenerics
public static Class<?> getTargetEntityFromGenerics(AnnotatedElement target) throws AnnotationTargetException Get the target entity information from the target (necessary if it was not specified by the annotation itself).- Parameters:
target
- The *ToMany annotations target. This method will fail if target is not of TypeField
orMethod
!- Returns:
- the relations target entity inferred by the targets generic definition or null if no generic definition was found at all.
- Throws:
AnnotationTargetException
- if the generic definition is not sufficient
-
getFieldnameFromGetter
Little helper to get a field (bean property) name from a getter method.
Example:getFoo() => "foo"
Example:isBar() => "bar"
- Parameters:
getter
- theMethod
to analyse.- Returns:
- the field name determined by the methods name or NULL if the method is not a getter (start with "get" or "is").
-
getSetterMethodFromGetter
public static Method getSetterMethodFromGetter(Method getter) throws SecurityException, NoSuchMethodException - Parameters:
getter
- The getterMethod
- Returns:
- The setter Method for the given getter Method.
- Throws:
NoSuchMethodException
- If the setter method does not existSecurityException
- If the setter method is not accessible
-
isGetter
Convenience method to check whether aMethod
is a getter method, i.e. starts with "get" or "is".- Parameters:
method
- theMethod
to check.- Returns:
- true if the methods name starts with "get" or "is" (Java Beans convention).
-