Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.jaxb.compiler
Class XMLProcessor

java.lang.Object
  extended by org.eclipse.persistence.jaxb.compiler.XMLProcessor


public class XMLProcessor
extends java.lang.Object

Field Summary
private  AnnotationsProcessor aProcessor
           
private static java.lang.String COLON
           
static java.lang.String DEFAULT
           
private static java.lang.String JAVA_LANG_OBJECT
           
private  JavaModelInput jModelInput
           
private  JAXBMetadataLogger logger
           
private static java.lang.String OPEN_BRACKET
           
private static java.lang.String SELF
           
private static java.lang.String SLASH
           
private  java.util.Map<java.lang.String,XmlBindings> xmlBindingMap
           

 

Constructor Summary
XMLProcessor(java.util.Map<java.lang.String,XmlBindings> bindings)
          This is the preferred constructor.

 

Method Summary
private  java.util.Map<java.lang.String,java.util.ArrayList<JavaClass>> buildPackageToJavaClassMap()
          Convenience method for building a Map of package to classes.
 boolean classExistsInArray(JavaClass theClass, java.util.ArrayList<JavaClass> existingClasses)
          Convenience method to determine if a class exists in a given ArrayList.
private  java.util.Map createUserPropertyMap(java.util.List<XmlProperties.XmlProperty> propList)
          Return a Map of user-defined properties.
private  JAXBMetadataLogger getLogger()
          Lazy load the metadata logger.
static java.lang.String getNameFromXPath(java.lang.String xpath, java.lang.String propertyName, boolean isAttribute)
          Convenience method that returns the field name for a given xml-path.
private  XMLNameTransformer getXMLNameTransformerClassFromString(java.lang.String transformerClassName)
           
private static void mergeJavaAttributes(JavaType.JavaAttributes attributes, JavaType.JavaAttributes overrideAttributes, JavaType javaType)
           
private static void mergeJavaType(JavaType existingType, JavaType next)
           
private static void mergeJavaTypes(XmlBindings.JavaTypes javaTypes, XmlBindings.JavaTypes overrideJavaTypes)
           
private  java.util.Map mergeUserPropertyMap(java.util.List<XmlProperties.XmlProperty> propList, java.util.Map existingMap)
          Return a Map of user-defined properties.
static XmlBindings mergeXmlBindings(java.util.List<XmlBindings> bindings)
           
private static void mergeXmlEnums(XmlBindings.XmlEnums xmlEnums, XmlBindings.XmlEnums overrideEnum)
           
private static void mergeXmlEnumValues(java.util.List<XmlEnumValue> xmlEnumValue, java.util.List<XmlEnumValue> overrideXmlEnumValue)
           
private static void mergeXmlJavaTypeAdapters(XmlJavaTypeAdapters xmlJavaTypeAdapters, XmlJavaTypeAdapters overrideAdapters)
           
private static void mergeXmlSchema(XmlSchema xmlSchema, XmlSchema overrideSchema)
           
private static void mergeXmlSchemaTypes(XmlSchemaTypes xmlSchemaTypes, XmlSchemaTypes overrideSchemaTypes)
           
private  Property processJavaAttribute(TypeInfo typeInfo, JavaAttribute javaAttribute, Property oldProperty, NamespaceInfo nsInfo, JavaType javaType)
          Process a given JavaAtribute.
private  void processJavaType(JavaType javaType, TypeInfo typeInfo, NamespaceInfo nsInfo)
          Process a given JavaType's attributes.
private  void processObjectFactory(TypeInfo tInfo)
           
 void processXML(AnnotationsProcessor annotationsProcessor, JavaModelInput jModelInput, TypeMappingInfo[] typeMappingInfos, JavaClass[] originalJavaClasses)
          Process XmlBindings on a per package basis for a given AnnotationsProcessor instance.
private  Property processXmlAnyAttribute(XmlAnyAttribute xmlAnyAttribute, Property oldProperty, TypeInfo tInfo, JavaType javaType)
          Handle xml-any-attribute.
