FileDocCategorySizeDatePackage
MutableAttrListImpl.javaAPI DocJava SE 5 API3953Fri Aug 26 14:56:04 BST 2005com.sun.org.apache.xml.internal.utils

MutableAttrListImpl

public class MutableAttrListImpl extends AttributesImpl implements Serializable
Mutable version of AttributesImpl.
xsl.usage
advanced

Fields Summary
Constructors Summary
public MutableAttrListImpl()
Construct a new, empty AttributesImpl object.

    super();
  
public MutableAttrListImpl(Attributes atts)
Copy an existing Attributes object.

This constructor is especially useful inside a start element event.

param
atts The existing Attributes object.

    super(atts);
  
Methods Summary
public voidaddAttribute(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.

For the sake of speed, this method does no checking to see if the attribute is already in the list: that is the responsibility of the application.

param
uri The Namespace URI, or the empty string if none is available or Namespace processing is not being performed.
param
localName The local name, or the empty string if Namespace processing is not being performed.
param
qName The qualified (prefixed) name, or the empty string if qualified names are not available.
param
type The attribute type as a string.
param
value The attribute value.


    if (null == uri)
      uri = "";

    // getIndex(qName) seems to be more reliable than getIndex(uri, localName), 
    // in the case of the xmlns attribute anyway.
    int index = this.getIndex(qName);
    // int index = this.getIndex(uri, localName);
   
    // System.out.println("MutableAttrListImpl#addAttribute: "+uri+":"+localName+", "+index+", "+qName+", "+this);

    if (index >= 0)
      this.setAttribute(index, uri, localName, qName, type, value);
    else
      super.addAttribute(uri, localName, qName, type, value);
  
public voidaddAttributes(org.xml.sax.Attributes atts)
Add the contents of the attribute list to this list.

param
atts List of attributes to add to this list


    int nAtts = atts.getLength();

    for (int i = 0; i < nAtts; i++)
    {
      String uri = atts.getURI(i);

      if (null == uri)
        uri = "";

      String localName = atts.getLocalName(i);
      String qname = atts.getQName(i);
      int index = this.getIndex(uri, localName);
      // System.out.println("MutableAttrListImpl#addAttributes: "+uri+":"+localName+", "+index+", "+atts.getQName(i)+", "+this);
      if (index >= 0)
        this.setAttribute(index, uri, localName, qname, atts.getType(i),
                          atts.getValue(i));
      else
        addAttribute(uri, localName, qname, atts.getType(i),
                     atts.getValue(i));
    }
  
public booleancontains(java.lang.String name)
Return true if list contains the given (raw) attribute name.

param
name Raw name of attribute to look for
return
true if an attribute is found with this name

    return getValue(name) != null;