Class XSModelImpl

  • All Implemented Interfaces:
    java.lang.Iterable, java.util.Collection, java.util.List, org.apache.xerces.xs.XSModel, org.apache.xerces.xs.XSNamespaceItemList

    public final class XSModelImpl
    extends java.util.AbstractList
    implements org.apache.xerces.xs.XSModel, org.apache.xerces.xs.XSNamespaceItemList
    Implements XSModel: a read-only interface that represents an XML Schema, which could be components from different namespaces.

    INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.
    Version:
    $Id: XSModelImpl.java 1024038 2010-10-18 22:06:35Z sandygao $
    Author:
    Sandy Gao, IBM
    • Field Summary

      • Fields inherited from class java.util.AbstractList

        modCount
    • Constructor Summary

      Constructors 
      Constructor Description
      XSModelImpl​(SchemaGrammar[] grammars)
      Construct an XSModelImpl, by storing some grammars and grammars imported by them to this object.
      XSModelImpl​(SchemaGrammar[] grammars, short s4sVersion)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object get​(int index)  
      org.apache.xerces.xs.XSObjectList getAnnotations()
      [annotations]: a set of annotations if it exists, otherwise an empty XSObjectList.
      org.apache.xerces.xs.XSAttributeDeclaration getAttributeDeclaration​(java.lang.String name, java.lang.String namespace)
      Convenience method.
      org.apache.xerces.xs.XSAttributeDeclaration getAttributeDeclaration​(java.lang.String name, java.lang.String namespace, java.lang.String loc)
      Convenience method.
      org.apache.xerces.xs.XSAttributeGroupDefinition getAttributeGroup​(java.lang.String name, java.lang.String namespace)
      Convenience method.
      org.apache.xerces.xs.XSAttributeGroupDefinition getAttributeGroup​(java.lang.String name, java.lang.String namespace, java.lang.String loc)
      Convenience method.
      org.apache.xerces.xs.XSNamedMap getComponents​(short objectType)
      Returns a list of top-level components, i.e.
      org.apache.xerces.xs.XSNamedMap getComponentsByNamespace​(short objectType, java.lang.String namespace)
      Convenience method.
      org.apache.xerces.xs.XSElementDeclaration getElementDeclaration​(java.lang.String name, java.lang.String namespace)
      Convenience method.
      org.apache.xerces.xs.XSElementDeclaration getElementDeclaration​(java.lang.String name, java.lang.String namespace, java.lang.String loc)
      Convenience method.
      org.apache.xerces.xs.XSIDCDefinition getIDCDefinition​(java.lang.String name, java.lang.String namespace)
      Convenience method.
      org.apache.xerces.xs.XSIDCDefinition getIDCDefinition​(java.lang.String name, java.lang.String namespace, java.lang.String loc)
      Convenience method.
      int getLength()
      The number of XSNamespaceItems in the list.
      org.apache.xerces.xs.XSModelGroupDefinition getModelGroupDefinition​(java.lang.String name, java.lang.String namespace)
      Convenience method.
      org.apache.xerces.xs.XSModelGroupDefinition getModelGroupDefinition​(java.lang.String name, java.lang.String namespace, java.lang.String loc)
      Convenience method.
      org.apache.xerces.xs.XSNamespaceItemList getNamespaceItems()
      A set of namespace schema information information items (of type XSNamespaceItem), one for each namespace name which appears as the target namespace of any schema component in the schema used for that assessment, and one for absent if any schema component in the schema had no target namespace.
      org.apache.xerces.xs.StringList getNamespaces()
      Convenience method.
      org.apache.xerces.xs.XSNotationDeclaration getNotationDeclaration​(java.lang.String name, java.lang.String namespace)
      Convenience method.
      org.apache.xerces.xs.XSNotationDeclaration getNotationDeclaration​(java.lang.String name, java.lang.String namespace, java.lang.String loc)  
      org.apache.xerces.xs.XSObjectList getSubstitutionGroup​(org.apache.xerces.xs.XSElementDeclaration head)
      Convenience method.
      org.apache.xerces.xs.XSTypeDefinition getTypeDefinition​(java.lang.String name, java.lang.String namespace)
      Convenience method.
      org.apache.xerces.xs.XSTypeDefinition getTypeDefinition​(java.lang.String name, java.lang.String namespace, java.lang.String loc)
      Convenience method.
      boolean hasIDConstraints()
      REVISIT: to expose identity constraints from XSModel.
      org.apache.xerces.xs.XSNamespaceItem item​(int index)
      Returns the indexth item in the collection or null if index is greater than or equal to the number of objects in the list.
      java.util.Iterator iterator()  
      java.util.ListIterator listIterator()  
      java.util.ListIterator listIterator​(int index)  
      int size()  
      java.lang.Object[] toArray()  
      java.lang.Object[] toArray​(java.lang.Object[] a)  
      • Methods inherited from class java.util.AbstractList

        add, add, addAll, clear, equals, hashCode, indexOf, lastIndexOf, remove, removeRange, set, subList
      • Methods inherited from class java.util.AbstractCollection

        addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toString
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface java.util.List

        add, add, addAll, addAll, clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, lastIndexOf, remove, remove, removeAll, replaceAll, retainAll, set, sort, spliterator, subList
    • Constructor Detail

      • XSModelImpl

        public XSModelImpl​(SchemaGrammar[] grammars)
        Construct an XSModelImpl, by storing some grammars and grammars imported by them to this object.
        Parameters:
        grammars - the array of schema grammars
      • XSModelImpl

        public XSModelImpl​(SchemaGrammar[] grammars,
                           short s4sVersion)
    • Method Detail

      • getNamespaces

        public org.apache.xerces.xs.StringList getNamespaces()
        Convenience method. Returns a list of all namespaces that belong to this schema.
        Specified by:
        getNamespaces in interface org.apache.xerces.xs.XSModel
        Returns:
        A list of all namespaces that belong to this schema or null if all components don't have a targetNamespace.
      • getNamespaceItems

        public org.apache.xerces.xs.XSNamespaceItemList getNamespaceItems()
        A set of namespace schema information information items (of type XSNamespaceItem), one for each namespace name which appears as the target namespace of any schema component in the schema used for that assessment, and one for absent if any schema component in the schema had no target namespace. For more information see schema information.
        Specified by:
        getNamespaceItems in interface org.apache.xerces.xs.XSModel
      • getComponents

        public org.apache.xerces.xs.XSNamedMap getComponents​(short objectType)
        Returns a list of top-level components, i.e. element declarations, attribute declarations, etc.
        Specified by:
        getComponents in interface org.apache.xerces.xs.XSModel
        Parameters:
        objectType - The type of the declaration, i.e. ELEMENT_DECLARATION. Note that XSTypeDefinition.SIMPLE_TYPE and XSTypeDefinition.COMPLEX_TYPE can also be used as the objectType to retrieve only complex types or simple types, instead of all types.
        Returns:
        A list of top-level definitions of the specified type in objectType or an empty XSNamedMap if no such definitions exist.
      • getComponentsByNamespace

        public org.apache.xerces.xs.XSNamedMap getComponentsByNamespace​(short objectType,
                                                                        java.lang.String namespace)
        Convenience method. Returns a list of top-level component declarations that are defined within the specified namespace, i.e. element declarations, attribute declarations, etc.
        Specified by:
        getComponentsByNamespace in interface org.apache.xerces.xs.XSModel
        Parameters:
        objectType - The type of the declaration, i.e. ELEMENT_DECLARATION.
        namespace - The namespace to which the declaration belongs or null (for components with no target namespace).
        Returns:
        A list of top-level definitions of the specified type in objectType and defined in the specified namespace or an empty XSNamedMap.
      • getTypeDefinition

        public org.apache.xerces.xs.XSTypeDefinition getTypeDefinition​(java.lang.String name,
                                                                       java.lang.String namespace)
        Convenience method. Returns a top-level simple or complex type definition.
        Specified by:
        getTypeDefinition in interface org.apache.xerces.xs.XSModel
        Parameters:
        name - The name of the definition.
        namespace - The namespace of the definition, otherwise null.
        Returns:
        An XSTypeDefinition or null if such definition does not exist.
      • getTypeDefinition

        public org.apache.xerces.xs.XSTypeDefinition getTypeDefinition​(java.lang.String name,
                                                                       java.lang.String namespace,
                                                                       java.lang.String loc)
        Convenience method. Returns a top-level simple or complex type definition.
        Parameters:
        name - The name of the definition.
        namespace - The namespace of the definition, otherwise null.
        loc - The schema location where the component was defined
        Returns:
        An XSTypeDefinition or null if such definition does not exist.
      • getAttributeDeclaration

        public org.apache.xerces.xs.XSAttributeDeclaration getAttributeDeclaration​(java.lang.String name,
                                                                                   java.lang.String namespace)
        Convenience method. Returns a top-level attribute declaration.
        Specified by:
        getAttributeDeclaration in interface org.apache.xerces.xs.XSModel
        Parameters:
        name - The name of the declaration.
        namespace - The namespace of the definition, otherwise null.
        Returns:
        A top-level attribute declaration or null if such declaration does not exist.
      • getAttributeDeclaration

        public org.apache.xerces.xs.XSAttributeDeclaration getAttributeDeclaration​(java.lang.String name,
                                                                                   java.lang.String namespace,
                                                                                   java.lang.String loc)
        Convenience method. Returns a top-level attribute declaration.
        Parameters:
        name - The name of the declaration.
        namespace - The namespace of the definition, otherwise null.
        loc - The schema location where the component was defined
        Returns:
        A top-level attribute declaration or null if such declaration does not exist.
      • getElementDeclaration

        public org.apache.xerces.xs.XSElementDeclaration getElementDeclaration​(java.lang.String name,
                                                                               java.lang.String namespace)
        Convenience method. Returns a top-level element declaration.
        Specified by:
        getElementDeclaration in interface org.apache.xerces.xs.XSModel
        Parameters:
        name - The name of the declaration.
        namespace - The namespace of the definition, otherwise null.
        Returns:
        A top-level element declaration or null if such declaration does not exist.
      • getElementDeclaration

        public org.apache.xerces.xs.XSElementDeclaration getElementDeclaration​(java.lang.String name,
                                                                               java.lang.String namespace,
                                                                               java.lang.String loc)
        Convenience method. Returns a top-level element declaration.
        Parameters:
        name - The name of the declaration.
        namespace - The namespace of the definition, otherwise null.
        loc - The schema location where the component was defined
        Returns:
        A top-level element declaration or null if such declaration does not exist.
      • getAttributeGroup

        public org.apache.xerces.xs.XSAttributeGroupDefinition getAttributeGroup​(java.lang.String name,
                                                                                 java.lang.String namespace)
        Convenience method. Returns a top-level attribute group definition.
        Specified by:
        getAttributeGroup in interface org.apache.xerces.xs.XSModel
        Parameters:
        name - The name of the definition.
        namespace - The namespace of the definition, otherwise null.
        Returns:
        A top-level attribute group definition or null if such definition does not exist.
      • getAttributeGroup

        public org.apache.xerces.xs.XSAttributeGroupDefinition getAttributeGroup​(java.lang.String name,
                                                                                 java.lang.String namespace,
                                                                                 java.lang.String loc)
        Convenience method. Returns a top-level attribute group definition.
        Parameters:
        name - The name of the definition.
        namespace - The namespace of the definition, otherwise null.
        loc - The schema location where the component was defined
        Returns:
        A top-level attribute group definition or null if such definition does not exist.
      • getModelGroupDefinition

        public org.apache.xerces.xs.XSModelGroupDefinition getModelGroupDefinition​(java.lang.String name,
                                                                                   java.lang.String namespace)
        Convenience method. Returns a top-level model group definition.
        Specified by:
        getModelGroupDefinition in interface org.apache.xerces.xs.XSModel
        Parameters:
        name - The name of the definition.
        namespace - The namespace of the definition, otherwise null.
        Returns:
        A top-level model group definition definition or null if such definition does not exist.
      • getModelGroupDefinition

        public org.apache.xerces.xs.XSModelGroupDefinition getModelGroupDefinition​(java.lang.String name,
                                                                                   java.lang.String namespace,
                                                                                   java.lang.String loc)
        Convenience method. Returns a top-level model group definition.
        Parameters:
        name - The name of the definition.
        namespace - The namespace of the definition, otherwise null.
        loc - The schema location where the component was defined
        Returns:
        A top-level model group definition definition or null if such definition does not exist.
      • getIDCDefinition

        public org.apache.xerces.xs.XSIDCDefinition getIDCDefinition​(java.lang.String name,
                                                                     java.lang.String namespace)
        Convenience method. Returns a top-level model group definition.
        Specified by:
        getIDCDefinition in interface org.apache.xerces.xs.XSModel
        Parameters:
        name - The name of the definition.
        namespace - The namespace of the definition, otherwise null.
        Returns:
        A top-level model group definition definition or null if such definition does not exist.
      • getIDCDefinition

        public org.apache.xerces.xs.XSIDCDefinition getIDCDefinition​(java.lang.String name,
                                                                     java.lang.String namespace,
                                                                     java.lang.String loc)
        Convenience method. Returns a top-level model group definition.
        Parameters:
        name - The name of the definition.
        namespace - The namespace of the definition, otherwise null.
        loc - The schema location where the component was defined
        Returns:
        A top-level model group definition definition or null if such definition does not exist.
      • getNotationDeclaration

        public org.apache.xerces.xs.XSNotationDeclaration getNotationDeclaration​(java.lang.String name,
                                                                                 java.lang.String namespace)
        Description copied from interface: org.apache.xerces.xs.XSModel
        Convenience method. Returns a top-level notation declaration.
        Specified by:
        getNotationDeclaration in interface org.apache.xerces.xs.XSModel
        Parameters:
        name - The name of the declaration.
        namespace - The namespace of the declaration, otherwise null.
        Returns:
        A top-level notation declaration or null if such a declaration does not exist.
        See Also:
        XSModel.getNotationDeclaration(String, String)
      • getNotationDeclaration

        public org.apache.xerces.xs.XSNotationDeclaration getNotationDeclaration​(java.lang.String name,
                                                                                 java.lang.String namespace,
                                                                                 java.lang.String loc)
      • getAnnotations

        public org.apache.xerces.xs.XSObjectList getAnnotations()
        [annotations]: a set of annotations if it exists, otherwise an empty XSObjectList.
        Specified by:
        getAnnotations in interface org.apache.xerces.xs.XSModel
      • hasIDConstraints

        public boolean hasIDConstraints()
        REVISIT: to expose identity constraints from XSModel. For now, we only expose whether there are any IDCs. We also need to add these methods to the public XSModel interface.
      • getSubstitutionGroup

        public org.apache.xerces.xs.XSObjectList getSubstitutionGroup​(org.apache.xerces.xs.XSElementDeclaration head)
        Convenience method. Returns a list containing the members of the substitution group for the given XSElementDeclaration or an empty XSObjectList if the substitution group contains no members.
        Specified by:
        getSubstitutionGroup in interface org.apache.xerces.xs.XSModel
        Parameters:
        head - The substitution group head.
        Returns:
        A list containing the members of the substitution group for the given XSElementDeclaration or an empty XSObjectList if the substitution group contains no members.
      • getLength

        public int getLength()
        The number of XSNamespaceItems in the list. The range of valid child object indices is 0 to length-1 inclusive.
        Specified by:
        getLength in interface org.apache.xerces.xs.XSNamespaceItemList
      • item

        public org.apache.xerces.xs.XSNamespaceItem item​(int index)
        Returns the indexth item in the collection or null if index is greater than or equal to the number of objects in the list. The index starts at 0.
        Specified by:
        item in interface org.apache.xerces.xs.XSNamespaceItemList
        Parameters:
        index - index into the collection.
        Returns:
        The XSNamespaceItem at the indexth position in the XSNamespaceItemList, or null if the index specified is not valid.
      • get

        public java.lang.Object get​(int index)
        Specified by:
        get in interface java.util.List
        Specified by:
        get in class java.util.AbstractList
      • size

        public int size()
        Specified by:
        size in interface java.util.Collection
        Specified by:
        size in interface java.util.List
        Specified by:
        size in class java.util.AbstractCollection
      • iterator

        public java.util.Iterator iterator()
        Specified by:
        iterator in interface java.util.Collection
        Specified by:
        iterator in interface java.lang.Iterable
        Specified by:
        iterator in interface java.util.List
        Overrides:
        iterator in class java.util.AbstractList
      • listIterator

        public java.util.ListIterator listIterator()
        Specified by:
        listIterator in interface java.util.List
        Overrides:
        listIterator in class java.util.AbstractList
      • listIterator

        public java.util.ListIterator listIterator​(int index)
        Specified by:
        listIterator in interface java.util.List
        Overrides:
        listIterator in class java.util.AbstractList
      • toArray

        public java.lang.Object[] toArray()
        Specified by:
        toArray in interface java.util.Collection
        Specified by:
        toArray in interface java.util.List
        Overrides:
        toArray in class java.util.AbstractCollection
      • toArray

        public java.lang.Object[] toArray​(java.lang.Object[] a)
        Specified by:
        toArray in interface java.util.Collection
        Specified by:
        toArray in interface java.util.List
        Overrides:
        toArray in class java.util.AbstractCollection