private  Property processXmlAnyElement(XmlAnyElement xmlAnyElement, Property oldProperty, TypeInfo tInfo, JavaType javaType)
          Handle xml-any-element.
private  Property processXmlAttribute(XmlAttribute xmlAttribute, Property oldProperty, TypeInfo typeInfo, NamespaceInfo nsInfo, JavaType javaType)
          XmlAttribute override will completely replace the existing values.
private  Property processXmlElement(XmlElement xmlElement, Property oldProperty, TypeInfo typeInfo, NamespaceInfo nsInfo, JavaType javaType)
          XmlElement override will completely replace the existing values.
private  Property processXmlElementRef(XmlElementRef xmlElementRef, Property oldProperty, TypeInfo info)
          Process an xml-element-ref.
private  Property processXmlElementRefs(XmlElementRefs xmlElementRefs, Property oldProperty, TypeInfo info)
          Process an xml-element-refs.
private  Property processXmlElements(XmlElements xmlElements, Property oldProperty, TypeInfo tInfo)
          Process XmlElements.
private  Property processXmlInverseReference(XmlInverseReference xmlInverseReference, Property oldProperty)
          Handle xml-inverse-reference.
private  Property processXmlJavaTypeAdapter(XmlJavaTypeAdapter xmlAdapter, Property oldProperty)
          Handle property-level XmlJavaTypeAdapter
private  Property processXmlJoinNodes(XmlJoinNodes xmlJoinNodes, Property oldProperty)
          Process XmlJoinNodes.
private  Property processXmlMap(XmlMap xmlMap, Property oldProperty)
           
private  NamespaceInfo processXmlSchema(XmlBindings xmlBindings, java.lang.String packageName)
          Process an XmlSchema.
private  Property processXmlTransformation(XmlTransformation xmlTransformation, Property oldProperty, TypeInfo tInfo)
          Process an XmlTransformation.
private  Property processXmlTransient(XmlTransient xmlTransient, Property oldProperty)
           
private  Property processXmlValue(XmlValue xmlValue, Property oldProperty, TypeInfo info, JavaType javaType)
           
 void reapplyPackageAndClassAdapters(Property prop, TypeInfo owningInfo)
           
private  Property resetProperty(Property oldProperty, TypeInfo tInfo)
          Convenience method for resetting a number of properties on a given property.
private  void setContainerType(Property property, java.lang.String containerClassName)
          Convenience method for setting the container class on a given property.
private  void unsetXmlAnyAttribute(Property oldProperty, TypeInfo tInfo)
          Ensure that a given property is not set as an xml-any-attribute.
private  void unsetXmlAnyElement(Property oldProperty, TypeInfo tInfo)
          Ensure that a given property is not set as an xml-any-element.
private  void unsetXmlElementRefs(Property oldProperty, TypeInfo tInfo)
          Ensure that a given property is not set as an xml-element-refs.
private  void unsetXmlElements(Property oldProperty)
          Ensure that a given property is not set as an xml-elements.
private  void unsetXmlID(Property oldProperty, TypeInfo tInfo)
          Ensure that a given property is not set as an xml-id.
private  void unsetXmlKey(Property oldProperty, TypeInfo tInfo)
          Ensure that a given property is not set as an xml-key.
private  void unsetXmlValue(Property oldProperty, TypeInfo tInfo)
          Ensure that a given property is not set as an xml-value.

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

xmlBindingMap

private java.util.Map<java.lang.String,XmlBindings> xmlBindingMap

jModelInput

private JavaModelInput jModelInput

aProcessor

private AnnotationsProcessor aProcessor

logger

private JAXBMetadataLogger logger

COLON

private static final java.lang.String COLON
See Also:
Constant Field Values

SLASH

private static final java.lang.String SLASH
See Also:
Constant Field Values

SELF

private static final java.lang.String SELF
See Also:
Constant Field Values

OPEN_BRACKET

