org.outerj.daisy.publisher.serverimpl.docpreparation
Class ContentProcessor

java.lang.Object
  extended byorg.outerj.daisy.publisher.serverimpl.docpreparation.ContentProcessor
All Implemented Interfaces:
org.xml.sax.ContentHandler

public class ContentProcessor
extends java.lang.Object
implements org.xml.sax.ContentHandler

Processes special instructions in the content, such as queries and includes.

A ContentProcessor can be instantiated recursively by the IncludeProcessor: if the IncludeProcessor includes some content, it will create a new ContentProcessor and push the content through that ContentProcessor. ContentProcessors have a reference to their parent processor so that recursive includes can be detected.

 +--ContentProcessor---------------------------------------------+
 | +--------------+  +---------------------+  +----------------+ |
 | |QueryProcessor|->|QueryIncludeProcessor|->|IncludeProcessor| |
 | +--------------+  +---------------------+  +-------+--------+ |
 +----------------------------------------------------|----------+
         +____________________________________________|
         |
 +-------|-------------------------------------------------------+
 | +-----v--------+  +---------------------+  +----------------+ |
 | |QueryProcessor|->|QueryIncludeProcessor|->|IncludeProcessor| |
 | +--------------+  +---------------------+  +-------+--------+ |
 +----------------------------------------------------|----------+
                                                      |
                                                      v
                                                 and so on
 


Constructor Summary
ContentProcessor(org.xml.sax.ContentHandler consumer, PreparedDocuments preparedDocuments, PreparationPipe preparationPipe, ContentProcessor parent)
           
 
Method Summary
 void characters(char[] ch, int start, int length)
           
 void endDocument()
           
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
           
 void endPrefixMapping(java.lang.String prefix)
           
 IncludesProcessor getIncludesProcessor()
           
 ContentProcessor getParent()
           
 PreparationPipe getPreparationPipe()
           
 PreparedDocuments getPublishedDocument()
           
 void ignorableWhitespace(char[] ch, int start, int length)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void setParent(ContentProcessor parent)
           
 void skippedEntity(java.lang.String name)
           
 void startDocument()
           
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContentProcessor

public ContentProcessor(org.xml.sax.ContentHandler consumer,
                        PreparedDocuments preparedDocuments,
                        PreparationPipe preparationPipe,
                        ContentProcessor parent)
Parameters:
parent - optional, can be null
Method Detail

getParent

public ContentProcessor getParent()

setParent

public void setParent(ContentProcessor parent)

getIncludesProcessor

public IncludesProcessor getIncludesProcessor()

getPublishedDocument

public PreparedDocuments getPublishedDocument()

getPreparationPipe

public PreparationPipe getPreparationPipe()

endDocument

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

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Specified by:
startDocument in interface org.xml.sax.ContentHandler
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

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

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

setDocumentLocator

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

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

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

endElement

public void endElement(java.lang.String namespaceURI,
                       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

startElement

public void startElement(java.lang.String namespaceURI,
                         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


Copyright © -2005 . All Rights Reserved.