com.lowagie.text.rtf.headerfooter

## Class RtfHeaderFooterGroup

- java.lang.Object
- - com.lowagie.text.Rectangle
  - - com.lowagie.text.HeaderFooter
    - - com.lowagie.text.rtf.headerfooter.RtfHeaderFooterGroup

- All Implemented Interfaces:
    Element, RtfBasicElement, RtfElementInterface

      public class RtfHeaderFooterGroup
      extends HeaderFooter
      implements RtfBasicElement

  The RtfHeaderFooterGroup holds 0 - 3 RtfHeaderFooters that create a group of headers or footers.
  Version:
    $Id$
  Author:
    Mark Hall (Mark.Hall@mail.room3b.eu), Thomas Bickel (tmb99@inode.at)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private RtfDocument` | `document` The RtfDocument this RtfHeaderFooterGroup belongs to
    `private RtfHeaderFooter` | `headerAll` The RtfHeaderFooter for all pages
    `private RtfHeaderFooter` | `headerFirst` The RtfHeaderFooter for the first page
    `private RtfHeaderFooter` | `headerLeft` The RtfHeaderFooter for the left hand pages
    `private RtfHeaderFooter` | `headerRight` The RtfHeaderFooter for the right hand pages
    `private int` | `mode` The current mode of this RtfHeaderFooterGroup.
    `private static int` | `MODE_MULTIPLE` This RtfHeaderFooterGroup contains two or three RtfHeaderFooter objects
    `private static int` | `MODE_NONE` This RtfHeaderFooterGroup contains no RtfHeaderFooter objects
    `private static int` | `MODE_SINGLE` This RtfHeaderFooterGroup contains one RtfHeaderFooter object
    `private int` | `type` The current type of this RtfHeaderFooterGroup.

    - ### Fields inherited from class com.lowagie.text.Rectangle

      `backgroundColor, border, borderColor, borderColorBottom, borderColorLeft, borderColorRight, borderColorTop, borderWidth, borderWidthBottom, borderWidthLeft, borderWidthRight, borderWidthTop, BOTTOM, BOX, LEFT, llx, lly, NO_BORDER, RIGHT, rotation, TOP, UNDEFINED, urx, ury, useVariableBorders`

    - ### Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement

      `CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR`

    - ### Fields inherited from interface com.lowagie.text.Element

      `ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RtfHeaderFooterGroup()` Constructs a RtfHeaderGroup to which you add headers/footers using via the setHeaderFooter method.
    `RtfHeaderFooterGroup(RtfDocument doc, HeaderFooter headerFooter, int type)` Constructs a RtfHeaderGroup for a certain HeaderFooter
    `RtfHeaderFooterGroup(RtfDocument doc, int type)` Constructs a certain type of RtfHeaderFooterGroup.
    `RtfHeaderFooterGroup(RtfDocument doc, RtfHeaderFooterGroup headerFooter, int type)` Constructs a RtfHeaderFooterGroup by copying the content of the original RtfHeaderFooterGroup
    `RtfHeaderFooterGroup(RtfDocument doc, RtfHeaderFooter headerFooter, int type)` Constructs a RtfHeaderFooterGroup for a certain RtfHeaderFooter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected RtfHeaderFooter` | `getHeaderAll()` Gets the RtfHeaderFooter for all pages
    `protected RtfHeaderFooter` | `getHeaderFirst()` Gets the RtfHeaderFooter for the title page
    `protected RtfHeaderFooter` | `getHeaderLeft()` Gets the RtfHeaderFooter for all left hand pages
    `protected RtfHeaderFooter` | `getHeaderRight()` Gets the RtfHeaderFooter for all right hand pages
    `protected int` | `getMode()` Gets the mode of this RtfHeaderFooterGroup
    `boolean` | `hasFacingPages()` Get whether this RtfHeaderFooterGroup has facing pages
    `boolean` | `hasTitlePage()` Get whether this RtfHeaderFooterGroup has a titlepage
    `void` | `setHasFacingPages()` Set that this RtfHeaderFooterGroup should have facing pages.
    `void` | `setHasTitlePage()` Set that this RtfHeaderFooterGroup should have a title page.
    `void` | `setHeaderFooter(HeaderFooter headerFooter, int displayAt)` Set a HeaderFooter to be displayed at a certain position
    `void` | `setHeaderFooter(RtfHeaderFooter headerFooter, int displayAt)` Set a RtfHeaderFooter to be displayed at a certain position
    `void` | `setInHeader(boolean inHeader)` Unused
    `void` | `setInTable(boolean inTable)` Unused
    `void` | `setRtfDocument(RtfDocument doc)` Sets the RtfDocument this RtfElement belongs to
    `void` | `setType(int type)` Set the type of this RtfHeaderFooterGroup.
    `void` | `writeContent(java.io.OutputStream result)` Write the content of this RtfHeaderFooterGroup.

    - ### Methods inherited from class com.lowagie.text.HeaderFooter

      `alignment, getAfter, getBefore, isNumbered, paragraph, setAlignment, setPageNumber`

    - ### Methods inherited from class com.lowagie.text.Rectangle

      `cloneNonPositionParameters, disableBorderSide, enableBorderSide, getBackgroundColor, getBorder, getBorderColor, getBorderColorBottom, getBorderColorLeft, getBorderColorRight, getBorderColorTop, getBorderWidth, getBorderWidthBottom, getBorderWidthLeft, getBorderWidthRight, getBorderWidthTop, getBottom, getBottom, getChunks, getGrayFill, getHeight, getLeft, getLeft, getRight, getRight, getRotation, getTop, getTop, getWidth, hasBorder, hasBorders, isContent, isNestable, isUseVariableBorders, normalize, process, rectangle, rotate, setBackgroundColor, setBorder, setBorderColor, setBorderColorBottom, setBorderColorLeft, setBorderColorRight, setBorderColorTop, setBorderWidth, setBorderWidthBottom, setBorderWidthLeft, setBorderWidthRight, setBorderWidthTop, setBottom, setGrayFill, setLeft, setRight, setTop, setUseVariableBorders, softCloneNonPositionParameters, toString, type`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### MODE_NONE

          private static final int MODE_NONE

      This RtfHeaderFooterGroup contains no RtfHeaderFooter objects
      See Also:
        Constant Field Values

    - #### MODE_SINGLE

          private static final int MODE_SINGLE

      This RtfHeaderFooterGroup contains one RtfHeaderFooter object
      See Also:
        Constant Field Values

    - #### MODE_MULTIPLE

          private static final int MODE_MULTIPLE

      This RtfHeaderFooterGroup contains two or three RtfHeaderFooter objects
      See Also:
        Constant Field Values

    - #### mode

          private int mode

      The current mode of this RtfHeaderFooterGroup. Defaults to MODE_NONE

    - #### type

          private int type

      The current type of this RtfHeaderFooterGroup. Defaults to RtfHeaderFooter.TYPE_HEADER

    - #### headerAll

          private RtfHeaderFooter headerAll

      The RtfHeaderFooter for all pages

    - #### headerFirst

          private RtfHeaderFooter headerFirst

      The RtfHeaderFooter for the first page

    - #### headerLeft

          private RtfHeaderFooter headerLeft

      The RtfHeaderFooter for the left hand pages

    - #### headerRight

          private RtfHeaderFooter headerRight

      The RtfHeaderFooter for the right hand pages

    - #### document

          private RtfDocument document

      The RtfDocument this RtfHeaderFooterGroup belongs to

  - ### Constructor Detail

    - #### RtfHeaderFooterGroup

          public RtfHeaderFooterGroup()

      Constructs a RtfHeaderGroup to which you add headers/footers using via the setHeaderFooter method.

    - #### RtfHeaderFooterGroup

          public RtfHeaderFooterGroup(RtfDocument doc,
                              int type)

      Constructs a certain type of RtfHeaderFooterGroup. RtfHeaderFooter.TYPE_HEADER and RtfHeaderFooter.TYPE_FOOTER are valid values for type.
      Parameters:
        `doc` - The RtfDocument this RtfHeaderFooter belongs to
        `type` - The type of RtfHeaderFooterGroup to create

    - #### RtfHeaderFooterGroup

          public RtfHeaderFooterGroup(RtfDocument doc,
                              RtfHeaderFooterGroup headerFooter,
                              int type)

      Constructs a RtfHeaderFooterGroup by copying the content of the original RtfHeaderFooterGroup
      Parameters:
        `doc` - The RtfDocument this RtfHeaderFooter belongs to
        `headerFooter` - The RtfHeaderFooterGroup to copy
        `type` - The type of RtfHeaderFooterGroup to create

    - #### RtfHeaderFooterGroup

          public RtfHeaderFooterGroup(RtfDocument doc,
                              RtfHeaderFooter headerFooter,
                              int type)

      Constructs a RtfHeaderFooterGroup for a certain RtfHeaderFooter.
      Parameters:
        `doc` - The RtfDocument this RtfHeaderFooter belongs to
        `headerFooter` - The RtfHeaderFooter to display
        `type` - The type of RtfHeaderFooterGroup to create

    - #### RtfHeaderFooterGroup

          public RtfHeaderFooterGroup(RtfDocument doc,
                              HeaderFooter headerFooter,
                              int type)

      Constructs a RtfHeaderGroup for a certain HeaderFooter
      Parameters:
        `doc` - The RtfDocument this RtfHeaderFooter belongs to
        `headerFooter` - The HeaderFooter to display
        `type` - The type of RtfHeaderFooterGroup to create

  - ### Method Detail

    - #### setRtfDocument

          public void setRtfDocument(RtfDocument doc)

      Sets the RtfDocument this RtfElement belongs to
      Specified by:
        `setRtfDocument` in interface `RtfBasicElement`
      Parameters:
        `doc` - The RtfDocument to use

    - #### writeContent

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

      Write the content of this RtfHeaderFooterGroup.
      Specified by:
        `writeContent` in interface `RtfBasicElement`
      Parameters:
        `result` - The `OutputStream` to write the content to
      Throws:
        `java.io.IOException`

    - #### setHeaderFooter

          public void setHeaderFooter(RtfHeaderFooter headerFooter,
                             int displayAt)

      Set a RtfHeaderFooter to be displayed at a certain position
      Parameters:
        `headerFooter` - The RtfHeaderFooter to display
        `displayAt` - The display location to use

    - #### setHeaderFooter

          public void setHeaderFooter(HeaderFooter headerFooter,
                             int displayAt)

      Set a HeaderFooter to be displayed at a certain position
      Parameters:
        `headerFooter` - The HeaderFooter to set
        `displayAt` - The display location to use

    - #### setHasTitlePage

          public void setHasTitlePage()

      Set that this RtfHeaderFooterGroup should have a title page. If only a header / footer for all pages exists, then it will be copied to the first page as well.

    - #### setHasFacingPages

          public void setHasFacingPages()

      Set that this RtfHeaderFooterGroup should have facing pages. If only a header / footer for all pages exists, then it will be copied to the left and right pages as well.

    - #### hasTitlePage

          public boolean hasTitlePage()

      Get whether this RtfHeaderFooterGroup has a titlepage
      Returns:
        Whether this RtfHeaderFooterGroup has a titlepage

    - #### hasFacingPages

          public boolean hasFacingPages()

      Get whether this RtfHeaderFooterGroup has facing pages
      Returns:
        Whether this RtfHeaderFooterGroup has facing pages

    - #### setInTable

          public void setInTable(boolean inTable)

      Unused
      Specified by:
        `setInTable` in interface `RtfBasicElement`
      Parameters:
        `inTable` -

    - #### setInHeader

          public void setInHeader(boolean inHeader)

      Unused
      Specified by:
        `setInHeader` in interface `RtfBasicElement`
      Parameters:
        `inHeader` -

    - #### setType

          public void setType(int type)

      Set the type of this RtfHeaderFooterGroup. RtfHeaderFooter.TYPE_HEADER or RtfHeaderFooter.TYPE_FOOTER. Also sets the type for all RtfHeaderFooters of this RtfHeaderFooterGroup.
      Parameters:
        `type` - The type to use

    - #### getMode

          protected int getMode()

      Gets the mode of this RtfHeaderFooterGroup
      Returns:
        The mode of this RtfHeaderFooterGroup

    - #### getHeaderAll

          protected RtfHeaderFooter getHeaderAll()

      Gets the RtfHeaderFooter for all pages
      Returns:
        The RtfHeaderFooter for all pages

    - #### getHeaderFirst

          protected RtfHeaderFooter getHeaderFirst()

      Gets the RtfHeaderFooter for the title page
      Returns:
        The RtfHeaderFooter for the title page

    - #### getHeaderLeft

          protected RtfHeaderFooter getHeaderLeft()

      Gets the RtfHeaderFooter for all left hand pages
      Returns:
        The RtfHeaderFooter for all left hand pages

    - #### getHeaderRight

          protected RtfHeaderFooter getHeaderRight()

      Gets the RtfHeaderFooter for all right hand pages
      Returns:
        The RtfHeaderFooter for all right hand pages