org.xml.sax.ext
Class Attributes2Impl

java.lang.Object
  extended byorg.xml.sax.helpers.AttributesImpl
      extended byorg.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).

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 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 lname)
          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 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 flag for each attribute are copied, otherwise the flag values are set to true.

This constructor is especially useful inside a startElement event.

Parameters:
atts - The existing Attributes object.
Method Detail

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 lname)
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.
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
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, unless the object is an Attributes2 object in which case those values are copied.

Overrides:
setAttributes in class AttributesImpl
Parameters:
atts - The attributes to copy.
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).

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:
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
Parameters:
index - The index of the attribute (zero-based).

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.


Source code is under GPL (with library exception) in the JAXP project at http://www.gnu.org/software/classpathx/jaxp
This documentation was derived from that source code on 2008-04-13.