Class Helper
- java.lang.Object
-
- org.eclipse.persistence.jaxb.javamodel.Helper
-
public class Helper extends java.lang.ObjectINTERNAL: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
Fields Modifier and Type Field Description static java.lang.StringABYTEstatic java.lang.StringAPBYTEstatic java.lang.StringBIGDECIMALstatic java.lang.StringBIGINTEGERstatic java.lang.StringBOOLEANstatic java.lang.StringBYTEstatic java.lang.StringCALENDARstatic java.lang.StringCHARstatic java.lang.StringCHARACTERstatic java.lang.StringCLASSstatic java.lang.StringDOUBLEstatic java.lang.StringDURATIONstatic java.lang.StringFLOATstatic java.lang.StringGREGORIAN_CALENDARstatic java.lang.StringINTEGERprotected static java.lang.StringJAVA_PKGprotected static java.lang.StringJAVAX_PKGprotected static java.lang.StringJAVAX_RPC_PKGprotected static java.lang.StringJAVAX_WS_PKGprotected JavaModeljModelprotected java.lang.ClassLoaderloaderstatic java.lang.StringLONGstatic java.lang.StringOBJECTstatic java.lang.StringPBOOLEANstatic java.lang.StringPBYTEstatic java.lang.StringPDOUBLEstatic java.lang.StringPFLOATstatic java.lang.StringPINTstatic java.lang.StringPLONGstatic java.lang.StringPSHORTstatic java.lang.StringQNAME_CLASSstatic java.lang.StringSHORTstatic java.lang.StringSQL_DATEstatic java.lang.StringSQL_TIMEstatic java.lang.StringSQL_TIMESTAMPstatic java.lang.StringSTRINGstatic java.lang.StringURIstatic java.lang.StringURLstatic java.lang.StringUTIL_DATEstatic java.lang.StringUUIDstatic java.lang.StringXMLGREGORIANCALENDAR
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanclassExistsInArray(JavaClass theClass, java.util.List<JavaClass> existingClasses)Convenience method to determine if a class exists in a given ArrayList.java.lang.annotation.AnnotationgetAnnotation(JavaHasAnnotations element, java.lang.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.java.lang.ClassgetClassForJavaClass(JavaClass javaClass)java.lang.ClassLoadergetClassLoader()JavaClassgetGenericReturnType(JavaMethod meth)Return a given method's generic return type as a JavaClass.JavaClassgetJavaClass(java.lang.Class javaClass)Return a JavaClass instance created based the provided class.JavaClassgetJavaClass(java.lang.String javaClassName)Return a JavaClass instance created based on fully qualified class name.JavaClass[]getJavaClassArray(java.lang.Class... classes)Return array of JavaClass instances created based on the provided classes.JavaClassgetJaxbElementClass()Return a JavaClass instance based on the @see javax.xml.bind.JAXBElement .JavaClassgetObjectClass()Return a JavaClass instance based on the @see java.lang.Object .static java.lang.StringgetQualifiedJavaTypeName(java.lang.String javaTypeName, java.lang.String packageName)Prepends a package name to a given java type name, if it is not already present.JavaClassgetType(JavaField field)Returns a JavaClass instance wrapping the provided field's resolved type.java.util.HashMapgetXMLToJavaTypeMap()Return a map of default Java types to XML types.booleanisAnnotationPresent(JavaHasAnnotations element, java.lang.Class annotationClass)Indicates if element contains a given annotation.booleanisBuiltInJavaType(JavaClass jClass)Indicates if a given JavaClass is a built-in Java type.booleanisCollectionType(JavaClass type)booleanisFacets()booleanisMapType(JavaClass type)voidsetClassLoader(java.lang.ClassLoader loader)voidsetFacets(boolean facets)voidsetJavaModel(JavaModel model)
-
-
-
Field Detail
-
loader
protected java.lang.ClassLoader loader
-
jModel
protected JavaModel jModel
-
APBYTE
public static final java.lang.String APBYTE
- See Also:
- Constant Field Values
-
BIGDECIMAL
public static final java.lang.String BIGDECIMAL
- See Also:
- Constant Field Values
-
BIGINTEGER
public static final java.lang.String BIGINTEGER
- See Also:
- Constant Field Values
-
PBOOLEAN
public static final java.lang.String PBOOLEAN
- See Also:
- Constant Field Values
-
PBYTE
public static final java.lang.String PBYTE
- See Also:
- Constant Field Values
-
CALENDAR
public static final java.lang.String CALENDAR
- See Also:
- Constant Field Values
-
CHARACTER
public static final java.lang.String CHARACTER
- See Also:
- Constant Field Values
-
CHAR
public static final java.lang.String CHAR
- See Also:
- Constant Field Values
-
OBJECT
public static final java.lang.String OBJECT
- See Also:
- Constant Field Values
-
CLASS
public static final java.lang.String CLASS
- See Also:
- Constant Field Values
-
PDOUBLE
public static final java.lang.String PDOUBLE
- See Also:
- Constant Field Values
-
PFLOAT
public static final java.lang.String PFLOAT
- See Also:
- Constant Field Values
-
PINT
public static final java.lang.String PINT
- See Also:
- Constant Field Values
-
PLONG
public static final java.lang.String PLONG
- See Also:
- Constant Field Values
-
PSHORT
public static final java.lang.String PSHORT
- See Also:
- Constant Field Values
-
QNAME_CLASS
public static final java.lang.String QNAME_CLASS
- See Also:
- Constant Field Values
-
STRING
public static final java.lang.String STRING
- See Also:
- Constant Field Values
-
ABYTE
public static final java.lang.String ABYTE
- See Also:
- Constant Field Values
-
BOOLEAN
public static final java.lang.String BOOLEAN
- See Also:
- Constant Field Values
-
BYTE
public static final java.lang.String BYTE
- See Also:
- Constant Field Values
-
GREGORIAN_CALENDAR
public static final java.lang.String GREGORIAN_CALENDAR
- See Also:
- Constant Field Values
-
DOUBLE
public static final java.lang.String DOUBLE
- See Also:
- Constant Field Values
-
FLOAT
public static final java.lang.String FLOAT
- See Also:
- Constant Field Values
-
INTEGER
public static final java.lang.String INTEGER
- See Also:
- Constant Field Values
-
UUID
public static final java.lang.String UUID
- See Also:
- Constant Field Values
-
LONG
public static final java.lang.String LONG
- See Also:
- Constant Field Values
-
SHORT
public static final java.lang.String SHORT
- See Also:
- Constant Field Values
-
UTIL_DATE
public static final java.lang.String UTIL_DATE
- See Also:
- Constant Field Values
-
SQL_DATE
public static final java.lang.String SQL_DATE
- See Also:
- Constant Field Values
-
SQL_TIME
public static final java.lang.String SQL_TIME
- See Also:
- Constant Field Values
-
SQL_TIMESTAMP
public static final java.lang.String SQL_TIMESTAMP
- See Also:
- Constant Field Values
-
DURATION
public static final java.lang.String DURATION
- See Also:
- Constant Field Values
-
XMLGREGORIANCALENDAR
public static final java.lang.String XMLGREGORIANCALENDAR
- See Also:
- Constant Field Values
-
URI
public static final java.lang.String URI
- See Also:
- Constant Field Values
-
URL
public static final java.lang.String URL
- See Also:
- Constant Field Values
-
JAVA_PKG
protected static final java.lang.String JAVA_PKG
- See Also:
- Constant Field Values
-
JAVAX_PKG
protected static final java.lang.String JAVAX_PKG
- See Also:
- Constant Field Values
-
JAVAX_WS_PKG
protected static final java.lang.String JAVAX_WS_PKG
- See Also:
- Constant Field Values
-
JAVAX_RPC_PKG
protected static final java.lang.String JAVAX_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(java.lang.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(java.lang.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(java.lang.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 java.util.HashMap getXMLToJavaTypeMap()
Return a map of default Java types to XML types.- Returns:
-
getAnnotation
public java.lang.annotation.Annotation getAnnotation(JavaHasAnnotations element, java.lang.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 javax.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, java.lang.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 "javax.xml.ws." and "javax.xml.rpc"- Parameters:
jClass-- Returns:
-
setClassLoader
public void setClassLoader(java.lang.ClassLoader loader)
-
setJavaModel
public void setJavaModel(JavaModel model)
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
-
getClassForJavaClass
public java.lang.Class getClassForJavaClass(JavaClass javaClass)
-
classExistsInArray
public boolean classExistsInArray(JavaClass theClass, java.util.List<JavaClass> existingClasses)
Convenience method to determine if a class exists in a given ArrayList.
-
getQualifiedJavaTypeName
public static java.lang.String getQualifiedJavaTypeName(java.lang.String javaTypeName, java.lang.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)
-
-