com.lowagie.text.rtf.document

## Class RtfDocumentHeader

- java.lang.Object
- - com.lowagie.text.rtf.RtfElement
  - - com.lowagie.text.rtf.document.RtfDocumentHeader

All Implemented Interfaces:
  RtfBasicElement, RtfElementInterface

    public class RtfDocumentHeader
    extends RtfElement

The RtfDocumentHeader contains all classes required for the generation of the document header area.

Version:
  $Id$
Author:
  Mark Hall (Mark.Hall@mail.room3b.eu), Thomas Bickel (tmb99@inode.at), Howard Shank (hgshank@yahoo.com)

### Field Summary

Fields
`private RtfCodePage` `codePage` The code page to use
`private RtfColorList` `colorList` Stores all the colors used in the document
`private static byte[]` `FACING_PAGES` Constant for facing pages
`private RtfFontList` `fontList` Stores all the fonts used in the document
`private HeaderFooter` `footer` The current RtfHeaderFooterGroup for the footer
`private RtfGenerator` `generator` Generator string in document
`private HeaderFooter` `header` The current RtfHeaderFooterGroup for the header
`private RtfInfoGroup` `infoGroup` The information group with author/subject/keywords/title/producer/creationdate data
`private RtfListTable` `listTable` Manages List tables
`private RtfPageSetting` `pageSetting` The page settings
`private RtfProtectionSetting` `protectionSetting` The protection settings Author: Howard Shank (hgshank@yahoo.com)
`private RtfStylesheetList` `stylesheetList` Stores all paragraph styles used in the document.
`private static byte[]` `TITLE_PAGE` Constant for the title page

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

Constructors
`protected` `RtfDocumentHeader(RtfDocument doc)` Constructs a RtfDocumentHeader for a RtfDocument

### Method Summary

Methods
`void` `addInfoElement(RtfInfoElement rtfInfoElement)` Adds an RtfInfoElement to the list of RtfInfoElements
`private RtfHeaderFooterGroup` `convertHeaderFooter(HeaderFooter hf, int type)` Converts a HeaderFooter into a RtfHeaderFooterGroup.
`void` `freeListNumber(RtfList list)` Removes a RtfList from the list table
`int` `getColorNumber(RtfColor color)` Gets the number of the specified RtfColor
`int` `getFontNumber(RtfFont font)` Gets the number of the specified RtfFont
`int` `getListNumber(RtfList list)` Gets the number of the specified RtfList
`RtfListTable` `getListTable()` Get the `RtfListTable` object.
`RtfPageSetting` `getPageSetting()` Gets the RtfPageSetting object of this RtfDocument
`RtfParagraphStyle` `getRtfParagraphStyle(java.lang.String styleName)` Gets the RtfParagraphStyle with the given style name.
`protected void` `init()` initializes the RtfDocumentHeader.
`void` `registerParagraphStyle(RtfParagraphStyle rtfParagraphStyle)` Registers the RtfParagraphStyle for further use in the document.
`void` `setFooter(HeaderFooter footer)` Sets the current footer to use
`void` `setHeader(HeaderFooter header)` Sets the current header to use
`void` `writeContent(java.io.OutputStream result)` Writes the contents of the document header area.
`void` `writeSectionDefinition(java.io.OutputStream result)` Writes the section definition data

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

#### TITLE_PAGE

    private static final byte[] TITLE_PAGE

Constant for the title page

#### FACING_PAGES

    private static final byte[] FACING_PAGES

Constant for facing pages

#### codePage

    private RtfCodePage codePage

The code page to use

#### colorList

    private RtfColorList colorList

Stores all the colors used in the document

#### fontList

    private RtfFontList fontList

Stores all the fonts used in the document

#### listTable

    private RtfListTable listTable

Manages List tables

#### stylesheetList

    private RtfStylesheetList stylesheetList

Stores all paragraph styles used in the document.

