public class SaxDigesterHandler
extends org.xml.sax.helpers.DefaultHandler
Modifier and Type | Field and Description |
---|---|
private java.util.Map |
_digesters
the map contains subdigesters
|
private java.util.List |
_elementPath
keep track of the path for current element
|
private static java.util.logging.Logger |
_logger
the logger *
|
Constructor and Description |
---|
SaxDigesterHandler()
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addDigester(ElementDigester dig)
Adding a digester to the root path
|
void |
addDigester(java.lang.String path,
ElementDigester dig)
Add a digester for the path
|
void |
addSubDigester(ElementDigester dig)
Add a subdigester to current element path
|
void |
addSubDigester(java.lang.String prefixPath,
ElementDigester dig)
Add a sub digester at a path of current path + prefixPath
|
private java.lang.String |
appendElementPath(java.lang.String name)
Append the name to the element path and return the new path string
|
void |
characters(char[] ch,
int start,
int length) |
void |
endDocument() |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName) |
java.lang.String |
getCurrentPath()
Get the current element path
|
private ElementDigester |
getDigester(java.lang.String path)
Get the digester for particular path
|
void |
parse(java.io.InputStream stream)
Parse an input
|
private java.lang.String |
removeElementPath(java.lang.String qname)
Remove the element path
|
private void |
startDigest(java.lang.String path,
org.xml.sax.Attributes attr)
Call start of particular element digester, if there's any
|
void |
startDocument() |
void |
startElement(java.lang.String namespaceURI,
java.lang.String lName,
java.lang.String qName,
org.xml.sax.Attributes attrs) |
private static final java.util.logging.Logger _logger
private java.util.Map _digesters
private java.util.List _elementPath
public void addDigester(ElementDigester dig)
dig
- the digesterpublic void addDigester(java.lang.String path, ElementDigester dig)
path
- the pathdig
- the digesterpublic void addSubDigester(ElementDigester dig)
dig
- the digesterpublic void addSubDigester(java.lang.String prefixPath, ElementDigester dig)
prefixPath
- the prefix pathdig
- the digesterprivate java.lang.String appendElementPath(java.lang.String name)
name
- the name of new elementpublic void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException
characters
in interface org.xml.sax.ContentHandler
characters
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void endDocument() throws org.xml.sax.SAXException
endDocument
in interface org.xml.sax.ContentHandler
endDocument
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.ContentHandler
endElement
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public java.lang.String getCurrentPath()
private ElementDigester getDigester(java.lang.String path)
path
- the pathprivate java.lang.String removeElementPath(java.lang.String qname)
qname
- the element name is being removedpublic void startDocument() throws org.xml.sax.SAXException
startDocument
in interface org.xml.sax.ContentHandler
startDocument
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
private void startDigest(java.lang.String path, org.xml.sax.Attributes attr) throws org.xml.sax.SAXException
attr
- the attributepath
- the pathorg.xml.sax.SAXException
public void startElement(java.lang.String namespaceURI, java.lang.String lName, java.lang.String qName, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXException
startElement
in interface org.xml.sax.ContentHandler
startElement
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void parse(java.io.InputStream stream) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, java.io.IOException
stream
- the streamjavax.xml.parsers.ParserConfigurationException
org.xml.sax.SAXException
java.io.IOException