org.apache.xalan.xpath.xml
Class MutableAttrListImpl

java.lang.Object
  |
  +--org.apache.xalan.xpath.xml.StringVector
        |
        +--org.apache.xalan.xpath.xml.MutableAttrListImpl

public class MutableAttrListImpl
extends StringVector
implements org.xml.sax.AttributeList, java.io.Serializable

**For advanced use only** Implement the SAX AttributeList interface, using a single array.

See Also:
Serialized Form

Constructor Summary
MutableAttrListImpl()
          **For advanced use only** Create an empty attribute list.
MutableAttrListImpl(org.xml.sax.AttributeList atts)
          **For advanced use only** Construct a persistent copy of an existing attribute list.
 
Method Summary
 void addAttribute(java.lang.String name, java.lang.String type, java.lang.String value)
          **For advanced use only** Add an attribute to an attribute list.
 void clear()
          **For advanced use only** Clear the attribute list.
 int getLength()
          **For advanced use only** Return the number of attributes in the list.
 java.lang.String getName(int i)
          **For advanced use only** Get the name of an attribute (by position).
 java.lang.String getType(int i)
          **For advanced use only** Get the type of an attribute (by position).
 java.lang.String getType(java.lang.String name)
          **For advanced use only** Get the type of an attribute (by name).
 java.lang.String getValue(int i)
          **For advanced use only** Get the value of an attribute (by position).
 java.lang.String getValue(java.lang.String name)
          **For advanced use only** Get the value of an attribute (by name).
 void removeAttribute(java.lang.String name)
          **For advanced use only** Remove an attribute from the list.
 void setAttributeList(org.xml.sax.AttributeList atts)
          **For advanced use only** Set the attribute list, discarding previous contents.
 
Methods inherited from class org.apache.xalan.xpath.xml.StringVector
addElement, contains, containsIgnoreCase, elementAt, peek, pop, push, size
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MutableAttrListImpl

public MutableAttrListImpl()
**For advanced use only** Create an empty attribute list.

This constructor is most useful for parser writers, who will use it to create a single, reusable attribute list that can be reset with the clear method between elements.

See Also:
addAttribute(java.lang.String, java.lang.String, java.lang.String), clear()

MutableAttrListImpl

public MutableAttrListImpl(org.xml.sax.AttributeList atts)
**For advanced use only** Construct a persistent copy of an existing attribute list.

This constructor is most useful for application writers, who will use it to create a persistent copy of an existing attribute list.

Parameters:
atts - The attribute list to copy
See Also:
DocumentHandler.startElement(java.lang.String, org.xml.sax.AttributeList)
Method Detail

setAttributeList

public void setAttributeList(org.xml.sax.AttributeList atts)
**For advanced use only** Set the attribute list, discarding previous contents.

This method allows an application writer to reuse an attribute list easily.

Parameters:
atts - The attribute list to copy.

addAttribute

public void addAttribute(java.lang.String name,
                         java.lang.String type,
                         java.lang.String value)
**For advanced use only** Add an attribute to an attribute list.

This method is provided for SAX parser writers, to allow them to build up an attribute list incrementally before delivering it to the application.

Parameters:
name - The attribute name.
type - The attribute type ("NMTOKEN" for an enumeration).
value - The attribute value (must not be null).
See Also:
removeAttribute(java.lang.String), DocumentHandler.startElement(java.lang.String, org.xml.sax.AttributeList)

removeAttribute

public void removeAttribute(java.lang.String name)
**For advanced use only** Remove an attribute from the list.

SAX application writers can use this method to filter an attribute out of an AttributeList. Note that invoking this method will change the length of the attribute list and some of the attribute's indices.

If the requested attribute is not in the list, this is a no-op.

Parameters:
name - The attribute name.
See Also:
addAttribute(java.lang.String, java.lang.String, java.lang.String)

clear

public void clear()
**For advanced use only** Clear the attribute list.

SAX parser writers can use this method to reset the attribute list between DocumentHandler.startElement events. Normally, it will make sense to reuse the same MutableAttrListImpl object rather than allocating a new one each time.

See Also:
DocumentHandler.startElement(java.lang.String, org.xml.sax.AttributeList)

getLength

public int getLength()
**For advanced use only** Return the number of attributes in the list.
Specified by:
getLength in interface org.xml.sax.AttributeList
Returns:
The number of attributes in the list.
Overrides:
getLength in class StringVector
See Also:
AttributeList.getLength()

getName

public java.lang.String getName(int i)
**For advanced use only** Get the name of an attribute (by position).
Specified by:
getName in interface org.xml.sax.AttributeList
Parameters:
i - The position of the attribute in the list.
Returns:
The attribute name as a string, or null if there is no attribute at that position.
See Also:
AttributeList.getName(int)

getType

public java.lang.String getType(int i)
**For advanced use only** Get the type of an attribute (by position).
Specified by:
getType in interface org.xml.sax.AttributeList
Parameters:
i - The position of the attribute in the list.
Returns:
The attribute type as a string ("NMTOKEN" for an enumeration, and "CDATA" if no declaration was read), or null if there is no attribute at that position.
See Also:
AttributeList.getType(int)

getValue

public java.lang.String getValue(int i)
**For advanced use only** Get the value of an attribute (by position).
Specified by:
getValue in interface org.xml.sax.AttributeList
Parameters:
i - The position of the attribute in the list.
Returns:
The attribute value as a string, or null if there is no attribute at that position.
See Also:
AttributeList.getValue(int)

getType

public java.lang.String getType(java.lang.String name)
**For advanced use only** Get the type of an attribute (by name).
Specified by:
getType in interface org.xml.sax.AttributeList
Parameters:
name - The attribute name.
Returns:
The attribute type as a string ("NMTOKEN" for an enumeration, and "CDATA" if no declaration was read).
See Also:
AttributeList.getType(java.lang.String)

getValue

public java.lang.String getValue(java.lang.String name)
**For advanced use only** Get the value of an attribute (by name).
Specified by:
getValue in interface org.xml.sax.AttributeList
Parameters:
name - The attribute name.
See Also:
AttributeList.getValue(java.lang.String)