|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.xml.sax.helpers.AttributesImpl org.apache.xml.serializer.AttributesImplSerializer
public final class AttributesImplSerializer
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.
Attributes
Field Summary | |
---|---|
private java.lang.StringBuffer |
m_buff
|
private java.util.Hashtable |
m_indexFromQName
Hash table of qName/index values to quickly lookup the index of an attributes qName. |
private 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 - Brian M. |
private static int |
MAXMinus1
One less than the number of attributes before switching to the Hashtable. |
Constructor Summary | |
---|---|
AttributesImplSerializer()
|
Method Summary | |
---|---|
void |
addAttribute(java.lang.String uri,
java.lang.String local,
java.lang.String qname,
java.lang.String type,
java.lang.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(java.lang.String qname)
This method gets the index of an attribute given its qName. |
int |
getIndex(java.lang.String uri,
java.lang.String localName)
This method gets the index of an attribute given its uri and locanName. |
void |
setAttributes(org.xml.sax.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). |
private void |
switchOverToHash(int numAtts)
We are switching over to having a hash table for quick look up of attributes, but up until now we haven't kept any information in the Hashtable, so we now update the Hashtable. |
Methods inherited from class org.xml.sax.helpers.AttributesImpl |
---|
getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue, removeAttribute, setAttribute, setLocalName, setQName, setType, setURI, setValue |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.util.Hashtable m_indexFromQName
private final java.lang.StringBuffer m_buff
private static final int MAX
private static final int MAXMinus1
Constructor Detail |
---|
public AttributesImplSerializer()
Method Detail |
---|
public final int getIndex(java.lang.String qname)
getIndex
in interface org.xml.sax.Attributes
getIndex
in class org.xml.sax.helpers.AttributesImpl
qname
- the qualified name of the attribute, e.g. "prefix1:locName1"
Attributes.getIndex(String)
public final void addAttribute(java.lang.String uri, java.lang.String local, java.lang.String qname, java.lang.String type, java.lang.String val)
addAttribute
in class org.xml.sax.helpers.AttributesImpl
uri
- the URI of the attributelocal
- the local name of the attributeqname
- the qualified name of the attributetype
- the type of the attributeval
- the value of the attributeAttributesImpl.addAttribute(String, String, String, String, String)
,
getIndex(String)
private void switchOverToHash(int numAtts)
numAtts
- public final void clear()
clear
in class org.xml.sax.helpers.AttributesImpl
AttributesImpl.clear()
public final void setAttributes(org.xml.sax.Attributes atts)
setAttributes
in class org.xml.sax.helpers.AttributesImpl
atts
- the attributes to copy into these attributes.AttributesImpl.setAttributes(Attributes)
,
getIndex(String)
public final int getIndex(java.lang.String uri, java.lang.String localName)
getIndex
in interface org.xml.sax.Attributes
getIndex
in class org.xml.sax.helpers.AttributesImpl
uri
- the URI of the attribute name.localName
- the local namer (after the ':' ) of the attribute name.
Attributes.getIndex(String)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |