Class BuilderContext
- java.lang.Object
-
- org.apache.fop.render.rtf.rtflib.tools.BuilderContext
-
public class BuilderContext extends java.lang.ObjectA 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.LogLOGStatic 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 RtfContainergetContainer(java.lang.Class containerClass, boolean required, java.lang.Object forWhichBuilder)Find the "nearest" container that implements the given interface on our stack.TableContextgetTableContext()voidpopContainer(java.lang.Class containerClass, RTFHandler handler)pop the topmost RtfContainer from our stackvoidpopPart(java.lang.Class part, RTFHandler handler)pop the topmost part class from our stackvoidpopTableContext()Pop a TableContext from our stack.voidpushContainer(RtfContainer c)Push an RtfContainer on our stack.voidpushPart(FObj part)Push a Class representing a non-writeable section of the FO treevoidpushTableContext(TableContext tc)Push a TableContext to our stack.voidreplaceContainer(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.
-
-