private static final java.lang.String OPEN_BRACKET
See Also:
Constant Field Values

JAVA_LANG_OBJECT

private static final java.lang.String JAVA_LANG_OBJECT
See Also:
Constant Field Values

DEFAULT

public static final java.lang.String DEFAULT
See Also:
Constant Field Values

Constructor Detail

XMLProcessor

public XMLProcessor(java.util.Map<java.lang.String,XmlBindings> bindings)
This is the preferred constructor.
Parameters:
bindings -

Method Detail

processXML

public void processXML(AnnotationsProcessor annotationsProcessor,
                       JavaModelInput jModelInput,
                       TypeMappingInfo[] typeMappingInfos,
                       JavaClass[] originalJavaClasses)
Process XmlBindings on a per package basis for a given AnnotationsProcessor instance.
Parameters:
annotationsProcessor -

getXMLNameTransformerClassFromString

private XMLNameTransformer getXMLNameTransformerClassFromString(java.lang.String transformerClassName)

processJavaType

private void processJavaType(JavaType javaType,
                             TypeInfo typeInfo,
                             NamespaceInfo nsInfo)
Process a given JavaType's attributes.
Parameters:
javaType -
typeInfo -
nsInfo -

processJavaAttribute

private Property processJavaAttribute(TypeInfo typeInfo,
                                      JavaAttribute javaAttribute,
                                      Property oldProperty,
                                      NamespaceInfo nsInfo,
                                      JavaType javaType)
Process a given JavaAtribute.
Parameters:
javaAttribute -
oldProperty -
nsInfo -
Returns:

processXmlJavaTypeAdapter

private Property processXmlJavaTypeAdapter(XmlJavaTypeAdapter xmlAdapter,
                                           Property oldProperty)
Handle property-level XmlJavaTypeAdapter
Parameters:
xmlAdapter -
oldProperty -
Returns:

processXmlInverseReference

private Property processXmlInverseReference(XmlInverseReference xmlInverseReference,
                                            Property oldProperty)
Handle xml-inverse-reference.
Parameters:
xmlInverseReference -
oldProperty -
Returns:

processXmlAnyAttribute

private Property processXmlAnyAttribute(XmlAnyAttribute xmlAnyAttribute,
                                        Property oldProperty,
                                        TypeInfo tInfo,
                                        JavaType javaType)
Handle xml-any-attribute.
Parameters:
xmlAnyAttribute -
oldProperty -
tInfo -
javaType -
Returns:

processXmlAnyElement

private Property processXmlAnyElement(XmlAnyElement xmlAnyElement,
                                      Property oldProperty,
                                      TypeInfo tInfo,
                                      JavaType javaType)
Handle xml-any-element. If the property was annotated with @XmlAnyElement in code all values will be overridden.
Parameters:
xmlAnyElement -
oldProperty -
tInfo -
javaType -
Returns:

processXmlAttribute

private Property processXmlAttribute(XmlAttribute xmlAttribute,
                                     Property oldProperty,
                                     TypeInfo typeInfo,
                                     NamespaceInfo nsInfo,
                                     JavaType javaType)
XmlAttribute override will completely replace the existing values.
Parameters:
xmlAttribute -
oldProperty -
nsInfo -
Returns:

processXmlElement

private Property processXmlElement(XmlElement xmlElement,
                                   Property oldProperty,
                                   TypeInfo typeInfo,
                                   NamespaceInfo nsInfo,
                                   JavaType javaType)
XmlElement override will completely replace the existing values.
Parameters:
xmlElement -
oldProperty -
typeInfo -
nsInfo -
Returns:

processXmlMap

private Property processXmlMap(XmlMap xmlMap,
                               Property oldProperty)

processXmlElements

private Property processXmlElements(XmlElements xmlElements,
                                    Property oldProperty,
                                    TypeInfo tInfo)
Process XmlElements. The XmlElements object will be set on the property, and it will be flagged as a 'choice'.
Parameters:
xmlElements -
oldProperty -
tInfo -
Returns:

