Class XMLProcessor


  • public class XMLProcessor
    extends Object
    INTERNAL:

    Purpose: XMLProcessor is used to process the meta data provided in external OXM XML files. This information is then used in conjunction with the information from AnnotationsProcess to generate schemas (via SchemaGenerator) and mappings (via MappingsGenerator).

    As a general rule meta data provided in external OXM XML files overrides meta data specified through annotations.

    See Also:
    Generator
    • Constructor Detail

      • XMLProcessor

        public XMLProcessor​(Map<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 -
      • classExistsInArray

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

        public static String getNameFromXPath​(String xpath,
                                              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:
      • reapplyPackageAndClassAdapters

        public void reapplyPackageAndClassAdapters​(Property prop,
                                                   TypeInfo owningInfo)
        This method checks for class and package level adapters after the type of a property has been set.
        Parameters:
        prop - the property that needs to be updated
        owningInfo - the typeInfo that represents the owner of this property.
      • mergeXmlBindings

        public static XmlBindings mergeXmlBindings​(List<XmlBindings> bindings)
        This method is used to merge several bindings files into one XMLBindings object.
        Parameters:
        bindings - the list of XmlBindings objects to merge.
        Returns:
        XmlBindings object representing the merged files.