org.apache.fop.fo
Class FOTreeBuilder

java.lang.Object
  |
  +--org.xml.sax.helpers.DefaultHandler
        |
        +--org.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
 BufferManager bufferManager
           
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.Vector 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()
          format this formatting object tree
 void setBufferManager(BufferManager bufferManager)
           
 void setLogger(org.apache.log.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, setDocumentLocator, 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.Vector 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

bufferManager

public BufferManager bufferManager

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(org.apache.log.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
localName - local name of formatting object element
maker - Maker for class representing formatting object

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
localName - local name of formatting object element
maker - Maker for class representing formatting object

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
maker - Maker for class representing formatting object

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
Overrides:
characters in class org.xml.sax.helpers.DefaultHandler

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
Overrides:
endElement in class org.xml.sax.helpers.DefaultHandler

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
SAX Handler for the start of the document
Overrides:
startDocument in class org.xml.sax.helpers.DefaultHandler

endDocument

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

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
Overrides:
startElement in class org.xml.sax.helpers.DefaultHandler

reset

public void reset()
format this formatting object tree
Parameters:
areaTree - the area tree to format into

hasData

public boolean hasData()

setBufferManager

public void setBufferManager(BufferManager bufferManager)


Copyright © 1999-2002 Apache Software Foundation. All Rights Reserved.