org.apache.xml.serializer

Class AttributesImplSerializer

Implemented Interfaces:
Attributes

public class AttributesImplSerializer
extends AttributesImpl

This class extends org.xml.sax.helpers.AttributesImpl which implements org. xml.sax.Attributes. But for optimization this class adds a Hashtable for faster lookup of an index by qName, which is commonly done in the stream serializer.

See Also:
Attributes

Field Summary

static int
MAX
This is the number of attributes before switching to the hash table, and can be tuned, but 12 seems good for now - bjm

Method Summary

void
addAttribute(String uri, String local, String qname, String type, String val)
This method adds the attribute, but also records its qName/index pair in the hashtable for fast lookup by getIndex(qName).
void
clear()
This method clears the accumulated attributes.
int
getIndex(String qname)
This method gets the index of an attribute given its qName.
void
setAttributes(Attributes atts)
This method sets the attributes, previous attributes are cleared, it also keeps the hashtable up to date for quick lookup via getIndex(qName).

Methods inherited from class org.xml.sax.helpers.AttributesImpl

addAttribute, clear, getIndex, getIndex, getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue, removeAttribute, setAttribute, setAttributes, setLocalName, setQName, setType, setURI, setValue

Field Details

MAX

public static final int MAX
This is the number of attributes before switching to the hash table, and can be tuned, but 12 seems good for now - bjm

Field Value:
12

Method Details

addAttribute

public void addAttribute(String uri,
                         String local,
                         String qname,
                         String type,
                         String val)
This method adds the attribute, but also records its qName/index pair in the hashtable for fast lookup by getIndex(qName).
Overrides:
addAttribute in interface AttributesImpl

Parameters:
uri - the URI of the attribute
local - the local name of the attribute
qname - the qualified name of the attribute
type - the type of the attribute
val - the value of the attribute

See Also:
AttributesImpl.addAttribute(String,String,String,String,String), getIndex(String)


clear

public void clear()
This method clears the accumulated attributes.
Overrides:
clear in interface AttributesImpl

See Also:
AttributesImpl.clear()


getIndex

public int getIndex(String qname)
This method gets the index of an attribute given its qName.
Specified by:
getIndex in interface Attributes
Overrides:
getIndex in interface AttributesImpl

Parameters:
qname - the qualified name of the attribute, e.g. "prefix1:locName1"

Returns:
the integer index of the attribute.

See Also:
Attributes.getIndex(String)


setAttributes

public void setAttributes(Attributes atts)
This method sets the attributes, previous attributes are cleared, it also keeps the hashtable up to date for quick lookup via getIndex(qName).
Overrides:
setAttributes in interface AttributesImpl

Parameters:
atts - the attributes to copy into these attributes.

See Also:
AttributesImpl.setAttributes(Attributes), getIndex(String)


Copyright B) 2004 Apache XML Project. All Rights Reserved.