Class XSD

    • Field Detail

      • LOGGER

        protected static Logger LOGGER
        logging instance
      • schema

        protected volatile XSDSchema schema
        schema contents
      • typeSchema

        protected Schema typeSchema
        type schema
      • typeMappingProfile

        protected Schema typeMappingProfile
        type mapping profile
    • Constructor Detail

      • XSD

        protected XSD()
    • Method Detail

      • buildTypeSchema

        protected Schema buildTypeSchema()
        Sets up the schema which maps xml schema types to attribute types.
      • buildTypeMappingProfile

        protected Schema buildTypeMappingProfile​(Schema typeSchema)
        Sets up a profile which uniquely maps a set of java classes to a schema element.
      • name

        protected Name name​(QName qName)
        Convenience method to turn a QName into a Name.

        Useful for building type mapping profiles.

        Parameters:
        qName - The name to transform.
      • getTypeSchema

        public final Schema getTypeSchema()
        Returns the schema containing AttributeType's for all xml types.
      • getTypeMappingProfile

        public final Schema getTypeMappingProfile()
        Returns the subset of getTypeSchema() which maintains a unique java class to xml type mapping.
      • getAllTypeMappingProfiles

        public final List<Schema> getAllTypeMappingProfiles()
        Transitively returns the type mapping profile for this schema and all schemas that this schema depends on.
      • getNamespaceURI

        public abstract String getNamespaceURI()
        The namespace uri of the schema.
      • getSchemaLocation

        public abstract String getSchemaLocation()
        The location on the local disk of the top level .xsd file which defines the schema.
      • getDependencies

        public final Set<XSD> getDependencies()
        The dependencies of this schema.
      • getAllDependencies

        public List<XSD> getAllDependencies()
        Returns all dependencies , direct and transitive that this xsd depends on.
      • allDependencies

        protected List<XSD> allDependencies()
      • addDependencies

        protected void addDependencies​(Set<XSD> dependencies)
        Subclass hook to add additional dependencies.
      • getSchema

        public final XSDSchema getSchema()
                                  throws IOException
        Returns the XSD object representing the contents of the schema.
        Throws:
        IOException
      • buildSchema

        protected XSDSchema buildSchema()
                                 throws IOException
        Builds the schema from the .xsd file specified by getSchemaLocation()

        This method may be extended, but should not be overridden.

        Throws:
        IOException
      • createSchemaLocator

        public SchemaLocator createSchemaLocator()
      • qName

        public QName qName​(String local)
        Returns the qualified name for the specified local part.
        Returns:
        The QName, built by simply prepending the namespace for this xsd.
      • equals

        public final boolean equals​(Object obj)
        Implementation of equals, equality is based soley on getNamespaceURI().
        Overrides:
        equals in class Object
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • toString

        public String toString()
        Overrides:
        toString in class Object
      • getSupplementarySchemaLocator

        public XSDSchemaLocator getSupplementarySchemaLocator()
        Optionally, a schema locator that helps locating (other) schema's used for includes/imports that might already exist but are not in dependencies
        Returns:
        Schema Locator
      • dispose

        public void dispose()
        Remove all references to this schema, and all schemas built in the same resource set It is important to call this method for every dynamic schema created that is not needed anymore, because references in the static schema's will otherwise keep it alive forever