com.lowagie.text.rtf.document
Class RtfDocument

java.lang.Object
  extended by com.lowagie.text.rtf.RtfElement
      extended by 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.