processXmlElementRef

private Property processXmlElementRef(XmlElementRef xmlElementRef,
                                      Property oldProperty,
                                      TypeInfo info)
Process an xml-element-ref.
Parameters:
xmlElementRef -
oldProperty -
info -
Returns:

processXmlElementRefs

private Property processXmlElementRefs(XmlElementRefs xmlElementRefs,
                                       Property oldProperty,
                                       TypeInfo info)
Process an xml-element-refs.
Parameters:
xmlElementRefs -
oldProperty -
info -
Returns:

processXmlTransient

private Property processXmlTransient(XmlTransient xmlTransient,
                                     Property oldProperty)

processXmlValue

private Property processXmlValue(XmlValue xmlValue,
                                 Property oldProperty,
                                 TypeInfo info,
                                 JavaType javaType)

processXmlSchema

private NamespaceInfo processXmlSchema(XmlBindings xmlBindings,
                                       java.lang.String packageName)
Process an XmlSchema. This involves creating a NamespaceInfo instance and populating it based on the given XmlSchema.
Parameters:
xmlBindings -
packageName -
Returns:
newly created namespace info, or null if schema is null
See Also:
NamespaceInfo, AnnotationsProcessor

processXmlTransformation

private Property processXmlTransformation(XmlTransformation xmlTransformation,
                                          Property oldProperty,
                                          TypeInfo tInfo)
Process an XmlTransformation. The info in the XmlTransformation will be used to generate an XmlTransformationMapping in MappingsGenerator.
Parameters:
xmlTransformation -
oldProperty -
tInfo -

processXmlJoinNodes

private Property processXmlJoinNodes(XmlJoinNodes xmlJoinNodes,
                                     Property oldProperty)
Process XmlJoinNodes. This method sets the XmlJoinNodes instance on the Property for use in MappingsGen and SchemaGen.
Parameters:
xmlJoinNodes -
oldProperty -
Returns:

buildPackageToJavaClassMap

private java.util.Map<java.lang.String,java.util.ArrayList<JavaClass>> buildPackageToJavaClassMap()
Convenience method for building a Map of package to classes.
Returns:

getLogger

private JAXBMetadataLogger getLogger()
Lazy load the metadata logger.
Returns:

classExistsInArray

public boolean classExistsInArray(JavaClass theClass,
                                  java.util.ArrayList<JavaClass> existingClasses)
Convenience method to determine if a class exists in a given ArrayList. The classes are compared via equals() method.

resetProperty

private Property resetProperty(Property oldProperty,
                               TypeInfo tInfo)
Convenience method for resetting a number of properties on a given property.
Parameters:
oldProperty -
Returns:

unsetXmlID

private void unsetXmlID(Property oldProperty,
                        TypeInfo tInfo)
Ensure that a given property is not set as an xml-id.
Parameters:
oldProperty -
tInfo -

unsetXmlKey

private void unsetXmlKey(Property oldProperty,
                         TypeInfo tInfo)
Ensure that a given property is not set as an xml-key.
Parameters:
oldProperty -
tInfo -

unsetXmlElementRefs

private void unsetXmlElementRefs(Property oldProperty,
                                 TypeInfo tInfo)
Ensure that a given property is not set as an xml-element-refs.
Parameters:
oldProperty -
tInfo -

unsetXmlElements

private void unsetXmlElements(Property oldProperty)
Ensure that a given property is not set as an xml-elements.
Parameters:
oldProperty -

unsetXmlAnyAttribute

private void unsetXmlAnyAttribute(Property oldProperty,
                                  TypeInfo tInfo)
Ensure that a given property is not set as an xml-any-attribute.
Parameters:
oldProperty -
tInfo -

unsetXmlAnyElement

private void unsetXmlAnyElement(Property oldProperty,
                                TypeInfo tInfo)
Ensure that a given property is not set as an xml-any-element.
Parameters:
oldProperty -
tInfo -

