org.apache.fop.fo
Class FOTreeBuilder

java.lang.Object
  extended byorg.xml.sax.helpers.DefaultHandler
      extended byorg.apache.fop.fo.FOTreeBuilder
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, TreeBuilder

public class FOTreeBuilder
extends org.xml.sax.helpers.DefaultHandler
implements TreeBuilder

SAX Handler that builds the formatting object tree. Modified by Mark Lillywhite mark-fop@inomial.com. Now uses StreamRenderer to automagically render the document as soon as it receives a page-sequence end-tag. Also, calls methods to set up and shut down the renderer at the beginning and end of the FO document. Finally, supresses adding the PageSequence object to the Root, since it is parsed immediately.


Field Summary
protected  FObj currentFObj
          current formatting object being handled
protected  java.util.HashMap fobjTable
          table mapping element names to the makers of objects representing formatting objects
protected  java.util.ArrayList namespaces
           
protected  java.util.HashMap propertylistTable
          class that builds a property list for each formatting object
protected  FObj rootFObj
          the root of the formatting object tree
protected  java.util.HashMap unknownFOs
          set of names of formatting objects encountered but unknown
 
Constructor Summary
FOTreeBuilder()
           
 
Method Summary
 void addElementPropertyList(java.lang.String namespaceURI, java.lang.String localName, java.util.HashMap list)
          add a mapping from element name to maker.
 void addMapping(java.lang.String namespaceURI, java.util.HashMap table)
          add a mapping from element name to maker.
 void addPropertyList(java.lang.String namespaceURI, java.util.HashMap list)
          add a mapping from element name to maker.
 void addPropertyListBuilder(java.lang.String namespaceURI, PropertyListBuilder propbuilder)
           
 void characters(char[] data, int start, int length)
          SAX Handler for characters
 void endDocument()
           
 void endElement(java.lang.String uri, java.lang.String localName, java.lang.String rawName)
          SAX Handler for the end of an element
 StreamRenderer getStreamRenderer()
           
 boolean hasData()
           
 void reset()
           
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void setLogger(Logger logger)
           
 void setStreamRenderer(StreamRenderer streamRenderer)
           
 void startDocument()
          SAX Handler for the start of the document
 void startElement(java.lang.String uri, java.lang.String localName, java.lang.String rawName, org.xml.sax.Attributes attlist)
          SAX Handler for the start of an element
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, skippedEntity, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fobjTable

protected java.util.HashMap fobjTable
table mapping element names to the makers of objects representing formatting objects


namespaces

protected java.util.ArrayList namespaces

propertylistTable

protected java.util.HashMap propertylistTable
class that builds a property list for each formatting object


currentFObj

protected FObj currentFObj
current formatting object being handled


rootFObj

protected FObj rootFObj
the root of the formatting object tree


unknownFOs

protected java.util.HashMap unknownFOs
set of names of formatting objects encountered but unknown

Constructor Detail

FOTreeBuilder

public FOTreeBuilder()
Method Detail

setLogger

public void setLogger(Logger logger)

setStreamRenderer

public void setStreamRenderer(StreamRenderer streamRenderer)

getStreamRenderer

public StreamRenderer getStreamRenderer()

addMapping

public void addMapping(java.lang.String namespaceURI,
                       java.util.HashMap table)
add a mapping from element name to maker.

Specified by:
addMapping in interface TreeBuilder
Parameters:
namespaceURI - namespace URI of formatting object element

addPropertyList

public void addPropertyList(java.lang.String namespaceURI,
                            java.util.HashMap list)
add a mapping from element name to maker.

Specified by:
addPropertyList in interface TreeBuilder
Parameters:
namespaceURI - namespace URI of formatting object element

addElementPropertyList

public void addElementPropertyList(java.lang.String namespaceURI,
                                   java.lang.String localName,
                                   java.util.HashMap list)
add a mapping from element name to maker.

Specified by:
addElementPropertyList in interface TreeBuilder
Parameters:
namespaceURI - namespace URI of formatting object element
localName - local name of formatting object element

addPropertyListBuilder

public void addPropertyListBuilder(java.lang.String namespaceURI,
                                   PropertyListBuilder propbuilder)
Specified by:
addPropertyListBuilder in interface TreeBuilder

characters

public void characters(char[] data,
                       int start,
                       int length)
SAX Handler for characters

Specified by:
characters in interface org.xml.sax.ContentHandler

endElement

public void endElement(java.lang.String uri,
                       java.lang.String localName,
                       java.lang.String rawName)
                throws org.xml.sax.SAXException
SAX Handler for the end of an element

Specified by:
endElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
SAX Handler for the start of the document

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

setDocumentLocator

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

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String rawName,
                         org.xml.sax.Attributes attlist)
                  throws org.xml.sax.SAXException
SAX Handler for the start of an element

Specified by:
startElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

reset

public void reset()

hasData

public boolean hasData()


Copyright ? 1999-2003 Apache Software Foundation. All Rights Reserved.