#### generator

    private RtfGenerator generator

Generator string in document

#### infoGroup

    private RtfInfoGroup infoGroup

The information group with author/subject/keywords/title/producer/creationdate data

#### protectionSetting

    private RtfProtectionSetting protectionSetting

The protection settings Author: Howard Shank (hgshank@yahoo.com)

Since:
  2.1.1

#### pageSetting

    private RtfPageSetting pageSetting

The page settings

#### header

    private HeaderFooter header

The current RtfHeaderFooterGroup for the header

#### footer

    private HeaderFooter footer

The current RtfHeaderFooterGroup for the footer

### Constructor Detail

#### RtfDocumentHeader

    protected RtfDocumentHeader(RtfDocument doc)

Constructs a RtfDocumentHeader for a RtfDocument

Parameters:
  `doc` - The RtfDocument this RtfDocumentHeader belongs to

### Method Detail

#### init

    protected void init()

initializes the RtfDocumentHeader.

#### writeContent

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

Writes the contents of the document header area.

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

#### writeSectionDefinition

    public void writeSectionDefinition(java.io.OutputStream result)

Writes the section definition data

Parameters:
  `result` -

#### getFontNumber

    public int getFontNumber(RtfFont font)

Gets the number of the specified RtfFont

Parameters:
  `font` - The RtfFont for which to get the number
Returns:
  The number of the font

#### getColorNumber

    public int getColorNumber(RtfColor color)

Gets the number of the specified RtfColor

Parameters:
  `color` - The RtfColor for which to get the number
Returns:
  The number of the color

#### getListNumber

    public int getListNumber(RtfList list)

Gets the number of the specified RtfList

Parameters:
  `list` - The RtfList for which to get the number
Returns:
  The number of the list

#### getRtfParagraphStyle

    public RtfParagraphStyle getRtfParagraphStyle(java.lang.String styleName)

Gets the RtfParagraphStyle with the given style name.

Parameters:
  `styleName` - The style name of the RtfParagraphStyle to get.
Returns:
  The RtfParagraphStyle with the given style name or null.

#### freeListNumber

    public void freeListNumber(RtfList list)

Removes a RtfList from the list table

Parameters:
  `list` - The RtfList to remove

#### getPageSetting

    public RtfPageSetting getPageSetting()

Gets the RtfPageSetting object of this RtfDocument

Returns:
  The RtfPageSetting object

#### addInfoElement

    public void addInfoElement(RtfInfoElement rtfInfoElement)

Adds an RtfInfoElement to the list of RtfInfoElements

Parameters:
  `rtfInfoElement` - The RtfInfoElement to add

#### setHeader

    public void setHeader(HeaderFooter header)

Sets the current header to use

Parameters:
  `header` - The HeaderFooter to use as header

#### setFooter

    public void setFooter(HeaderFooter footer)

Sets the current footer to use

Parameters:
  `footer` - The HeaderFooter to use as footer

#### registerParagraphStyle

    public void registerParagraphStyle(RtfParagraphStyle rtfParagraphStyle)

Registers the RtfParagraphStyle for further use in the document.

Parameters:
  `rtfParagraphStyle` - The RtfParagraphStyle to register.

#### convertHeaderFooter

    private RtfHeaderFooterGroup convertHeaderFooter(HeaderFooter hf,
                                           int type)

Converts a HeaderFooter into a RtfHeaderFooterGroup. Depending on which class the HeaderFooter is, the correct RtfHeaderFooterGroup is created.

Parameters:
  `hf` - The HeaderFooter to convert.
  `type` - Whether the conversion is being done on a footer or header
Returns:
  The converted RtfHeaderFooterGroup.
See Also:
  `RtfHeaderFooter`, `RtfHeaderFooterGroup`

#### getListTable

    public RtfListTable getListTable()

Get the `RtfListTable` object.

Returns:
  the ListTable object.
Since:
  2.1.3