org.apache.xml.serializer

Class AttributesImplSerializer


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:
org.xml.sax.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).

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).
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

clear

public void clear()
This method clears the accumulated attributes.
See Also:
org.xml.sax.helpers.AttributesImpl.clear()

getIndex

public int getIndex(String qname)
This method gets the index of an attribute given its qName.
Parameters:
qname - the qualified name of the attribute, e.g. "prefix1:locName1"
Returns:
the integer index of the attribute.
See Also:
org.xml.sax.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).
Parameters:
atts - the attributes to copy into these attributes.

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