net.sf.joost.stx
Class SAXWrapperHandler

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by net.sf.joost.stx.SAXWrapperHandler
All Implemented Interfaces:
TransformerHandler, ContentHandler, DTDHandler, EntityResolver, ErrorHandler, LexicalHandler

public class SAXWrapperHandler
extends DefaultHandler
implements TransformerHandler

Wraps a SAX parser (XMLReader) in a TransformerHandler object.

Collects all character data reported by characters and parses them afterwards with a SAX parser (which produces the result of this transformation). Other input events will be ignored.

Version:
$Revision: 1.2 $ $Date: 2008/06/15 08:11:22 $
Author:
Oliver Becker

Field Summary
private  StringBuffer buffer
          the character buffer
private  XMLReader parser
          the wrapped SAX parser
private  SAXResult saxResult
          event sink for this transformer
 
Constructor Summary
SAXWrapperHandler()
           
 
Method Summary
 void characters(char[] ch, int start, int length)
          collect characters
 void comment(char[] ch, int start, int length)
           
 void endCDATA()
           
 void endDocument()
          parse the collected characters
 void endDTD()
           
 void endEntity(String name)
           
 String getSystemId()
           
 Transformer getTransformer()
           
 void ignorableWhitespace(char[] ch, int start, int length)
          collect characters
 void setResult(Result result)
           
 void setSystemId(String id)
           
 void startCDATA()
           
 void startDocument()
          initialize parser and character buffer
 void startDTD(String name, String publicId, String systemId)
           
 void startEntity(String name)
           
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endElement, endPrefixMapping, error, fatalError, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startElement, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.xml.sax.ContentHandler
endElement, endPrefixMapping, processingInstruction, setDocumentLocator, skippedEntity, startElement, startPrefixMapping
 
Methods inherited from interface org.xml.sax.DTDHandler
notationDecl, unparsedEntityDecl
 

Field Detail

saxResult

private SAXResult saxResult
event sink for this transformer


parser

private XMLReader parser
the wrapped SAX parser


buffer

private StringBuffer buffer
the character buffer

Constructor Detail

SAXWrapperHandler

public SAXWrapperHandler()
Method Detail

startDTD

public void startDTD(String name,
                     String publicId,
                     String systemId)
Specified by:
startDTD in interface LexicalHandler

endDTD

public void endDTD()
Specified by:
endDTD in interface LexicalHandler

startEntity

public void startEntity(String name)
Specified by:
startEntity in interface LexicalHandler

endEntity

public void endEntity(String name)
Specified by:
endEntity in interface LexicalHandler

startCDATA

public void startCDATA()
Specified by:
startCDATA in interface LexicalHandler

endCDATA

public void endCDATA()
Specified by:
endCDATA in interface LexicalHandler

comment

public void comment(char[] ch,
                    int start,
                    int length)
Specified by:
comment in interface LexicalHandler

startDocument

public void startDocument()
                   throws SAXException
initialize parser and character buffer

Specified by:
startDocument in interface ContentHandler
Overrides:
startDocument in class DefaultHandler
Throws:
SAXException

characters

public void characters(char[] ch,
                       int start,
                       int length)
collect characters

Specified by:
characters in interface ContentHandler
Overrides:
characters in class DefaultHandler

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
collect characters

Specified by:
ignorableWhitespace in interface ContentHandler
Overrides:
ignorableWhitespace in class DefaultHandler

endDocument

public void endDocument()
                 throws SAXException
parse the collected characters

Specified by:
endDocument in interface ContentHandler
Overrides:
endDocument in class DefaultHandler
Throws:
SAXException

setResult

public void setResult(Result result)
Specified by:
setResult in interface TransformerHandler

setSystemId

public void setSystemId(String id)
Specified by:
setSystemId in interface TransformerHandler

getSystemId

public String getSystemId()
Specified by:
getSystemId in interface TransformerHandler

getTransformer

public Transformer getTransformer()
Specified by:
getTransformer in interface TransformerHandler