Class SaxDigesterHandler
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.onemind.commons.java.xml.digest.SaxDigesterHandler
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler,org.xml.sax.DTDHandler,org.xml.sax.EntityResolver,org.xml.sax.ErrorHandler
public class SaxDigesterHandler extends org.xml.sax.helpers.DefaultHandlerThe SaxDigesterHandler use digesters to digest the elements in the xml. The digesters can be added using the addDigester(). By default the sequential digester list is used.- Version:
- $Id: SaxDigesterHandler.java,v 1.3 2005/01/30 06:31:37 thlee Exp $ $Name: $
- Author:
- TiongHiang Lee (thlee@thinklient.org)
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map_digestersthe map contains subdigestersprivate java.util.List_elementPathkeep track of the path for current elementprivate static java.util.logging.Logger_loggerthe logger *
-
Constructor Summary
Constructors Constructor Description SaxDigesterHandler()Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDigester(java.lang.String path, ElementDigester dig)Add a digester for the pathvoidaddDigester(ElementDigester dig)Adding a digester to the root pathvoidaddSubDigester(java.lang.String prefixPath, ElementDigester dig)Add a sub digester at a path of current path + prefixPathvoidaddSubDigester(ElementDigester dig)Add a subdigester to current element pathprivate java.lang.StringappendElementPath(java.lang.String name)Append the name to the element path and return the new path stringvoidcharacters(char[] ch, int start, int length)voidendDocument()voidendElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)java.lang.StringgetCurrentPath()Get the current element pathprivate ElementDigestergetDigester(java.lang.String path)Get the digester for particular pathvoidparse(java.io.InputStream stream)Parse an inputprivate java.lang.StringremoveElementPath(java.lang.String qname)Remove the element pathprivate voidstartDigest(java.lang.String path, org.xml.sax.Attributes attr)Call start of particular element digester, if there's anyvoidstartDocument()voidstartElement(java.lang.String namespaceURI, java.lang.String lName, java.lang.String qName, org.xml.sax.Attributes attrs)
-
-
-
Method Detail
-
addDigester
public void addDigester(ElementDigester dig)
Adding a digester to the root path- Parameters:
dig- the digester
-
addDigester
public void addDigester(java.lang.String path, ElementDigester dig)Add a digester for the path- Parameters:
path- the pathdig- the digester
-
addSubDigester
public void addSubDigester(ElementDigester dig)
Add a subdigester to current element path- Parameters:
dig- the digester
-
addSubDigester
public void addSubDigester(java.lang.String prefixPath, ElementDigester dig)Add a sub digester at a path of current path + prefixPath- Parameters:
prefixPath- the prefix pathdig- the digester
-
appendElementPath
private java.lang.String appendElementPath(java.lang.String name)
Append the name to the element path and return the new path string- Parameters:
name- the name of new element- Returns:
- the new path string
-
characters
public void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException- Specified by:
charactersin interfaceorg.xml.sax.ContentHandler- Overrides:
charactersin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
endDocument
public void endDocument() throws org.xml.sax.SAXException- Specified by:
endDocumentin interfaceorg.xml.sax.ContentHandler- Overrides:
endDocumentin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
endElement
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException- Specified by:
endElementin interfaceorg.xml.sax.ContentHandler- Overrides:
endElementin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
getCurrentPath
public java.lang.String getCurrentPath()
Get the current element path- Returns:
- the path, or null if at start of document
-
getDigester
private ElementDigester getDigester(java.lang.String path)
Get the digester for particular path- Parameters:
path- the path- Returns:
- the digester, or null if there's none found
-
removeElementPath
private java.lang.String removeElementPath(java.lang.String qname)
Remove the element path- Parameters:
qname- the element name is being removed- Returns:
- the path string before the path is removed
-
startDocument
public void startDocument() throws org.xml.sax.SAXException- Specified by:
startDocumentin interfaceorg.xml.sax.ContentHandler- Overrides:
startDocumentin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
startDigest
private void startDigest(java.lang.String path, org.xml.sax.Attributes attr) throws org.xml.sax.SAXExceptionCall start of particular element digester, if there's any- Parameters:
attr- the attributepath- the path- Throws:
org.xml.sax.SAXException
-
startElement
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- Specified by:
startElementin interfaceorg.xml.sax.ContentHandler- Overrides:
startElementin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
parse
public void parse(java.io.InputStream stream) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, java.io.IOExceptionParse an input- Parameters:
stream- the stream- Throws:
javax.xml.parsers.ParserConfigurationExceptionorg.xml.sax.SAXExceptionjava.io.IOException
-
-