net.sourceforge.saxadapter
Class PipelineBase

java.lang.Object
  |
  +--org.xml.sax.helpers.XMLFilterImpl
        |
        +--net.sourceforge.saxadapter.PipelineBase
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler, org.xml.sax.XMLFilter, org.xml.sax.XMLReader
Direct Known Subclasses:
AntPropertyResolver, XMLWriter

public class PipelineBase
extends org.xml.sax.helpers.XMLFilterImpl
implements org.xml.sax.ext.DeclHandler, org.xml.sax.ext.LexicalHandler

This utility class is an XMLFilterImpl that can function both as a producer and a consumer because it forwards all events to any registered handlers. It is intended to be subclassed to provide specific useful functionality. Special protected callbacks are declared for each ContentHandler method that are called by the PipelineBase class before invoking the corresponding ContentHandler method. e.g. onStartElement() is called before the PipelineBase startElement() method does anything else. PipelineBase supports the two SAX2 extension handlers, DeclHandler and LexicalHandler. See also the GNU Pipeline package approach to creating pipeline components

Author:
Mark Priest

Field Summary
protected  org.xml.sax.Locator m_locator
           
protected  org.xml.sax.helpers.NamespaceSupport m_nsSupport
           
 
Constructor Summary
PipelineBase()
           
PipelineBase(org.xml.sax.XMLReader argReader)
           
 
Method Summary
 void attributeDecl(java.lang.String eName, java.lang.String aName, java.lang.String type, java.lang.String valueDefault, java.lang.String value)
           
 void characters(char[] ch, int start, int length)
           
 void comment(char[] ch, int start, int length)
           
 void elementDecl(java.lang.String name, java.lang.String model)
           
 void endCDATA()
           
 void endDocument()
           
 void endDTD()
           
 void endElement(java.lang.String argNamespaceURI, java.lang.String argLocalName, java.lang.String argQName)
           
 void endEntity(java.lang.String name)
           
 void endPrefixMapping(java.lang.String prefix)
           
 void externalEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
           
 org.xml.sax.ContentHandler getContentHandler()
           
 java.lang.Object getProperty(java.lang.String argPropURI)
           
 void ignorableWhitespace(char[] ch, int start, int length)
           
 void internalEntityDecl(java.lang.String name, java.lang.String value)
           
protected  void onCharacters(char[] ch, int start, int length)
           
protected  void onEndDocument()
           
protected  void onEndElement(java.lang.String argNamespaceURI, java.lang.String argLocalName, java.lang.String argQName)
           
protected  void onEndPrefixMapping(java.lang.String prefix)
           
protected  void onIgnorableWhitespace(char[] ch, int start, int length)
           
protected  void onProcessingInstruction(java.lang.String target, java.lang.String data)
           
protected  void onSetDocumentLocator(org.xml.sax.Locator locator)
           
protected  void onSkippedEntity(java.lang.String name)
           
protected  void onStartDocument()
           
protected  void onStartElement(java.lang.String argNamespaceURI, java.lang.String argLocalName, java.lang.String argQName, org.xml.sax.Attributes argAtts)
           
protected  void onStartPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 void parse(org.xml.sax.InputSource argInputSource)
           
 void parse(java.lang.String systemId)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 void reset()
          This method resets all internal state including registered handlers of all types.
 void setContentHandler(org.xml.sax.ContentHandler argHandler)
           
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void setProperty(java.lang.String argPropURI, java.lang.Object argValue)
          Sets a property on the parser (for setting vendor specific properties)
 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 argNamespaceURI, java.lang.String argLocalName, java.lang.String argQName, org.xml.sax.Attributes argAtts)
           
 void startEntity(java.lang.String name)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 
Methods inherited from class org.xml.sax.helpers.XMLFilterImpl
error, fatalError, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, notationDecl, resolveEntity, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_locator

protected org.xml.sax.Locator m_locator

m_nsSupport

protected org.xml.sax.helpers.NamespaceSupport m_nsSupport
Constructor Detail

PipelineBase

public PipelineBase()

PipelineBase

public PipelineBase(org.xml.sax.XMLReader argReader)
Method Detail

reset

public void reset()
This method resets all internal state including registered handlers of all types. This does NOT affect registrations of handlers done with the XMLReader API such as DTDHandler, etc since they cannot be "reset" once set

parse

public void parse(org.xml.sax.InputSource argInputSource)
           throws org.xml.sax.SAXException,
                  java.io.IOException
Overrides:
parse in class org.xml.sax.helpers.XMLFilterImpl

parse

public void parse(java.lang.String systemId)
           throws java.io.IOException,
                  org.xml.sax.SAXException
Overrides:
parse in class org.xml.sax.helpers.XMLFilterImpl

setContentHandler

public void setContentHandler(org.xml.sax.ContentHandler argHandler)
Overrides:
setContentHandler in class org.xml.sax.helpers.XMLFilterImpl

getContentHandler

