net.sf.fikin.xml.sax
Class BufferHandler

java.lang.Object
  extended by net.sf.fikin.xml.sax.BufferHandler
All Implemented Interfaces:
SAXHandler, SAXHandlerAndResolver, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler
Direct Known Subclasses:
CompletingBufferHandler

public class BufferHandler
extends java.lang.Object
implements SAXHandlerAndResolver

SAX events handler collecting all SAX events into a buffer (java.util.Vector).

It is possible to emmit (and re-emmit) at any point of time.

Serialization is provided by java.util.Vector.

Example:

      BufferHandler buf = new BufferHandler();
      
      XMLReader reader = XMLReaderFactory.createXMLReader()
      reader.setContentHandler( buf );
      reader.setDTDHandler( buf );
      reader.setEntityResolver( buf );
      ...
      reader.parse( input );
      
      buf.emmit( someContentHanlder ); // emmits the events in same order
      ...
      buf.clear(); // now it is ready for reuse
      ...
 
created on Aug 17, 2006

Since:
Version:
$Revision: 1.5 $
Author:
fiykov

Constructor Summary
BufferHandler()
           
BufferHandler(int initialSize)
           
 
Method Summary
 void characters(char[] ch, int start, int length)
           
 void characters(java.lang.String str)
          same as characters(char ch[], int start, int length) but using string
 void clear()
          clear buffered SAX events
 void comment(char[] ch, int start, int length)
           
 void comment(java.lang.String str)
          same as comment(char ch[], int start, int length) but using string
 void emmit(org.xml.sax.ContentHandler handler)
          Emmit buffered SAX events.
 void endCDATA()
           
 void endDocument()
           
 void endDTD()
           
 void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
           
 void endEntity(java.lang.String name)
           
 void endPrefixMapping(java.lang.String prefix)
           
 void error(org.xml.sax.SAXParseException exception)
           
 void fatalError(org.xml.sax.SAXParseException exception)
           
protected  java.util.Vector getBuffer()
           
 void ignorableWhitespace(char[] ch, int start, int length)
           
 void ignorableWhitespace(java.lang.String str)
          same as ignorableWhitespace(char ch[], int start, int length) but using string
 void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 org.xml.sax.InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId)
           
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void skippedEntity(java.lang.String name)
           
 void startCDATA()
           
 void startDocument()
           
 void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
           
 void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
           
 void startEntity(java.lang.String name)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 void unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName)
           
 void warning(org.xml.sax.SAXParseException exception)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BufferHandler

public BufferHandler()

BufferHandler

public BufferHandler(int initialSize)
Method Detail

getBuffer

protected java.util.Vector getBuffer()
Returns:
the vector object with all buffered events

clear

public void clear()
clear buffered SAX events


emmit

public void emmit(org.xml.sax.ContentHandler handler)
           throws org.xml.sax.SAXException,
                  java.io.IOException
Emmit buffered SAX events. All events will be emmited in the receiving order and only difference is that all character array methods (such as character and whitespace) are backed by String-objects.

Parameters:
handler - receiving SAX events. This object is supposed to implement any or all of ContentHandler, ErrorHandler, DTDHandler or LexicalHandler interfaces. This method will emmit events only to supported by the handler methods.
Throws:
org.xml.sax.SAXException
java.io.IOException

notationDecl

public void notationDecl(java.lang.String name,
                         java.lang.String publicId,
                         java.lang.String systemId)
                  throws org.xml.sax.SAXException
Specified by:
notationDecl in interface org.xml.sax.DTDHandler
Throws:
org.xml.sax.SAXException

unparsedEntityDecl

public void unparsedEntityDecl(java.lang.String name,
                               java.lang.String publicId,
                               java.lang.String systemId,
                               java.lang.String notationName)
                        throws org.xml.sax.SAXException
Specified by:
unparsedEntityDecl in interface org.xml.sax.DTDHandler
Throws:
org.xml.sax.SAXException

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Specified by:
startDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Specified by:
endDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.ContentHandler
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:
endElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

characters

public void characters(java.lang.String str)
                throws org.xml.sax.SAXException
Description copied from interface: SAXHandler
same as characters(char ch[], int start, int length) but using string

Specified by:
characters in interface SAXHandler
Throws:
org.xml.sax.SAXException

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Specified by:
characters in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

ignorableWhitespace

public void ignorableWhitespace(java.lang.String str)
                         throws org.xml.sax.SAXException
Description copied from interface: SAXHandler
same as ignorableWhitespace(char ch[], int start, int length) but using string

Specified by:
ignorableWhitespace in interface SAXHandler
Throws:
org.xml.sax.SAXException

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

skippedEntity

public void skippedEntity(java.lang.String name)
                   throws org.xml.sax.SAXException
Specified by:
skippedEntity in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

warning

public void warning(org.xml.sax.SAXParseException exception)
             throws org.xml.sax.SAXException
Specified by:
warning in interface org.xml.sax.ErrorHandler
Throws:
org.xml.sax.SAXException

error

public void error(org.xml.sax.SAXParseException exception)
           throws org.xml.sax.SAXException
Specified by:
error in interface org.xml.sax.ErrorHandler
Throws:
org.xml.sax.SAXException

fatalError

public void fatalError(org.xml.sax.SAXParseException exception)
                throws org.xml.sax.SAXException
Specified by:
fatalError in interface org.xml.sax.ErrorHandler
Throws:
org.xml.sax.SAXException

startDTD

public void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
Specified by:
startDTD in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Specified by:
endDTD in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

startEntity

public void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
Specified by:
startEntity in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endEntity

public void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
Specified by:
endEntity in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

comment

public void comment(char[] ch,
                    int start,
                    int length)
             throws org.xml.sax.SAXException
Specified by:
comment in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

comment

public void comment(java.lang.String str)
             throws org.xml.sax.SAXException
Description copied from interface: SAXHandler
same as comment(char ch[], int start, int length) but using string

Specified by:
comment in interface SAXHandler
Throws:
org.xml.sax.SAXException

resolveEntity

public org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
                                             java.lang.String systemId)
Specified by:
resolveEntity in interface org.xml.sax.EntityResolver
Returns:
null because this method is a dummy stub


Copyright © 2003-2007 Nikolay Fiykov. All Rights Reserved.