## org.xml.sax.ext
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 module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.

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:
  SAX 2.0 (extensions 1.1 alpha)
Version:
  TBS
Author:
  David Brownell

Constructor Summary
`Attributes2Impl()` Construct a new, empty Attributes2Impl object.
`Attributes2Impl(Attributes atts)` Copy an existing Attributes or Attributes2 object.

Method Summary
`void` `addAttribute(java.lang.String uri, java.lang.String localName, java.lang.String qName, java.lang.String type, java.lang.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` `isDeclared(java.lang.String qName)` Returns the current value of the attribute's "declared" flag.
`boolean` `isDeclared(java.lang.String uri, java.lang.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` `isSpecified(java.lang.String qName)` Returns the current value of an attribute's "specified" flag.
`boolean` `isSpecified(java.lang.String uri, java.lang.String localName)` Returns the current value of an attribute's "specified" flag.
`void` `removeAttribute(int index)` Remove an attribute from the list.
`void` `setAttributes(Attributes atts)` 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 inherited from class org.xml.sax.helpers.AttributesImpl
`clear, getIndex, getIndex, getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue, setAttribute, setLocalName, setQName, setType, setURI, setValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.xml.sax.Attributes
`getIndex, getIndex, getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue`

Constructor Detail

### 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 Detail

### isDeclared

    public boolean isDeclared(int index)

  Returns the current value of the attribute's "declared" flag.
  Specified by:
    `isDeclared` in interface `Attributes2`
  Following copied from interface: `org.xml.sax.ext.Attributes2`
  Parameters:
    `index` - The attribute index (zero-based).
  Returns:
    true if the attribute was declared in the DTD, false otherwise.
  Throws:
    `java.lang.ArrayIndexOutOfBoundsException` - When the supplied index does not identify an attribute.

### isDeclared

    public boolean isDeclared(java.lang.String uri,
                              java.lang.String localName)

  Returns the current value of the attribute's "declared" flag.
  Specified by:
    `isDeclared` in interface `Attributes2`
  Following copied from interface: `org.xml.sax.ext.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.
  Throws:
    `java.lang.IllegalArgumentException` - When the supplied names do not identify an attribute.

### isDeclared

    public boolean isDeclared(java.lang.String qName)

  Returns the current value of the attribute's "declared" flag.
  Specified by:
    `isDeclared` in interface `Attributes2`
  Following copied from interface: `org.xml.sax.ext.Attributes2`
  Parameters:
    `qName` - The XML qualified (prefixed) name.
  Returns:
    true if the attribute was declared in the DTD, false otherwise.
  Throws:
    `java.lang.IllegalArgumentException` - When the supplied name does not identify an attribute.

### 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:
    `java.lang.ArrayIndexOutOfBoundsException` - When the supplied index does not identify an attribute.

### isSpecified

    public boolean isSpecified(java.lang.String uri,
                               java.lang.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:
    `java.lang.IllegalArgumentException` - When the supplied names do not identify an attribute.

### isSpecified

    public boolean isSpecified(java.lang.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:
    `java.lang.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`
  See Also:
    `AttributesImpl.setAttributes(org.xml.sax.Attributes)`

### addAttribute

    public void addAttribute(java.lang.String uri,
                             java.lang.String localName,
                             java.lang.String qName,
                             java.lang.String type,
                             java.lang.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`
  See Also:
    `AttributesImpl.addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)`

### removeAttribute

    public void removeAttribute(int index)

  Description copied from class: `AttributesImpl`
  Remove an attribute from the list.
  Overrides:
    `removeAttribute` in class `AttributesImpl`
  Following copied from class: `org.xml.sax.helpers.AttributesImpl`
  Parameters:
    `index` - The index of the attribute (zero-based).
  Throws:
    `java.lang.ArrayIndexOutOfBoundsException` - When the supplied index does not point to an attribute in the list.

### 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:
    `java.lang.ArrayIndexOutOfBoundsException` - When the supplied index does not identify an attribute.
  See Also:
    `AttributesImpl.setType(int, java.lang.String)`

### 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:
    `java.lang.ArrayIndexOutOfBoundsException` - When the supplied index does not identify an attribute.

Copyright © 1999-2007 The Apache Software Foundation. All Rights Reserved.