org.apache.fop.render.rtf.rtflib.rtfdoc

## Class RtfContainer

- java.lang.Object
- - org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement
  - - org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer

Direct Known Subclasses:
  RtfAfter, RtfBefore, RtfBookmarkContainerImpl, RtfDocumentArea, RtfExtraRowSet, RtfFile, RtfFootnote, RtfHyperLink, RtfJforCmd, RtfLeader, RtfList, RtfListItem, RtfListTable, RtfNull, RtfPage, RtfPageArea, RtfPageNumber, RtfPageNumberCitation, RtfParagraphKeepTogether, RtfSection, RtfTable, RtfTableCell, RtfTableRow, RtfTextrun

    public class RtfContainer
    extends RtfElement

An RtfElement that can contain other elements.

This work was authored by Bertrand Delacretaz (bdelacretaz@codeconsult.ch).

### Field Summary

### Fields inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement

`attrib, parent, writer`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `addChild(RtfElement e)` add a child element to this
`int` `findChildren(RtfElement aChild)` Find the passed child in the current container
`int` `getChildCount()`
`List` `getChildren()`
`boolean` `isEmpty()`
`protected boolean` `okToWriteRtf()` can be overridden to suppress all RTF output
`boolean` `setChildren(List list)` Add by Boris Poudérous on 07/22/2002 Set the children list
`void` `setOptions(RtfOptions opt)` set options
`String` `toString()` minimal debugging display
`protected void` `writeRtfContent()` write RTF code of all our children

### Methods inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement

`close, getParentOfClass, getRtfAttributes, newLine, writeAttributes, writeControlWord, writeControlWordNS, writeExceptionInRtf, writeGroupMark, writeOneAttribute, writeOneAttributeNS, writeRtf, writeRtfPrefix, writeRtfSuffix, writeStarControlWord, writeStarControlWordNS`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Method Detail

#### setOptions

    public void setOptions(RtfOptions opt)

set options

Parameters:
  `opt` - options to set

#### addChild

    protected void addChild(RtfElement e)
                     throws RtfStructureException

add a child element to this

Parameters:
  `e` - child element to add
Throws:
  `RtfStructureException` - for trying to add an invalid child (??)

#### getChildren

    public List getChildren()

Returns:
  a copy of our children's list

#### getChildCount

    public int getChildCount()

Returns:
  the number of children

#### findChildren

    public int findChildren(RtfElement aChild)

Find the passed child in the current container

Parameters:
  `aChild` - the child element
Returns:
  the depth (nested level) inside the current container

#### setChildren

    public boolean setChildren(List list)

Add by Boris Poudérous on 07/22/2002 Set the children list

Parameters:
  `list` - list of child objects
Returns:
  true if process succeeded

#### writeRtfContent

    protected void writeRtfContent()
                            throws IOException

write RTF code of all our children

Specified by:
  `writeRtfContent` in class `RtfElement`
Throws:
  `IOException` - for I/O problems

#### toString

    public String toString()

minimal debugging display

Overrides:
  `toString` in class `RtfElement`
Returns:
  String representation of object contents

#### okToWriteRtf

    protected boolean okToWriteRtf()

Description copied from class: `RtfElement`
can be overridden to suppress all RTF output

Overrides:
  `okToWriteRtf` in class `RtfElement`
Returns:
  false if empty or if our options block writing

#### isEmpty

    public boolean isEmpty()

Specified by:
  `isEmpty` in class `RtfElement`
Returns:
  true if this element would generate no "useful" RTF content, i.e. (for RtfContainer) true if it has no children where isEmpty() is false