Class BuilderContext
- java.lang.Object
-
- org.apache.fop.render.rtf.rtflib.tools.BuilderContext
-
public class BuilderContext extends java.lang.Object
A BuilderContext holds context information when building an RTF document.
This class was originally developed by Bertrand Delacretaz bdelacretaz@codeconsult.ch for the JFOR project and is now integrated into FOP.This work was authored by Bertrand Delacretaz (bdelacretaz@codeconsult.ch), Andreas Putz (a.putz@skynamics.com), and Peter Herweg (pherweg@web.de).
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.commons.logging.Log
LOG
Static logging instance
-
Constructor Summary
Constructors Constructor Description BuilderContext(IRtfOptions rtfOptions)
Construct a builder context.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RtfContainer
getContainer(java.lang.Class containerClass, boolean required, java.lang.Object forWhichBuilder)
Find the "nearest" container that implements the given interface on our stack.TableContext
getTableContext()
void
popContainer(java.lang.Class containerClass, RTFHandler handler)
pop the topmost RtfContainer from our stackvoid
popPart(java.lang.Class part, RTFHandler handler)
pop the topmost part class from our stackvoid
popTableContext()
Pop a TableContext from our stack.void
pushContainer(RtfContainer c)
Push an RtfContainer on our stack.void
pushPart(FObj part)
Push a Class representing a non-writeable section of the FO treevoid
pushTableContext(TableContext tc)
Push a TableContext to our stack.void
replaceContainer(RtfContainer oldC, RtfContainer newC)
In some cases an RtfContainer must be replaced by another one on the stack.
-
-
-
Constructor Detail
-
BuilderContext
public BuilderContext(IRtfOptions rtfOptions)
Construct a builder context.- Parameters:
rtfOptions
- some options
-
-
Method Detail
-
getContainer
public RtfContainer getContainer(java.lang.Class containerClass, boolean required, java.lang.Object forWhichBuilder) throws RtfException
Find the "nearest" container that implements the given interface on our stack.- Parameters:
containerClass
- class of containerrequired
- if true, ConverterException is thrown if no container foundforWhichBuilder
- used in error message if container not found- Returns:
- the container
- Throws:
RtfException
- if not caught
-
pushContainer
public void pushContainer(RtfContainer c)
Push an RtfContainer on our stack.- Parameters:
c
- the container
-
pushPart
public void pushPart(FObj part)
Push a Class representing a non-writeable section of the FO tree- Parameters:
part
- the part
-
replaceContainer
public void replaceContainer(RtfContainer oldC, RtfContainer newC) throws java.lang.Exception
In some cases an RtfContainer must be replaced by another one on the stack. This happens when handling nested fo:blocks for example: after handling a nested block the enclosing block must switch to a new paragraph container to handle what follows the nested block. TODO: what happens to elements that are "more on top" than oldC on the stack? shouldn't they be closed or something?- Parameters:
oldC
- old containernewC
- new container- Throws:
java.lang.Exception
- if not caught
-
popContainer
public void popContainer(java.lang.Class containerClass, RTFHandler handler)
pop the topmost RtfContainer from our stack
-
popPart
public void popPart(java.lang.Class part, RTFHandler handler)
pop the topmost part class from our stack
-
getTableContext
public TableContext getTableContext()
- Returns:
- the current TableContext
-
pushTableContext
public void pushTableContext(TableContext tc)
Push a TableContext to our stack.- Parameters:
tc
- the table context
-
popTableContext
public void popTableContext()
Pop a TableContext from our stack.
-
-