## 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, RtfElementInterface

    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

Since:
  1.x
Version:
  $Id$
Author:
  Mark Hall (Mark.Hall@mail.room3b.eu), Todd Bush [Tab support], Thomas Bickel (tmb99@inode.at)

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 static byte[]` `FSC_BACKSLASH`
`private static byte[]` `FSC_HEX_PREFIX`
`private static byte[]` `FSC_LINE`
`private static byte[]` `FSC_NEWPAGE`
`private static byte[]` `FSC_PAGE_PAR`
`private static byte[]` `FSC_PAR`
`private static byte[]` `FSC_TAB`
`private static byte[]` `FSC_UNI_PREFIX`
`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
`void` `filterSpecialChar(java.io.OutputStream out, java.lang.String str, boolean useHex, boolean softLineBreaks)` Writes the given string to the given `OutputStream` encoding the string characters.
`boolean` `getAutogenerateTOCEntries()` Get whether to automatically 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 initializes the data cache.
`void` `outputDebugLinebreak(java.io.OutputStream result)` Helper method outputs linebreak in document if debugging is turned on.
`void` `setAutogenerateTOCEntries(boolean autogenerate)` Whether to automagically generate table of contents entries when adding Chapters or Sections.
`private static boolean` `subMatch(java.lang.String str, int soff, byte[] m)` Returns `true` if `m.length` characters in `str`, starting at offset `soff` match the bytes in the given array `m`.
`void` `writeContent(java.io.OutputStream out)` unused
`void` `writeDocument(java.io.OutputStream out)` Writes the document

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

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

### FSC_LINE

    private static final byte[] FSC_LINE

### FSC_PAR

    private static final byte[] FSC_PAR

### FSC_TAB

    private static final byte[] FSC_TAB

### FSC_PAGE_PAR

    private static final byte[] FSC_PAGE_PAR

### FSC_NEWPAGE

    private static final byte[] FSC_NEWPAGE

### FSC_BACKSLASH

    private static final byte[] FSC_BACKSLASH

### FSC_HEX_PREFIX

    private static final byte[] FSC_HEX_PREFIX

### FSC_UNI_PREFIX

    private static final byte[] FSC_UNI_PREFIX

Constructor Detail

### RtfDocument

    public RtfDocument()

  The default constructor for a RtfDocument

Method Detail

### writeContent

    public void writeContent(java.io.OutputStream out)
                      throws java.io.IOException

  unused

  Specified by:
    `writeContent` in interface `RtfBasicElement`
  Specified by:
    `writeContent` in class `RtfElement`
  Parameters:
    `out` - The `OutputStream` to write the content to
  Throws:
    `java.io.IOException`

### 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 initializes the data cache. If the data cache is set to CACHE_DISK, but the cache cannot be initialized 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. Will not return a number between -1 and -5 because some values in that range are invalid.

  Returns:
    A random int

### getDocumentHeader

    public RtfDocumentHeader getDocumentHeader()

  Gets the RtfDocumentHeader of this RtfDocument

  Returns:
    The RtfDocumentHeader of this RtfDocument

### filterSpecialChar

    public void filterSpecialChar(java.io.OutputStream out,
                                  java.lang.String str,
                                  boolean useHex,
                                  boolean softLineBreaks)
                           throws java.io.IOException

  Writes the given string to the given `OutputStream` encoding the string characters.

  Parameters:
    `out` - destination OutputStream
    `str` - string to write
    `useHex` - if `true` hex encoding characters is preferred to unicode encoding if possible
    `softLineBreaks` - if `true` return characters are written as soft line breaks
  Throws:
    `java.io.IOException`

### subMatch

    private static boolean subMatch(java.lang.String str,
                                    int soff,
                                    byte[] m)

  Returns `true` if `m.length` characters in `str`, starting at offset `soff` match the bytes in the given array `m`.

  Parameters:
    `str` - the string to search for a match
    `soff` - the starting offset in str
    `m` - the array to match
  Returns:
    `true` if there is match

### 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 automatically generate table of contents entries

  Returns:
    Whether 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.

### outputDebugLinebreak

    public final void outputDebugLinebreak(java.io.OutputStream result)
                                    throws java.io.IOException

  Helper method outputs linebreak in document if debugging is turned on.

  Parameters:
    `result` - the OutputStream to write the linebreak to.
  Throws:
    `java.io.IOException`
  Since:
    2.1.3

Hosted by Hostbasket