Class Attributes2Impl

java.lang.Object
org.xml.sax.helpers.AttributesImpl
org.xml.sax.ext.Attributes2Impl
All Implemented Interfaces:
Attributes, Attributes2

public class Attributes2Impl extends AttributesImpl implements Attributes2
SAX2 extension helper for additional Attributes information, implementing the Attributes2 interface.

This is not part of core-only SAX2 distributions.

The specified flag for each attribute will always be true, unless it has been set to false in the copy constructor or using setSpecified(int, boolean). Similarly, the declared flag for each attribute will always be false, except for defaulted attributes (specified is false), non-CDATA attributes, or when it is set to true using setDeclared(int, boolean). If you change an attribute's type by hand, you may need to modify its declared flag to match.

Since:
1.5, SAX 2.0 (extensions 1.1 alpha)
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct a new, empty Attributes2Impl object.
    Copy an existing Attributes or Attributes2 object.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addAttribute(String uri, String localName, String qName, String type, String value)
    Add an attribute to the end of the list, setting its "specified" flag to true.
    boolean
    isDeclared(int index)
    Returns the current value of the attribute's "declared" flag.
    boolean
    Returns the current value of the attribute's "declared" flag.
    boolean
    isDeclared(String uri, String localName)
    Returns the current value of the attribute's "declared" flag.
    boolean
    isSpecified(int index)
    Returns the current value of an attribute's "specified" flag.
    boolean
    Returns the current value of an attribute's "specified" flag.
    boolean
    isSpecified(String uri, String localName)
    Returns the current value of an attribute's "specified" flag.
    void
    Copy an entire Attributes object.
    void
    setDeclared(int index, boolean value)
    Assign a value to the "declared" flag of a specific attribute.
    void
    setSpecified(int index, boolean value)
    Assign a value to the "specified" flag of a specific attribute.

    Methods declared in class AttributesImpl

    clear, getIndex, getIndex, getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue, removeAttribute, setAttribute, setLocalName, setQName, setType, setURI, setValue
    Modifier and Type
    Method
    Description
    void
    Clear the attribute list for reuse.
    int
    Look up an attribute's index by qualified (prefixed) name.
    int
    getIndex(String uri, String localName)
    Look up an attribute's index by Namespace name.
    int
    Return the number of attributes in the list.
    getLocalName(int index)
    Return an attribute's local name.
    getQName(int index)
    Return an attribute's qualified (prefixed) name.
    getType(int index)
    Return an attribute's type by index.
    getType(String qName)
    Look up an attribute's type by qualified (prefixed) name.
    getType(String uri, String localName)
    Look up an attribute's type by Namespace-qualified name.
    getURI(int index)
    Return an attribute's Namespace URI.
    getValue(int index)
    Return an attribute's value by index.
    Look up an attribute's value by qualified (prefixed) name.
    getValue(String uri, String localName)
    Look up an attribute's value by Namespace-qualified name.
    void
    removeAttribute(int index)
    Remove an attribute from the list.
    void
    setAttribute(int index, String uri, String localName, String qName, String type, String value)
    Set an attribute in the list.
    void
    setLocalName(int index, String localName)
    Set the local name of a specific attribute.
    void
    setQName(int index, String qName)
    Set the qualified name of a specific attribute.
    void
    setType(int index, String type)
    Set the type of a specific attribute.
    void
    setURI(int index, String uri)
    Set the Namespace URI of a specific attribute.
    void
    setValue(int index, String value)
    Set the value of a specific attribute.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • Attributes2Impl

      public Attributes2Impl()
      Construct a new, empty Attributes2Impl object.
    • Attributes2Impl

      public Attributes2Impl(Attributes atts)
      Copy an existing Attributes or Attributes2 object. If the object implements Attributes2, values of the specified and declared flags for each attribute are copied. Otherwise the flag values are defaulted to assume no DTD was used, unless there is evidence to the contrary (such as attributes with type other than CDATA, which must have been declared).

      This constructor is especially useful inside a startElement event.

      Parameters:
      atts - The existing Attributes object.
  • Method Details

    • isDeclared

      public boolean isDeclared(int index)
      Returns the current value of the attribute's "declared" flag.
      Specified by:
      isDeclared in interface Attributes2
      Parameters:
      index - The attribute index (zero-based).
      Returns:
      true if the attribute was declared in the DTD, false otherwise.
    • isDeclared

      public boolean isDeclared(String uri, String localName)
      Returns the current value of the attribute's "declared" flag.
      Specified by:
      isDeclared in interface Attributes2
      Parameters:
      uri - The Namespace URI, or the empty string if the name has no Namespace URI.
      localName - The attribute's local name.
      Returns:
      true if the attribute was declared in the DTD, false otherwise.
    • isDeclared

      public boolean isDeclared(String qName)
      Returns the current value of the attribute's "declared" flag.
      Specified by:
      isDeclared in interface Attributes2
      Parameters:
      qName - The XML qualified (prefixed) name.
      Returns:
      true if the attribute was declared in the DTD, false otherwise.
    • isSpecified

      public boolean isSpecified(int index)
      Returns the current value of an attribute's "specified" flag.
      Specified by:
      isSpecified in interface Attributes2
      Parameters:
      index - The attribute index (zero-based).
      Returns:
      current flag value
      Throws:
      ArrayIndexOutOfBoundsException - When the supplied index does not identify an attribute.
    • isSpecified

      public boolean isSpecified(String uri, String localName)
      Returns the current value of an attribute's "specified" flag.
      Specified by:
      isSpecified in interface Attributes2
      Parameters:
      uri - The Namespace URI, or the empty string if the name has no Namespace URI.
      localName - The attribute's local name.
      Returns:
      current flag value
      Throws:
      IllegalArgumentException - When the supplied names do not identify an attribute.
    • isSpecified

      public boolean isSpecified(String qName)
      Returns the current value of an attribute's "specified" flag.
      Specified by:
      isSpecified in interface Attributes2
      Parameters:
      qName - The XML qualified (prefixed) name.
      Returns:
      current flag value
      Throws:
      IllegalArgumentException - When the supplied name does not identify an attribute.
    • setAttributes

      public void setAttributes(Attributes atts)
      Copy an entire Attributes object. The "specified" flags are assigned as true, and "declared" flags as false (except when an attribute's type is not CDATA), unless the object is an Attributes2 object. In that case those flag values are all copied.
      Overrides:
      setAttributes in class AttributesImpl
      Parameters:
      atts - The attributes to copy.
      See Also:
    • addAttribute

      public void addAttribute(String uri, String localName, String qName, String type, String value)
      Add an attribute to the end of the list, setting its "specified" flag to true. To set that flag's value to false, use setSpecified(int, boolean).

      Unless the attribute type is CDATA, this attribute is marked as being declared in the DTD. To set that flag's value to true for CDATA attributes, use setDeclared(int, boolean).

      Overrides:
      addAttribute in class AttributesImpl
      Parameters:
      uri - The Namespace URI, or the empty string if none is available or Namespace processing is not being performed.
      localName - The local name, or the empty string if Namespace processing is not being performed.
      qName - The qualified (prefixed) name, or the empty string if qualified names are not available.
      type - The attribute type as a string.
      value - The attribute value.
      See Also:
    • setDeclared

      public void setDeclared(int index, boolean value)
      Assign a value to the "declared" flag of a specific attribute. This is normally needed only for attributes of type CDATA, including attributes whose type is changed to or from CDATA.
      Parameters:
      index - The index of the attribute (zero-based).
      value - The desired flag value.
      Throws:
      ArrayIndexOutOfBoundsException - When the supplied index does not identify an attribute.
      See Also:
    • setSpecified

      public void setSpecified(int index, boolean value)
      Assign a value to the "specified" flag of a specific attribute. This is the only way this flag can be cleared, except clearing by initialization with the copy constructor.
      Parameters:
      index - The index of the attribute (zero-based).
      value - The desired flag value.
      Throws:
      ArrayIndexOutOfBoundsException - When the supplied index does not identify an attribute.