fop 1.1

## org.apache.fop.render.rtf.rtflib.tools
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).

Constructor Summary
`BuilderContext(IRtfOptions rtfOptions)` Construct a builder context.

Method Summary
`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()` pop the topmost RtfContainer from our stack
`void` `popTableContext()` Pop a TableContext from our stack.
`void` `pushContainer(RtfContainer c)` Push an RtfContainer on our stack.
`void` `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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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 container
    `required` - if true, ConverterException is thrown if no container found
    `forWhichBuilder` - 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

### 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 container
    `newC` - new container
  Throws:
    `java.lang.Exception` - if not caught

### popContainer

    public void popContainer()

  pop the topmost RtfContainer 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.

fop 1.1

Copyright 1999-2012 The Apache Software Foundation. All Rights Reserved.