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 2111 2005-12-24 13:14:59Z hallm $

Author:
Mark Hall (mhall@edu.uni-klu.ac.at), Todd Bush (Todd.Bush@canopysystems.com) [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  boolean dataWritten
          Whether data has been written to the RtfDataCache.
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 setAutogenerateTOCEntries(boolean autogenerate)
          Whether to automagically generate table of contents entries when adding Chapters or Sections.
 void setDataCacheStyle(int dataCacheStyle)
          Sets the rtf data cache style to use.
 byte[] writeDocument()
          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


dataWritten

private boolean dataWritten
Whether data has been written to the RtfDataCache.


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 byte[] writeDocument()
Writes the document

Returns:
A byte array containing the complete rtf document

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

setDataCacheStyle

public void setDataCacheStyle(int dataCacheStyle)
                       throws DocumentException,
                              java.io.IOException
Sets the rtf data cache style to use. Valid values are given in the RtfDataCache class.

Parameters:
dataCacheStyle - The style to use.
Throws:
DocumentException - If data has already been written into the data cache.
java.io.IOException - If the disk cache could not be initialised.

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.