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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier | Constructor and Description
    --- | ---
    `protected` | `RtfDocumentHeader(RtfDocument doc)` Constructs a RtfDocumentHeader for a RtfDocument

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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