## com.lowagie.text.rtf.document
Class RtfDocument

    java.lang.Object
      com.lowagie.text.rtf.RtfElement
          com.lowagie.text.rtf.document.RtfDocument

All Implemented Interfaces:
  RtfBasicElement

    public class RtfDocument

extends RtfElement

The RtfDocument stores all document related data and also the main data stream. INTERNAL CLASS - NOT TO BE USED DIRECTLY Version: $Id: RtfDocument.java,v 1.20 2006/09/12 13:12:56 blowagie Exp $

Author:
  Mark Hall (mhall@edu.uni-klu.ac.at), Todd Bush [Tab support]

Field Summary
`private boolean` `autogenerateTOCEntries` Whether to automatically generate TOC entries for Chapters and Sections.
`private RtfDataCache` `data` Stores the actual document data
`private RtfDocumentHeader` `documentHeader` The RtfDocumentHeader that handles all document header methods
`private RtfDocumentSettings` `documentSettings` The RtfDocumentSettings for this RtfDocument.
`private RtfBasicElement` `lastElementWritten` The last RtfBasicElement that was added directly to the RtfDocument.
`private RtfMapper` `mapper` The RtfMapper to use in this RtfDocument
`private java.util.ArrayList` `previousRandomInts` Stores integers that have been generated as unique random numbers
`private static byte[]` `RTF_DOCUMENT` Constant for the Rtf document start

Fields inherited from class com.lowagie.text.rtf.RtfElement
`document, inHeader, inTable`

Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement
`CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR`

Constructor Summary
`RtfDocument()` The default constructor for a RtfDocument

Method Summary
`void` `add(RtfBasicElement element)` Adds an element to the rtf document
`java.lang.String` `filterSpecialChar(java.lang.String str, boolean useHex, boolean softLineBreaks)` Replaces special characters with their unicode values
`boolean` `getAutogenerateTOCEntries()` Get whether to autmatically generate table of contents entries
`RtfDocumentHeader` `getDocumentHeader()` Gets the RtfDocumentHeader of this RtfDocument
`RtfDocumentSettings` `getDocumentSettings()` Gets the RtfDocumentSettings that specify how the rtf document is generated.
`RtfBasicElement` `getLastElementWritten()` Gets the last RtfBasicElement that was directly added to the RtfDocument.
`RtfMapper` `getMapper()` Gets the RtfMapper object of this RtfDocument
`int` `getRandomInt()` Generates a random integer that is unique with respect to the document.
`void` `open()` Opens the RtfDocument and initialises the data cache.
`void` `setAutogenerateTOCEntries(boolean autogenerate)` Whether to automagically generate table of contents entries when adding Chapters or Sections.
`void` `writeDocument(java.io.OutputStream out)` Writes the document

Methods inherited from class com.lowagie.text.rtf.RtfElement
`intToByteArray, isInTable, setInHeader, setInTable, setRtfDocument, write`

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

Field Detail

### data

    private RtfDataCache data

  Stores the actual document data

### mapper

    private RtfMapper mapper

  The RtfMapper to use in this RtfDocument

### documentHeader

    private RtfDocumentHeader documentHeader

  The RtfDocumentHeader that handles all document header methods

### previousRandomInts

    private java.util.ArrayList previousRandomInts

  Stores integers that have been generated as unique random numbers

### autogenerateTOCEntries

    private boolean autogenerateTOCEntries

  Whether to automatically generate TOC entries for Chapters and Sections. Defaults to false

### documentSettings

    private RtfDocumentSettings documentSettings

  The RtfDocumentSettings for this RtfDocument.

### lastElementWritten

    private RtfBasicElement lastElementWritten

  The last RtfBasicElement that was added directly to the RtfDocument.

### RTF_DOCUMENT

    private static final byte[] RTF_DOCUMENT

  Constant for the Rtf document start

Constructor Detail

### RtfDocument

    public RtfDocument()

  The default constructor for a RtfDocument

Method Detail

### writeDocument

    public void writeDocument(java.io.OutputStream out)

  Writes the document

  Parameters:
    `out` - The `OutputStream` to write the RTF document to.

### open

    public void open()

  Opens the RtfDocument and initialises the data cache. If the data cache is set to CACHE_DISK, but the cache cannot be initialised then the memory cache is used.

### add

    public void add(RtfBasicElement element)

  Adds an element to the rtf document

  Parameters:
    `element` - The element to add

### getMapper

    public RtfMapper getMapper()

  Gets the RtfMapper object of this RtfDocument

  Returns:
    The RtfMapper

### getRandomInt

    public int getRandomInt()

  Generates a random integer that is unique with respect to the document.

  Returns:
    A random int

### getDocumentHeader

    public RtfDocumentHeader getDocumentHeader()

  Gets the RtfDocumentHeader of this RtfDocument

  Returns:
    The RtfDocumentHeader of this RtfDocument

### filterSpecialChar

    public java.lang.String filterSpecialChar(java.lang.String str,
                                              boolean useHex,
                                              boolean softLineBreaks)

  Replaces special characters with their unicode values

  Parameters:
    `str` - The original `String`
    `useHex` - indicated if the hexadecimal value has to be used
    `softLineBreaks` - whether to use soft line breaks instead of default hard ones.
  Returns:
    The converted String

### setAutogenerateTOCEntries

    public void setAutogenerateTOCEntries(boolean autogenerate)

  Whether to automagically generate table of contents entries when adding Chapters or Sections.

  Parameters:
    `autogenerate` - Whether to automatically generate TOC entries

### getAutogenerateTOCEntries

    public boolean getAutogenerateTOCEntries()

  Get whether to autmatically generate table of contents entries

  Returns:
    Wheter to automatically generate TOC entries

### getDocumentSettings

    public RtfDocumentSettings getDocumentSettings()

  Gets the RtfDocumentSettings that specify how the rtf document is generated.

  Returns:
    The current RtfDocumentSettings.

### getLastElementWritten

    public RtfBasicElement getLastElementWritten()

  Gets the last RtfBasicElement that was directly added to the RtfDocument.

  Returns:
    The last RtfBasicElement that was directly added to the RtfDocument.