Class AttributeDecl

  • All Implemented Interfaces:
    java.io.Serializable

    public final class AttributeDecl
    extends Annotated
    An XML Schema Attribute Definition
    Version:
    $Revision: 7372 $ $Date: 2006-04-14 04:14:43 -0600 (Fri, 14 Apr 2006) $
    Author:
    Keith Visco
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      AttributeDecl​(Schema schema)
      Creates a new AttrDecl in the given schema.
      AttributeDecl​(Schema schema, java.lang.String name)
      Creates a new AttrDecl with the given name
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getDefaultValue()
      Returns the default value of this element definition.
      java.lang.String getFixedValue()
      Returns the fixed value of this element definition.
      Form getForm()
      Returns the Form for this attribute declaration.
      java.lang.String getId()
      Returns the Id for this attribute declaration
      java.lang.String getName()
      Returns the name of attributes defined by this AttributeDecl.
      java.lang.String getName​(boolean ignoreRef)
      Returns the name of this Attribute declaration.
      Structure getParent()
      Returns the parent of this AttributeDecl, this value may be null if no parent has been set.
      AttributeDecl getReference()
      Returns the AttributeDecl that this attribute definition references.
      java.lang.String getReferenceName()
      Returns the actual reference name of this AttributeDecl, or null if this AttributeDecl is not a reference.
      Schema getSchema()
      Returns the Schema that this AttributeGroupDecl belongs to.
      SimpleType getSimpleType()
      Returns the data type associated with this AttributeDecl.
      short getStructureType()
      Returns the type of this Schema Structure
      java.lang.String getUse()
      Returns the value of the use attribute for this attribute declaration or attribute reference.
      boolean hasXMLType()
      Indicates whether a type is set for this element definiion.
      boolean isDefault()
      Returns true if the "default" flag is set.
      boolean isFixed()
      Returns true if the use attribute is equal to "optional".
      boolean isOptional()
      Returns true if the use attribute is equal to "optional".
      boolean isProhibited()
      Returns true if the use attribute is equal to "prohibited".
      boolean isReference()
      Returns true if this attribute definition simply references another attribute Definition
      boolean isRequired()
      Returns true if the 'use' attribute is equal to REQUIRED and there is no specified value.
      void setDefaultValue​(java.lang.String value)
      Sets the DEFAULT value
      void setFixedValue​(java.lang.String value)
      Sets the FIXED value.
      void setForm​(Form form)
      Sets the Form for this attribute declaration.
      void setId​(java.lang.String id)
      Sets the Id for this attribute declaration
      void setName​(java.lang.String name)
      Sets the name of attributes defined by this attribute definition
      protected void setParent​(Structure parent)
      Sets the parent for this AttributeDecl
      void setReference​(java.lang.String reference)
      Sets the reference for this attribute definition
      void setReference​(AttributeDecl reference)
      Sets the reference for this attribute definition
      protected void setSchema​(Schema schema)
      Set the parent schema of the current ElementDecl.
      void setSimpleType​(SimpleType simpleType)
      Sets the SimpleType for this attribute declaration
      void setSimpleTypeReference​(java.lang.String name)
      Sets the simple type of this attribute to be a reference.
      void setUse​(java.lang.String value)
      Sets the 'use' attribute of this attribute declaration Note: this should not be used to set the flag to FIXED or DEFAULT
      void validate()
      Checks the validity of this Attribute declaration
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • USE_OPTIONAL

        public static final java.lang.String USE_OPTIONAL
        The use attribute value for optional
        See Also:
        Constant Field Values
      • USE_PROHIBITED

        public static final java.lang.String USE_PROHIBITED
        The use attribute value for prohibited
        See Also:
        Constant Field Values
      • USE_REQUIRED

        public static final java.lang.String USE_REQUIRED
        The use attribute value for required
        See Also:
        Constant Field Values
    • Constructor Detail

      • AttributeDecl

        public AttributeDecl​(Schema schema,
                             java.lang.String name)
        Creates a new AttrDecl with the given name
        Parameters:
        name - of the Attribute defined by this attribute declaration
        schema - the schema that contains the new attrDecl
      • AttributeDecl

        public AttributeDecl​(Schema schema)
        Creates a new AttrDecl in the given schema.
        Parameters:
        schema - the schema that contains the new attrDecl
    • Method Detail

      • getForm

        public Form getForm()
        Returns the Form for this attribute declaration. The Form object species whether or not names are qualified or unqualified for instances of this attribute declaration. If null, the Form should be obtained from the parent Schema.
        Returns:
        the Form for this attribute declaration, or null if not set.
      • getId

        public java.lang.String getId()
        Returns the Id for this attribute declaration
        Returns:
        the Id for this attribute declaration
      • getName

        public java.lang.String getName()
        Returns the name of attributes defined by this AttributeDecl. If this AttributeDecl is a reference to another AttributeDecl, the reference will be resolved and the name of the referenced AttributeDecl will be returned. The name will always be an NCName, no namespace prefix will be included.
        Returns:
        the name of attributes defined by this AttributeDecl.
      • getName

        public java.lang.String getName​(boolean ignoreRef)
        Returns the name of this Attribute declaration. The name will always be an NCName, no namespace prefix will be included.
        Parameters:
        ignoreRef - a boolean that when false, indicates that if this is an attribute reference to return the reference name. Otherwise the only the local name is used.
        Returns:
        the name of this attribute declaration
      • getParent

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

        public SimpleType getSimpleType()
        Returns the data type associated with this AttributeDecl.
        Returns:
        the data type associated with this AttributeDecl.
      • getReference

        public AttributeDecl getReference()
        Returns the AttributeDecl that this attribute definition references. This will return null if this attribute definition does not reference a different attribute definition.
        Returns:
        the AttributeDecl that this attribute definition references
      • getReferenceName

        public java.lang.String getReferenceName()
        Returns the actual reference name of this AttributeDecl, or null if this AttributeDecl is not a reference. The name returned, if not null, will be a QName, possibly containing the namespace prefix.
        Returns:
        the reference name
      • getSchema

        public Schema getSchema()
        Returns the Schema that this AttributeGroupDecl belongs to.
        Returns:
        the Schema that this AttributeGroupDecl belongs to.
      • getUse

        public java.lang.String getUse()
        Returns the value of the use attribute for this attribute declaration or attribute reference. If this is a reference the value of the use attribute will *not* be obtained from the referenced attribute declaration as top-level attributes do not take into account the use attribute.
        Returns:
        the value of the use attribute for this attribute declaration
      • getDefaultValue

        public java.lang.String getDefaultValue()
        Returns the default value of this element definition.
        Returns:
        the default value of this element definition, or null if no default was specified.
      • getFixedValue

        public java.lang.String getFixedValue()
        Returns the fixed value of this element definition.
        Returns:
        the fixed value of this element definition, or null if no default was specified.
      • isDefault

        public boolean isDefault()
        Returns true if the "default" flag is set.
        Returns:
        true if the "default" flag is set.
      • isFixed

        public boolean isFixed()
        Returns true if the use attribute is equal to "optional".
        Returns:
        true if the use attribute is equal to "optional".
      • isOptional

        public boolean isOptional()
        Returns true if the use attribute is equal to "optional".
        Returns:
        true if the use attribute is equal to "optional".
      • isProhibited

        public boolean isProhibited()
        Returns true if the use attribute is equal to "prohibited".
        Returns:
        true if the use attribute is equal to "prohibited".
      • isRequired

        public boolean isRequired()
        Returns true if the 'use' attribute is equal to REQUIRED and there is no specified value. If a value is specifed and the 'use' attribute is "required" then required is will return false, because the attribute value automatically becomes fixed.
        Returns:
        true if the use attribute is equal to "required" and no default value has been specified, otherwise false
      • isReference

        public boolean isReference()
        Returns true if this attribute definition simply references another attribute Definition
        Returns:
        true if this attribute definition is a reference
      • setForm

        public void setForm​(Form form)
        Sets the Form for this attribute declaration. The Form object species whether or not names are qualified or unqualified for instances of this attribute declaration. If null, the Form is to be obtained from the parent Schema.
        Parameters:
        form - the Form type for this attribute declaration.
      • setId

        public void setId​(java.lang.String id)
        Sets the Id for this attribute declaration
        Parameters:
        id - the Id for this attribute declaration
      • setName

        public void setName​(java.lang.String name)
        Sets the name of attributes defined by this attribute definition
        Parameters:
        name - the name of the this AttributeDecl. Must be a valid NCName.
        Throws:
        java.lang.IllegalArgumentException - when the name is not valid
      • setParent

        protected void setParent​(Structure parent)
        Sets the parent for this AttributeDecl
        Parameters:
        parent - the parent Structure for this AttributeDecl
      • setReference

        public void setReference​(AttributeDecl reference)
        Sets the reference for this attribute definition
        Parameters:
        reference - the Attribute definition that this definition references
      • setReference

        public void setReference​(java.lang.String reference)
        Sets the reference for this attribute definition
        Parameters:
        reference - the name of the attribute definition that this definition references
      • setSimpleType

        public void setSimpleType​(SimpleType simpleType)
        Sets the SimpleType for this attribute declaration
        Parameters:
        simpleType - the SimpleType for this attribute declaration
      • setSimpleTypeReference

        public void setSimpleTypeReference​(java.lang.String name)
        Sets the simple type of this attribute to be a reference.
        Parameters:
        name - the name of the simpleType being referenced, must not be null.
      • setUse

        public void setUse​(java.lang.String value)
        Sets the 'use' attribute of this attribute declaration Note: this should not be used to set the flag to FIXED or DEFAULT
        Parameters:
        value - one of the following: ("prohibited" | "optional" | "required")
        See Also:
        USE_PROHIBITED, USE_OPTIONAL, USE_REQUIRED
      • setDefaultValue

        public void setDefaultValue​(java.lang.String value)
        Sets the DEFAULT value
      • setFixedValue

        public void setFixedValue​(java.lang.String value)
        Sets the FIXED value.
      • getStructureType

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

        protected void setSchema​(Schema schema)
        Set the parent schema of the current ElementDecl. The parent schema should at least have the same targetNamespace of the current schema. This method is protected since it is only meant to be used by the internal API to propagate the parent XML Schema in case of a redefinition for instance.
        Parameters:
        schema -
      • hasXMLType

        public boolean hasXMLType()
        Indicates whether a type is set for this element definiion.
        Returns:
        True if a type is set.