Class ComplexType

    • Constructor Detail

      • ComplexType

        public ComplexType​(Schema schema)
        Creates a new ComplexType instance with no name.
        Parameters:
        schema - the owning Schema document
      • ComplexType

        public ComplexType​(Schema schema,
                           java.lang.String name)
        Creates a new ComplexType with the given name.
        Parameters:
        schema - The owning Schema instance
        name - Name of the ComplexType
    • Method Detail

      • removeAttributeDecl

        public void removeAttributeDecl​(AttributeDecl attrDecl)
        Removes the given AttributeDecl from this ComplexType.
        Parameters:
        attrDecl - the AttributeDecl to remove.
      • addAttributeGroupReference

        public void addAttributeGroupReference​(AttributeGroupReference attrGroupRef)
        Adds the given AttributeGroupReference to this ComplexType.
        Parameters:
        attrGroupRef - the AttributeGroupReference to add to this ComplexType
      • createAttributeDecl

        public AttributeDecl createAttributeDecl​(java.lang.String name)
        Creates an AttributeDecl with the given name. The attribute declaration will still need to be added to this ComplexType, or another archetype in the same schema, by making a call to #addAttributeDecl
        Parameters:
        name - the name of the attribute
        Returns:
        the new AttributeDecl
      • getAnyAttribute

        public Wildcard getAnyAttribute()
        Returns the wilcard used in this complexType (can be null).
        Returns:
        the wilcard used in this complexType (can be null)
      • getAttributeDecls

        public java.util.Enumeration getAttributeDecls()
        Returns an Enumeration of *all* the AttributeDecl objects declared within this ComplexType. The Enumeration will contain all AttributeDecl from AttributeGroup references as well. To return only locally declared attributes make a call to getLocalAttributeDecls.
        Returns:
        an Enumeration of all the AttributeDecl objects declared within this Complextype
      • getLocalAttributeDecls

        public java.util.Enumeration getLocalAttributeDecls()
        Returns an Enumeration of *all* locally defined AttributeDecl declared within this ComplexType. The Enumeration will not contain any AttributeDecl from AttributeGroup references.
        Returns:
        an Enumeration of all locally declared AttributeDecl.
      • getAttributeGroupReferences

        public java.util.Enumeration getAttributeGroupReferences()
        Returns an Enumeration of all the AttributeGroup that are referenced within this ComplexType.
        Returns:
        an Enumeration of all the AttributeGroup that are referenced within this ComplexType.
      • getBaseType

        public XMLType getBaseType()
        Returns the base type that this type inherits from.
        Overrides:
        getBaseType in class XMLType
        Returns:
        the base type (also called super type).
      • getBlock

        public BlockList getBlock()
        Returns the value of the 'block' attribute for this element.
        Returns:
        the value of the 'block' attribute for this element
      • getContentType

        public ContentType getContentType()
        Returns the content type of this ComplexType. The Content Type holds the information about the content of the complexType. For instance, if this complexType is a simpleContent then the simpleType information will be hold in the content type.
        Returns:
        the content type of this ComplexType
      • getFinal

        public FinalList getFinal()
        Returns the list of values for the final property for this ComplexType, or null if no final values have been set.
        Returns:
        the FinalList for this ComplexType
      • getParent

        public Structure getParent()
        Returns the parent of this ComplexType, this value may be null if no parent has been set.
        Returns:
        the parent Structure of this ComplexType.
      • getReferenceId

        public java.lang.String getReferenceId()
        Returns the Id used to Refer to this Object.
        Specified by:
        getReferenceId in interface Referable
        Returns:
        the Id used to Refer to this Object
        See Also:
        Referable
      • hasAny

        public boolean hasAny()
        A helper method that returns true if this complexType contains an <any> element.
        Returns:
        method that returns true if this complexType contains an <any> element.
      • isAbstract

        public boolean isAbstract()
        Returns true if this ComplexType has been marked as Abstract.
        Returns:
        true if this ComplexType is "abstract".
      • isRedefined

        public boolean isRedefined()
        Returns true if this complexType is a redefinition.
        Returns:
        true if this complexType is a redefinition.
      • isTopLevel

        public boolean isTopLevel()
        Returns true if this is a top level ComplexType.
        Returns:
        true if this is a top level ComplexType
      • isComplexContent

        public boolean isComplexContent()
        Returns true if this complexType is a 'complexContent'.
        Returns:
        true if this complexType is a 'complexContent'
      • isSimpleContent

        public boolean isSimpleContent()
        Returns true if this complexType is a 'simpleContent'.
        Returns:
        true if this complexType is a 'simpleContent'
      • isRestricted

        public boolean isRestricted()
        Returns true if this complexType is a restriction.
        Returns:
        true if this complexType is a restriction
      • setAbstract

        public void setAbstract​(boolean isAbstract)
        Sets whether or not this ComplexType should be abstract.
        Parameters:
        isAbstract - a boolean that when true makes this ComplexType abstract.
      • setAnyAttribute

        public void setAnyAttribute​(Wildcard wildcard)
                             throws SchemaException
        Sets the wildcard (anyAttribute) of the ComplexType.
        Throws:
        SchemaException - thrown when a wildcard as already be set or when the wildCard is not an <anyAttribute>.
      • removeWildcard

        public boolean removeWildcard​(Wildcard wildcard)
        Removes the given Wildcard from this Group.
        Specified by:
        removeWildcard in interface ContentModelGroup
        Parameters:
        wildcard - the Wildcard to remove.
        Returns:
        true if the wildcard has been successfully removed, false otherwise.
      • setBase

        public void setBase​(java.lang.String base)
        Sets the base type that this type is derived from.
        Parameters:
        base - the type that this type is derived from
      • setBaseType

        public void setBaseType​(XMLType baseType)
        Sets the base type for this ComplexType.
        Overrides:
        setBaseType in class XMLType
        Parameters:
        baseType - the base type which this ComplexType extends or restricts
      • setBlock

        public void setBlock​(BlockList block)
        Sets the value of the 'block' attribute for this ComplexType.
        Parameters:
        block - the value of the block attribute for this ComplexType definition.
      • setBlock

        public void setBlock​(java.lang.String block)
        Sets the value of the 'block' attribute for this ComplexType.
        Parameters:
        block - the value of the block attribute for this ComplexType definition.
      • setComplexContent

        public void setComplexContent​(boolean complexContent)
        Sets whether or not this complexType is a 'complexContent'.
        Parameters:
        complexContent - true if this complexType is a 'complexContent'
      • setContentType

        public void setContentType​(ContentType contentType)
        Sets the content type of this complexType. The Content Type holds the information about the content of the complexType. For instance, if this complexType is a simpleContent then the simpleType information will be hold in the content type.
        Parameters:
        contentType - the ContentType for this complexType
      • setFinal

        public void setFinal​(FinalList finalList)
        Sets the value of the 'final' attribute for this ComplexType definition.
        Parameters:
        finalList - the value of the final attribute for this ComplexType definition.
      • setFinal

        public void setFinal​(java.lang.String finalValue)
        Sets the value of the 'final' attribute for this ComplexType definition.
        Parameters:
        finalValue - the value of the final attribute for this ComplexType definition.
      • setRedefined

        public void setRedefined()
        Sets this Group has redefined.
      • setSimpleContent

        public void setSimpleContent​(boolean simpleContent)
        Sets whether or not this complexType is a 'simpleContent'.
        Parameters:
        simpleContent - true if this complexType is a 'simpleContent'
      • setRestriction

        public void setRestriction​(boolean restricted)
        Sets whether or not this complexType is a restriction.
        Parameters:
        restricted - true if this complexType is a restriction
      • useResolver

        public void useResolver​(Resolver resolver)
      • removeElementDecl

        public boolean removeElementDecl​(ElementDecl element)
        Removes the given ElementDecl from this ContentModelGroup.
        Specified by:
        removeElementDecl in interface ContentModelGroup
        Parameters:
        element - the ElementDecl to remove.
        Returns:
        true if the element has been successfully removed, false otherwise.
      • removeGroup

        public boolean removeGroup​(Group group)
        Removes the given Group from this ContentModelGroup.
        Specified by:
        removeGroup in interface ContentModelGroup
        Parameters:
        group - the Group to remove.
        Returns:
        true if the group has been successfully removed, false otherwise.
      • removeGroup

        public boolean removeGroup​(ModelGroup group)
        Removes the given ModelGroup Definition from this ContentModelGroup.
        Specified by:
        removeGroup in interface ContentModelGroup
        Parameters:
        group - the ModelGroup Definition to remove.
        Returns:
        true if the group has been successfully removed, false otherwise.
      • enumerate

        public java.util.Enumeration enumerate()
        Returns an enumeration of all the Particles of this ContentModelGroup.
        Specified by:
        enumerate in interface ContentModelGroup
        Returns:
        an enumeration of the Particles contained within this ContentModelGroup
      • getElementDecl

        public ElementDecl getElementDecl​(java.lang.String name)
        Returns the element declaration with the given name, or null if no element declaration with that name exists in this ContentModelGroup.
        Specified by:
        getElementDecl in interface ContentModelGroup
        Parameters:
        name - the name of the element.
        Returns:
        the ElementDecl with the given name, or null if no ElementDecl exists in this ContentModelGroup.
      • getMaxOccurs

        public int getMaxOccurs()
        Returns the maximum number of occurances that this ContentModelGroup may appear.
        Specified by:
        getMaxOccurs in interface ContentModelGroup
        Returns:
        the maximum number of occurances that this ContentModelGroup may appear. A non positive (n < 1) value indicates that the value is unspecified (ie. unbounded).
      • getMinOccurs

        public int getMinOccurs()
        Returns the minimum number of occurances that this ContentModelGroup must appear.
        Specified by:
        getMinOccurs in interface ContentModelGroup
        Returns:
        the minimum number of occurances that this ContentModelGroup must appear A negative (n < 0) value indicates that the value is unspecified.
      • getParticle

        public Particle getParticle​(int index)
        Returns the Particle at the specified index
        Specified by:
        getParticle in interface ContentModelGroup
        Parameters:
        index - the index of the particle to return
        Returns:
        the CMParticle at the specified index
      • getParticleCount

        public int getParticleCount()
        Returns the number of particles contained within this ContentModelGroup.
        Specified by:
        getParticleCount in interface ContentModelGroup
        Returns:
        the number of particles
      • getStructureType

        public short getStructureType()
        Returns the type of this Schema Structure.
        Specified by:
        getStructureType in class Structure
        Returns:
        the type of this Schema Structure
      • setParent

        protected void setParent​(Structure parent)
        Sets the parent for this ComplexType.
        Specified by:
        setParent in class XMLType
        Parameters:
        parent - the parent Structure for this ComplexType
      • isEmptiable

        public boolean isEmptiable()
        Returns:
        true if the content model for this ComplexType is emptiable.