public org.xml.sax.ContentHandler getContentHandler()
Overrides:
getContentHandler in class org.xml.sax.helpers.XMLFilterImpl

setProperty

public void setProperty(java.lang.String argPropURI,
                        java.lang.Object argValue)
                 throws org.xml.sax.SAXNotRecognizedException,
                        org.xml.sax.SAXNotSupportedException
Sets a property on the parser (for setting vendor specific properties)
Overrides:
setProperty in class org.xml.sax.helpers.XMLFilterImpl
Parameters:
argPropURI - URI of the property (see Megginson list)
argValue - Property value
Throws:
org.xml.sax.SAXNotRecognizedException -  
org.xml.sax.SAXNotSupportedException -  

getProperty

public java.lang.Object getProperty(java.lang.String argPropURI)
                             throws org.xml.sax.SAXNotRecognizedException,
                                    org.xml.sax.SAXNotSupportedException
Overrides:
getProperty in class org.xml.sax.helpers.XMLFilterImpl

startElement

public void startElement(java.lang.String argNamespaceURI,
                         java.lang.String argLocalName,
                         java.lang.String argQName,
                         org.xml.sax.Attributes argAtts)
                  throws org.xml.sax.SAXException
Overrides:
startElement in class org.xml.sax.helpers.XMLFilterImpl

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Overrides:
characters in class org.xml.sax.helpers.XMLFilterImpl

endElement

public void endElement(java.lang.String argNamespaceURI,
                       java.lang.String argLocalName,
                       java.lang.String argQName)
                throws org.xml.sax.SAXException
Overrides:
endElement in class org.xml.sax.helpers.XMLFilterImpl

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Overrides:
startPrefixMapping in class org.xml.sax.helpers.XMLFilterImpl

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Overrides:
endPrefixMapping in class org.xml.sax.helpers.XMLFilterImpl

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Overrides:
ignorableWhitespace in class org.xml.sax.helpers.XMLFilterImpl

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Overrides:
processingInstruction in class org.xml.sax.helpers.XMLFilterImpl

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Overrides:
setDocumentLocator in class org.xml.sax.helpers.XMLFilterImpl

skippedEntity

public void skippedEntity(java.lang.String name)
                   throws org.xml.sax.SAXException
Overrides:
skippedEntity in class org.xml.sax.helpers.XMLFilterImpl

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Overrides:
startDocument in class org.xml.sax.helpers.XMLFilterImpl

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Overrides:
endDocument in class org.xml.sax.helpers.XMLFilterImpl

attributeDecl

public void attributeDecl(java.lang.String eName,
                          java.lang.String aName,
                          java.lang.String type,
                          java.lang.String valueDefault,
                          java.lang.String value)
                   throws org.xml.sax.SAXException
Specified by:
attributeDecl in interface org.xml.sax.ext.DeclHandler

elementDecl

public void elementDecl(java.lang.String name,
                        java.lang.String model)
                 throws org.xml.sax.SAXException
Specified by:
elementDecl in interface org.xml.sax.ext.DeclHandler

externalEntityDecl

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

internalEntityDecl

public void internalEntityDecl(java.lang.String name,
                               java.lang.String value)
                        throws org.xml.sax.SAXException
Specified by:
internalEntityDecl in interface org.xml.sax.ext.DeclHandler

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

startCDATA

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

endCDATA

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

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

endDTD

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

startEntity

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

endEntity

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

onStartElement

protected void onStartElement(java.lang.String argNamespaceURI,
                              java.lang.String argLocalName,
                              java.lang.String argQName,
                              org.xml.sax.Attributes argAtts)
                       throws org.xml.sax.SAXException

onCharacters

protected void onCharacters(char[] ch,
                            int start,
                            int length)
                     throws org.xml.sax.SAXException

onEndElement

protected void onEndElement(java.lang.String argNamespaceURI,
                            java.lang.String argLocalName,
                            java.lang.String argQName)
                     throws org.xml.sax.SAXException

onStartPrefixMapping

protected void onStartPrefixMapping(java.lang.String prefix,
                                    java.lang.String uri)
                             throws org.xml.sax.SAXException

onEndPrefixMapping

protected void onEndPrefixMapping(java.lang.String prefix)
                           throws org.xml.sax.SAXException

onIgnorableWhitespace

protected void onIgnorableWhitespace(char[] ch,
                                     int start,
                                     int length)
                              throws org.xml.sax.SAXException

onProcessingInstruction

protected void onProcessingInstruction(java.lang.String target,
                                       java.lang.String data)
                                throws org.xml.sax.SAXException

onSetDocumentLocator

protected void onSetDocumentLocator(org.xml.sax.Locator locator)

onSkippedEntity

protected void onSkippedEntity(java.lang.String name)
                        throws org.xml.sax.SAXException

onStartDocument

protected void onStartDocument()
                        throws org.xml.sax.SAXException

onEndDocument

protected void onEndDocument()
                      throws org.xml.sax.SAXException