org.outerj.daisy.publisher.serverimpl.docpreparation
Class ContentProcessor
java.lang.Object
org.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.
From Daisy 1.5, this has been updated to perform a new publisher
request for each included document.
+--ContentProcessor---------------------------------------------+
| +--------------+ +---------------------+ +----------------+ |
| |QueryProcessor|->|QueryIncludeProcessor|->|IncludeProcessor| |
| +--------------+ +---------------------+ +-------+--------+ |
+----------------------------------------------------|----------+
+____________________________________________|
|
+-------|-------------------------------------------------------+
| +-----v--------+ +---------------------+ +----------------+ |
| |QueryProcessor|->|QueryIncludeProcessor|->|IncludeProcessor| |
| +--------------+ +---------------------+ +-------+--------+ |
+----------------------------------------------------|----------+
|
v
and so on
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)
|
org.outerj.daisy.repository.Document |
getDocument()
|
IncludesProcessor |
getIncludesProcessor()
|
ContentProcessor |
getParent()
|
PreparationPipe |
getPreparationPipe()
|
PublisherContext |
getPublisherContext()
|
org.outerj.daisy.repository.Version |
getVersion()
|
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 |
ContentProcessor
public ContentProcessor(org.outerj.daisy.repository.Document document,
org.outerj.daisy.repository.Version version,
org.xml.sax.ContentHandler consumer,
PreparationPipe preparationPipe,
PublisherContext publisherContext,
ContentProcessor parent)
- Parameters:
document
- the document whose data is being processed through this pipeversion
- the version whose data is being processed through this pipeparent
- optional, can be null
getParent
public ContentProcessor getParent()
setParent
public void setParent(ContentProcessor parent)
getIncludesProcessor
public IncludesProcessor getIncludesProcessor()
getPublisherContext
public PublisherContext getPublisherContext()
getPreparationPipe
public PreparationPipe getPreparationPipe()
getDocument
public org.outerj.daisy.repository.Document getDocument()
getVersion
public org.outerj.daisy.repository.Version getVersion()
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 © -2012 . All Rights Reserved.