Class Helper
- java.lang.Object
-
- org.eclipse.persistence.jaxb.javamodel.Helper
-
public class Helper extends Object
INTERNAL:Purpose:To provide helper methods and constants to assist in integrating TopLink JAXB 2.0 Generation with the JDEV JOT APIs.
Responsibilities:
- Make available a map of JOT - XML type pairs
- Redirect method calls to the current JavaModel implementation as required
- Provide methods for accessing generics, annotations, etc. on a given implementaiton's classes
- Provide a dynamic proxy instance for a given JavaAnnotation in the JOT implementation (for reflection a Java SDK annotation is returned)
- See Also:
JavaModel
,AnnotationProxy
- Since:
- Oracle TopLink 11.1.1.0.0
-
-
Field Summary
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
classExistsInArray(JavaClass theClass, List<JavaClass> existingClasses)
Convenience method to determine if a class exists in a given ArrayList.Annotation
getAnnotation(JavaHasAnnotations element, Class annotationClass)
Returns a either a dynamic proxy instance that allows an element to be treated as an annotation (for JOT), or a Java annotation (for Reflection), or null if the specified annotation does not exist.Class
getClassForJavaClass(JavaClass javaClass)
ClassLoader
getClassLoader()
JavaClass
getGenericReturnType(JavaMethod meth)
Return a given method's generic return type as a JavaClass.JavaClass
getJavaClass(Class javaClass)
Return a JavaClass instance created based the provided class.JavaClass
getJavaClass(String javaClassName)
Return a JavaClass instance created based on fully qualified class name.JavaClass[]
getJavaClassArray(Class... classes)
Return array of JavaClass instances created based on the provided classes.JavaClass
getJaxbElementClass()
Return a JavaClass instance based on the @see jakarta.xml.bind.JAXBElement .JavaClass
getObjectClass()
Return a JavaClass instance based on the @see java.lang.Object .static String
getQualifiedJavaTypeName(String javaTypeName, String packageName)
Prepends a package name to a given java type name, if it is not already present.JavaClass
getType(JavaField field)
Returns a JavaClass instance wrapping the provided field's resolved type.HashMap
getXMLToJavaTypeMap()
Return a map of default Java types to XML types.boolean
isAnnotationPresent(JavaHasAnnotations element, Class annotationClass)
Indicates if element contains a given annotation.boolean
isBuiltInJavaType(JavaClass jClass)
Indicates if a given JavaClass is a built-in Java type.boolean
isCollectionType(JavaClass type)
boolean
isFacets()
boolean
isMapType(JavaClass type)
void
setClassLoader(ClassLoader loader)
void
setFacets(boolean facets)
void
setJavaModel(JavaModel model)
-
-
-
Field Detail
-
loader
protected ClassLoader loader
-
jModel
protected JavaModel jModel
-
APBYTE
public static final String APBYTE
- See Also:
- Constant Field Values
-
BIGDECIMAL
public static final String BIGDECIMAL
- See Also:
- Constant Field Values
-
BIGINTEGER
public static final String BIGINTEGER
- See Also:
- Constant Field Values
-
PBOOLEAN
public static final String PBOOLEAN
- See Also:
- Constant Field Values
-
PBYTE
public static final String PBYTE
- See Also:
- Constant Field Values
-
CALENDAR
public static final String CALENDAR
- See Also:
- Constant Field Values
-
CHARACTER
public static final String CHARACTER
- See Also:
- Constant Field Values
-
CHAR
public static final String CHAR
- See Also:
- Constant Field Values
-
OBJECT
public static final String OBJECT
- See Also:
- Constant Field Values
-
CLASS
public static final String CLASS
- See Also:
- Constant Field Values
-
PDOUBLE
public static final String PDOUBLE
- See Also:
- Constant Field Values
-
PFLOAT
public static final String PFLOAT
- See Also:
- Constant Field Values
-
PINT
public static final String PINT
- See Also:
- Constant Field Values
-
PLONG
public static final String PLONG
- See Also:
- Constant Field Values
-
PSHORT
public static final String PSHORT
- See Also:
- Constant Field Values
-
QNAME_CLASS
public static final String QNAME_CLASS
- See Also:
- Constant Field Values
-
STRING
public static final String STRING
- See Also:
- Constant Field Values
-
ABYTE
public static final String ABYTE
- See Also:
- Constant Field Values
-
BOOLEAN
public static final String BOOLEAN
- See Also:
- Constant Field Values
-
BYTE
public static final String BYTE
- See Also:
- Constant Field Values
-
GREGORIAN_CALENDAR
public static final String GREGORIAN_CALENDAR
- See Also:
- Constant Field Values
-
DOUBLE
public static final String DOUBLE
- See Also:
- Constant Field Values
-
FLOAT
public static final String FLOAT
- See Also:
- Constant Field Values
-
INTEGER
public static final String INTEGER
- See Also:
- Constant Field Values
-
UUID
public static final String UUID
- See Also:
- Constant Field Values
-
LONG
public static final String LONG
- See Also:
- Constant Field Values
-
SHORT
public static final String SHORT
- See Also:
- Constant Field Values
-
UTIL_DATE
public static final String UTIL_DATE
- See Also:
- Constant Field Values
-
SQL_DATE
public static final String SQL_DATE
- See Also:
- Constant Field Values
-
SQL_TIME
public static final String SQL_TIME
- See Also:
- Constant Field Values
-
SQL_TIMESTAMP
public static final String SQL_TIMESTAMP
- See Also:
- Constant Field Values
-
DURATION
public static final String DURATION
- See Also:
- Constant Field Values
-
XMLGREGORIANCALENDAR
public static final String XMLGREGORIANCALENDAR
- See Also:
- Constant Field Values
-
URI
public static final String URI
- See Also:
- Constant Field Values
-
URL
public static final String URL
- See Also:
- Constant Field Values
-
JAVA_PKG
protected static final String JAVA_PKG
- See Also:
- Constant Field Values
-
JAVAX_PKG
protected static final String JAVAX_PKG
- See Also:
- Constant Field Values
-
JAKARTA_PKG
protected static final String JAKARTA_PKG
- See Also:
- Constant Field Values
-
JAVAX_WS_PKG
protected static final String JAVAX_WS_PKG
- See Also:
- Constant Field Values
-
JAKARTA_WS_PKG
protected static final String JAKARTA_WS_PKG
- See Also:
- Constant Field Values
-
JAVAX_RPC_PKG
protected static final String JAVAX_RPC_PKG
- See Also:
- Constant Field Values
-
JAKARTA_RPC_PKG
protected static final String JAKARTA_RPC_PKG
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Helper
public Helper(JavaModel model)
INTERNAL: This is the preferred constructor. This constructor builds the map of XML-Java type pairs, and sets the JavaModel and ClassLoader.- Parameters:
model
-
-
-
Method Detail
-
getGenericReturnType
public JavaClass getGenericReturnType(JavaMethod meth)
Return a given method's generic return type as a JavaClass.- Parameters:
meth
-- Returns:
-
getJavaClass
public JavaClass getJavaClass(Class javaClass)
Return a JavaClass instance created based the provided class. This assumes that the provided class exists on the classpath - null is returned otherwise.- Parameters:
javaClass
-- Returns:
-
getJavaClassArray
public JavaClass[] getJavaClassArray(Class... classes)
Return array of JavaClass instances created based on the provided classes. This assumes provided classes exist on the classpath.- Parameters:
classes
-- Returns:
- JavaClass array
-
getJavaClass
public JavaClass getJavaClass(String javaClassName)
Return a JavaClass instance created based on fully qualified class name. This assumes that a class with the provided name exists on the classpath - null is returned otherwise.- Parameters:
javaClassName
-- Returns:
-
getXMLToJavaTypeMap
public HashMap getXMLToJavaTypeMap()
Return a map of default Java types to XML types.- Returns:
-
getAnnotation
public Annotation getAnnotation(JavaHasAnnotations element, Class annotationClass)
Returns a either a dynamic proxy instance that allows an element to be treated as an annotation (for JOT), or a Java annotation (for Reflection), or null if the specified annotation does not exist. Intended to be used in conjunction with isAnnotationPresent.- Parameters:
element
-annotationClass
-- Returns:
- See Also:
isAnnotationPresent(org.eclipse.persistence.jaxb.javamodel.JavaHasAnnotations, java.lang.Class)
-
getType
public JavaClass getType(JavaField field)
Returns a JavaClass instance wrapping the provided field's resolved type.- Parameters:
field
-- Returns:
-
getJaxbElementClass
public JavaClass getJaxbElementClass()
Return a JavaClass instance based on the @see jakarta.xml.bind.JAXBElement . Replacement of direct access to JAXBELEMENT_CLASS field.- Returns:
-
getObjectClass
public JavaClass getObjectClass()
Return a JavaClass instance based on the @see java.lang.Object . Replacement of direct access to OBJECT_CLASS field.- Returns:
-
isAnnotationPresent
public boolean isAnnotationPresent(JavaHasAnnotations element, Class annotationClass)
Indicates if element contains a given annotation.- Parameters:
element
-annotationClass
-- Returns:
-
isBuiltInJavaType
public boolean isBuiltInJavaType(JavaClass jClass)
Indicates if a given JavaClass is a built-in Java type. A JavaClass is considered to be a built-in type if: 1 - the XMLToJavaTypeMap map contains a key equal to the provided JavaClass' raw name 2 - the provided JavaClass' raw name starts with "java." 3 - the provided JavaClass' raw name starts with "javax.", with the exception of "jakarta.xml.ws." and "javax.xml.rpc"- Parameters:
jClass
-- Returns:
-
setClassLoader
public void setClassLoader(ClassLoader loader)
-
setJavaModel
public void setJavaModel(JavaModel model)
-
getClassLoader
public ClassLoader getClassLoader()
-
classExistsInArray
public boolean classExistsInArray(JavaClass theClass, List<JavaClass> existingClasses)
Convenience method to determine if a class exists in a given ArrayList.
-
getQualifiedJavaTypeName
public static String getQualifiedJavaTypeName(String javaTypeName, String packageName)
Prepends a package name to a given java type name, if it is not already present.- Parameters:
javaTypeName
- Java type name that may/may not contain 'packageName'packageName
- package name to prepend to javaTypeName if not already- Returns:
- fully qualified java type name
-
isCollectionType
public boolean isCollectionType(JavaClass type)
-
isMapType
public boolean isMapType(JavaClass type)
-
isFacets
public boolean isFacets()
-
setFacets
public void setFacets(boolean facets)
-
-