unsetXmlValue

private void unsetXmlValue(Property oldProperty,
                           TypeInfo tInfo)
Ensure that a given property is not set as an xml-value.
Parameters:
oldProperty -
tInfo -

getNameFromXPath

public static java.lang.String getNameFromXPath(java.lang.String xpath,
                                                java.lang.String propertyName,
                                                boolean isAttribute)
Convenience method that returns the field name for a given xml-path. This method would typically be called when building a QName to set as the 'SchemaName' on a Property. Examples: - returns 'id' for xml-path '@id' - returns 'managerId' for xml-path 'projects/prj:project/@prj:managerId' - returns 'first-name' for xml-path 'info/personal-info/first-name/text()' - returns 'project' for xml-path 'projects/prj:project/text()' - returns 'data' for xml-path 'pieces-of-data/data[1]/text()'
Parameters:
xpath -
propertyName -
isAttribute -
Returns:

processObjectFactory

private void processObjectFactory(TypeInfo tInfo)

createUserPropertyMap

private java.util.Map createUserPropertyMap(java.util.List<XmlProperties.XmlProperty> propList)
Return a Map of user-defined properties. Typically the key will be a String (property name) and the value a String or some other simple type that was converted by ConversionManager, i.e. numerical, boolean, temporal.
Parameters:
propList -
Returns:

mergeUserPropertyMap

private java.util.Map mergeUserPropertyMap(java.util.List<XmlProperties.XmlProperty> propList,
                                           java.util.Map existingMap)
Return a Map of user-defined properties. The List of properties (from xml) will be merged with the given Map (from annotations). In the case of a conflict, xml will win. Note that this intended to be used when processing type-level user properties, as at the property-level, xml completely replaces any properties set via annotation. Typically the key will be a String (property name) and the value a String or some other simple type that was converted by ConversionManager, i.e. numerical, boolean, temporal.
Parameters:
propList -
Returns:

setContainerType

private void setContainerType(Property property,
                              java.lang.String containerClassName)
Convenience method for setting the container class on a given property. The generic type will be overwritten, and could be incorrect after doing so, so the original generic type will be retrieved and set after the call to set the container type.
Parameters:
property -
containerClassName -

reapplyPackageAndClassAdapters

public void reapplyPackageAndClassAdapters(Property prop,
                                           TypeInfo owningInfo)

mergeXmlBindings

public static XmlBindings mergeXmlBindings(java.util.List<XmlBindings> bindings)

mergeXmlJavaTypeAdapters

private static void mergeXmlJavaTypeAdapters(XmlJavaTypeAdapters xmlJavaTypeAdapters,
                                             XmlJavaTypeAdapters overrideAdapters)

mergeXmlSchemaTypes

private static void mergeXmlSchemaTypes(XmlSchemaTypes xmlSchemaTypes,
                                        XmlSchemaTypes overrideSchemaTypes)

mergeXmlSchema

private static void mergeXmlSchema(XmlSchema xmlSchema,
                                   XmlSchema overrideSchema)

mergeXmlEnums

private static void mergeXmlEnums(XmlBindings.XmlEnums xmlEnums,
                                  XmlBindings.XmlEnums overrideEnum)

mergeXmlEnumValues

private static void mergeXmlEnumValues(java.util.List<XmlEnumValue> xmlEnumValue,
                                       java.util.List<XmlEnumValue> overrideXmlEnumValue)

mergeJavaTypes

private static void mergeJavaTypes(XmlBindings.JavaTypes javaTypes,
                                   XmlBindings.JavaTypes overrideJavaTypes)

mergeJavaType

private static void mergeJavaType(JavaType existingType,
                                  JavaType next)

mergeJavaAttributes

private static void mergeJavaAttributes(JavaType.JavaAttributes attributes,
                                        JavaType.JavaAttributes overrideAttributes,
                                        JavaType javaType)

Skip navigation links

Copyright © 1998, 2012, Oracle. All Rights Reserved.