org.jfor.jfor.rtflib.rtfdoc
Class RtfFile

java.lang.Object
  extended byorg.jfor.jfor.rtflib.rtfdoc.RtfElement
      extended byorg.jfor.jfor.rtflib.rtfdoc.RtfContainer
          extended byorg.jfor.jfor.rtflib.rtfdoc.RtfFile

public class RtfFile
extends RtfContainer

Models the top-level structure of an RTF file.

Author:
Bertrand Delacretaz bdelacretaz@codeconsult.ch
See Also:
RtfFileExample

Field Summary
 
Fields inherited from class org.jfor.jfor.rtflib.rtfdoc.RtfElement
m_attrib, m_parent, m_writer
 
Constructor Summary
RtfFile(java.io.Writer w)
          Create an RTF file that outputs to the given Writer
 
Method Summary
 void flush()
          must be called when done creating the document
 RtfDocumentArea getDocumentArea()
          Call startDocumentArea if needed and return the document area object.
(package private)  ConverterLogChannel getLog()
          Gets the log channel.
 RtfPageArea getPageArea()
          Call startPageArea if needed and return the page area object.
static void main(java.lang.String[] args)
          minimal test and usage example
 void setLogChannel(ConverterLogChannel log)
          optional log channel
 RtfDocumentArea startDocumentArea()
          Closes the RtfHeader if not done yet, and starts the document area.
 RtfHeader startHeader()
          If called, must be called before startDocumentArea
 RtfListTable startListTable(RtfAttributes attr)
          Creates the list table.
 RtfPageArea startPageArea()
          Closes the RtfHeader if not done yet, and starts the docment area.
protected  void writeRtfPrefix()
          overridden to write RTF prefix code, what comes before our children
protected  void writeRtfSuffix()
          overridden to write RTF suffix code, what comes after our children
 
Methods inherited from class org.jfor.jfor.rtflib.rtfdoc.RtfContainer
addChild, containsText, dump, getChildCount, getChildren, getOptions, isEmpty, okToWriteRtf, setChildren, setOptions, toString, writeRtfContent
 
Methods inherited from class org.jfor.jfor.rtflib.rtfdoc.RtfElement
close, getParentOfClass, getRtfAttributes, getRtfFile, isClosed, writeAttributes, writeControlWord, writeControlWordNS, writeExceptionInRtf, writeGroupMark, writeOneAttribute, writeOneAttributeNS, writeRtf, writeStarControlWord, writeStarControlWordNS
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RtfFile

public RtfFile(java.io.Writer w)
        throws java.io.IOException
Create an RTF file that outputs to the given Writer

Method Detail

setLogChannel

public void setLogChannel(ConverterLogChannel log)
optional log channel


getLog

ConverterLogChannel getLog()
Gets the log channel. If logchannel not set, it will return a empty log channel.

Returns:
our log channel, it is never null

startHeader

public RtfHeader startHeader()
                      throws java.io.IOException
If called, must be called before startDocumentArea

Throws:
java.io.IOException

startListTable

public RtfListTable startListTable(RtfAttributes attr)
                            throws java.io.IOException
Creates the list table.

Throws:
java.io.IOException

startPageArea

public RtfPageArea startPageArea()
                          throws java.io.IOException,
                                 RtfStructureException
Closes the RtfHeader if not done yet, and starts the docment area. Like startDocumentArea, is only called once. This is not optimal, must be able to have multiple page definition, and corresponding Document areas

Throws:
java.io.IOException
RtfStructureException

getPageArea

public RtfPageArea getPageArea()
                        throws java.io.IOException,
                               RtfStructureException
Call startPageArea if needed and return the page area object.

Throws:
java.io.IOException
RtfStructureException

startDocumentArea

public RtfDocumentArea startDocumentArea()
                                  throws java.io.IOException,
                                         RtfStructureException
Closes the RtfHeader if not done yet, and starts the document area. Must be called once only.

Throws:
java.io.IOException
RtfStructureException

getDocumentArea

public RtfDocumentArea getDocumentArea()
                                throws java.io.IOException,
                                       RtfStructureException
Call startDocumentArea if needed and return the document area object.

Throws:
java.io.IOException
RtfStructureException

writeRtfPrefix

protected void writeRtfPrefix()
                       throws java.io.IOException
overridden to write RTF prefix code, what comes before our children

Overrides:
writeRtfPrefix in class RtfElement
Throws:
java.io.IOException

writeRtfSuffix

protected void writeRtfSuffix()
                       throws java.io.IOException
overridden to write RTF suffix code, what comes after our children

Overrides:
writeRtfSuffix in class RtfElement
Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException
must be called when done creating the document

Throws:
java.io.IOException

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
minimal test and usage example

Throws:
java.lang.Exception