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