org.apache.fop.render.rtf

## Class RTFHandler

- java.lang.Object
- - org.apache.fop.fo.FOEventHandler
  - - org.apache.fop.render.rtf.RTFHandler

-     public class RTFHandler
      extends FOEventHandler

  RTF Handler: generates RTF output using the structure events from the FO Tree sent to this structure handler.

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.fo.FOEventHandler

      `fontInfo, foUserAgent`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RTFHandler(FOUserAgent userAgent, OutputStream os)` Creates a new RTF structure handler.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `endBlock(Block bl)`
    `void` | `endBlockContainer(BlockContainer bl)`
    `void` | `endBody(TableBody body)`
    `void` | `endCell(TableCell tc)`
    `void` | `endColumn(TableColumn tc)`
    `boolean` | `endContainer(Class containerClass)` Closes any mismatched tags that are detected in the RTF structure.
    `void` | `endDocument()` This method is called to indicate the end of a document run.
    `void` | `endFlow(Flow fl)`
    `void` | `endFooter(TableFooter footer)`
    `void` | `endFootnote(Footnote footnote)` Process the ending of a footnote.
    `void` | `endFootnoteBody(FootnoteBody body)` Process the ending of a footnote body.
    `void` | `endHeader(TableHeader header)`
    `void` | `endInline(Inline inl)`
    `void` | `endInstreamForeignObject(InstreamForeignObject ifo)` Process the end of an InstreamForeignObject.
    `void` | `endLink(BasicLink basicLink)` Process end of a Link.
    `void` | `endList(ListBlock lb)`
    `void` | `endListBody(ListItemBody listItemBody)` Process end of a ListBody.
    `void` | `endListItem(ListItem li)`
    `void` | `endListLabel(ListItemLabel listItemLabel)` Process end of a ListLabel.
    `void` | `endMarkup()` Process end of a Markup.
    `void` | `endPageNumber(PageNumber pagenum)`
    `void` | `endPageSequence(PageSequence pageSeq)`
    `void` | `endRow(TableRow tr)`
    `void` | `endStatic(StaticContent statisContent)` Process end of a Static.
    `void` | `endTable(Table tbl)`
    `protected void` | `handleIOTrouble(IOException ioe)` Central exception handler for I/O exceptions.
    `void` | `image(ExternalGraphic eg)` Process an ExternalGraphic.
    `void` | `pageRef()` Process a pageRef.
    `void` | `startBlock(Block bl)`
    `void` | `startBlockContainer(BlockContainer blc)`
    `void` | `startBody(TableBody body)`
    `void` | `startCell(TableCell tc)`
    `void` | `startColumn(TableColumn tc)`
    `void` | `startDocument()` This method is called to indicate the start of a new document run.
    `void` | `startFlow(Flow fl)` This method is called to indicate the start of a new fo:flow or fo:static-content.
    `void` | `startFooter(TableFooter footer)`
    `void` | `startFootnote(Footnote footnote)` Process the start of a footnote.
    `void` | `startFootnoteBody(FootnoteBody body)` Process the start of a footnote body.
    `void` | `startHeader(TableHeader header)`
    `void` | `startInline(Inline inl)`
    `void` | `startLeader(Leader l)` Process the start of a Leader.
    `void` | `startLink(BasicLink basicLink)` Process start of a Link.
    `void` | `startList(ListBlock lb)`
    `void` | `startListBody(ListItemBody listItemBody)` Process start of a ListBody.
    `void` | `startListItem(ListItem li)`
    `void` | `startListLabel(ListItemLabel listItemLabel)` Process start of a ListLabel.
    `void` | `startMarkup()` Process start of a Markup.
    `void` | `startPageNumber(PageNumber pagenum)`
    `void` | `startPageNumberCitation(PageNumberCitation l)`
    `void` | `startPageNumberCitationLast(PageNumberCitationLast l)`
    `void` | `startPageSequence(PageSequence pageSeq)`
    `void` | `startRow(TableRow tr)`
    `void` | `startStatic(StaticContent staticContent)` Process start of a Static.
    `void` | `startTable(Table tbl)`
    `void` | `text(FOText text, CharSequence characters)`

    - ### Methods inherited from class org.apache.fop.fo.FOEventHandler

      `character, characters, endExternalDocument, endLeader, endPageNumberCitation, endPageNumberCitationLast, endRetrieveMarker, endRetrieveTableMarker, endRoot, endWrapper, getFontInfo, getResults, getUserAgent, restoreState, restoreState, startExternalDocument, startInstreamForeignObject, startRetrieveMarker, startRetrieveTableMarker, startRoot, startWrapper`

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

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

- - ### Constructor Detail

    - #### RTFHandler

          public RTFHandler(FOUserAgent userAgent,
                            OutputStream os)

      Creates a new RTF structure handler.
      Parameters:
        `userAgent` - the FOUserAgent for this process
        `os` - OutputStream to write to

  - ### Method Detail

    - #### handleIOTrouble

          protected void handleIOTrouble(IOException ioe)

      Central exception handler for I/O exceptions.
      Parameters:
        `ioe` - IOException to handle

    - #### startDocument

          public void startDocument()
                             throws SAXException

      This method is called to indicate the start of a new document run.
      Overrides:
        `startDocument` in class `FOEventHandler`
      Throws:
        `SAXException` - In case of a problem

    - #### endDocument

          public void endDocument()
                           throws SAXException

      This method is called to indicate the end of a document run.
      Overrides:
        `endDocument` in class `FOEventHandler`
      Throws:
        `SAXException` - In case of a problem

    - #### startPageSequence

          public void startPageSequence(PageSequence pageSeq)

      Overrides:
        `startPageSequence` in class `FOEventHandler`
      Parameters:
        `pageSeq` - PageSequence that is starting.

    - #### endPageSequence

          public void endPageSequence(PageSequence pageSeq)

      Overrides:
        `endPageSequence` in class `FOEventHandler`
      Parameters:
        `pageSeq` - PageSequence that is ending.

    - #### startFlow

          public void startFlow(Flow fl)

      This method is called to indicate the start of a new fo:flow or fo:static-content. This method also handles fo:static-content tags, because the StaticContent class is derived from the Flow class.
      Overrides:
        `startFlow` in class `FOEventHandler`
      Parameters:
        `fl` - Flow that is starting.

    - #### endFlow

          public void endFlow(Flow fl)

      Overrides:
        `endFlow` in class `FOEventHandler`
      Parameters:
        `fl` - Flow that is ending.

    - #### startBlock

          public void startBlock(Block bl)

      Overrides:
        `startBlock` in class `FOEventHandler`
      Parameters:
        `bl` - Block that is starting.

    - #### endBlock

          public void endBlock(Block bl)

      Overrides:
        `endBlock` in class `FOEventHandler`
      Parameters:
        `bl` - Block that is ending.

    - #### startBlockContainer

          public void startBlockContainer(BlockContainer blc)

      Overrides:
        `startBlockContainer` in class `FOEventHandler`
      Parameters:
        `blc` - BlockContainer that is starting.

    - #### endBlockContainer

          public void endBlockContainer(BlockContainer bl)

      Overrides:
        `endBlockContainer` in class `FOEventHandler`
      Parameters:
        `bl` - BlockContainer that is ending.

    - #### startTable

          public void startTable(Table tbl)

      Overrides:
        `startTable` in class `FOEventHandler`
      Parameters:
        `tbl` - Table that is starting.

    - #### endTable

          public void endTable(Table tbl)

      Overrides:
        `endTable` in class `FOEventHandler`
      Parameters:
        `tbl` - Table that is ending.

    - #### startColumn

          public void startColumn(TableColumn tc)

      Overrides:
        `startColumn` in class `FOEventHandler`
      Parameters:
        `tc` - TableColumn that is starting;

    - #### endColumn

          public void endColumn(TableColumn tc)

      Overrides:
        `endColumn` in class `FOEventHandler`
      Parameters:
        `tc` - TableColumn that is ending;

    - #### startHeader

          public void startHeader(TableHeader header)

      Overrides:
        `startHeader` in class `FOEventHandler`
      Parameters:
        `header` - TableHeader that is starting;

    - #### endHeader

          public void endHeader(TableHeader header)

      Overrides:
        `endHeader` in class `FOEventHandler`
      Parameters:
        `header` - TableHeader that is ending.

    - #### startFooter

          public void startFooter(TableFooter footer)

      Overrides:
        `startFooter` in class `FOEventHandler`
      Parameters:
        `footer` - TableFooter that is starting.

    - #### endFooter

          public void endFooter(TableFooter footer)

      Overrides:
        `endFooter` in class `FOEventHandler`
      Parameters:
        `footer` - TableFooter that is ending.

    - #### startInline

          public void startInline(Inline inl)

      Overrides:
        `startInline` in class `FOEventHandler`
      Parameters:
        `inl` - Inline that is starting.

    - #### endInline

          public void endInline(Inline inl)

      Overrides:
        `endInline` in class `FOEventHandler`
      Parameters:
        `inl` - Inline that is ending.

    - #### startBody

          public void startBody(TableBody body)

      Overrides:
        `startBody` in class `FOEventHandler`
      Parameters:
        `body` - TableBody that is starting.

    - #### endBody

          public void endBody(TableBody body)

      Overrides:
        `endBody` in class `FOEventHandler`
      Parameters:
        `body` - TableBody that is ending.

    - #### startRow

          public void startRow(TableRow tr)

      Overrides:
        `startRow` in class `FOEventHandler`
      Parameters:
        `tr` - TableRow that is starting.

    - #### endRow

          public void endRow(TableRow tr)

      Overrides:
        `endRow` in class `FOEventHandler`
      Parameters:
        `tr` - TableRow that is ending.

    - #### startCell

          public void startCell(TableCell tc)

      Overrides:
        `startCell` in class `FOEventHandler`
      Parameters:
        `tc` - TableCell that is starting.

    - #### endCell

          public void endCell(TableCell tc)

      Overrides:
        `endCell` in class `FOEventHandler`
      Parameters:
        `tc` - TableCell that is ending.

    - #### startList

          public void startList(ListBlock lb)

      Overrides:
        `startList` in class `FOEventHandler`
      Parameters:
        `lb` - ListBlock that is starting.

    - #### endList

          public void endList(ListBlock lb)

      Overrides:
        `endList` in class `FOEventHandler`
      Parameters:
        `lb` - ListBlock that is ending.

    - #### startListItem

          public void startListItem(ListItem li)

      Overrides:
        `startListItem` in class `FOEventHandler`
      Parameters:
        `li` - ListItem that is starting.

    - #### endListItem

          public void endListItem(ListItem li)

      Overrides:
        `endListItem` in class `FOEventHandler`
      Parameters:
        `li` - ListItem that is ending.

    - #### startListLabel

          public void startListLabel(ListItemLabel listItemLabel)

      Process start of a ListLabel.
      Overrides:
        `startListLabel` in class `FOEventHandler`
      Parameters:
        `listItemLabel` - ListItemLabel that is starting

    - #### endListLabel

          public void endListLabel(ListItemLabel listItemLabel)

      Process end of a ListLabel.
      Overrides:
        `endListLabel` in class `FOEventHandler`
      Parameters:
        `listItemLabel` - ListItemLabel that is ending

    - #### startListBody

          public void startListBody(ListItemBody listItemBody)

      Process start of a ListBody.
      Overrides:
        `startListBody` in class `FOEventHandler`
      Parameters:
        `listItemBody` - ListItemBody that is starting

    - #### endListBody

          public void endListBody(ListItemBody listItemBody)

      Process end of a ListBody.
      Overrides:
        `endListBody` in class `FOEventHandler`
      Parameters:
        `listItemBody` - ListItemBody that is ending

    - #### startStatic

          public void startStatic(StaticContent staticContent)

      Process start of a Static.
      Overrides:
        `startStatic` in class `FOEventHandler`
      Parameters:
        `staticContent` - StaticContent that is starting

    - #### endStatic

          public void endStatic(StaticContent statisContent)

      Process end of a Static.
      Overrides:
        `endStatic` in class `FOEventHandler`
      Parameters:
        `statisContent` - StaticContent that is ending

    - #### startMarkup

          public void startMarkup()

      Process start of a Markup.
      Overrides:
        `startMarkup` in class `FOEventHandler`

    - #### endMarkup

          public void endMarkup()

      Process end of a Markup.
      Overrides:
        `endMarkup` in class `FOEventHandler`

    - #### startLink

          public void startLink(BasicLink basicLink)

      Process start of a Link.
      Overrides:
        `startLink` in class `FOEventHandler`
      Parameters:
        `basicLink` - BasicLink that is starting

    - #### endLink

          public void endLink(BasicLink basicLink)

      Process end of a Link.
      Overrides:
        `endLink` in class `FOEventHandler`
      Parameters:
        `basicLink` - BasicLink that is ending

    - #### image

          public void image(ExternalGraphic eg)

      Process an ExternalGraphic.
      Overrides:
        `image` in class `FOEventHandler`
      Parameters:
        `eg` - ExternalGraphic to process.

    - #### endInstreamForeignObject

          public void endInstreamForeignObject(InstreamForeignObject ifo)

      Process the end of an InstreamForeignObject.
      Overrides:
        `endInstreamForeignObject` in class `FOEventHandler`
      Parameters:
        `ifo` - InstreamForeignObject that is ending

    - #### pageRef

          public void pageRef()

      Process a pageRef.
      Overrides:
        `pageRef` in class `FOEventHandler`

    - #### startFootnote

          public void startFootnote(Footnote footnote)

      Process the start of a footnote.
      Overrides:
        `startFootnote` in class `FOEventHandler`
      Parameters:
        `footnote` - Footnote that is starting

    - #### endFootnote

          public void endFootnote(Footnote footnote)

      Process the ending of a footnote.
      Overrides:
        `endFootnote` in class `FOEventHandler`
      Parameters:
        `footnote` - Footnote that is ending

    - #### startFootnoteBody

          public void startFootnoteBody(FootnoteBody body)

      Process the start of a footnote body.
      Overrides:
        `startFootnoteBody` in class `FOEventHandler`
      Parameters:
        `body` - FootnoteBody that is starting

    - #### endFootnoteBody

          public void endFootnoteBody(FootnoteBody body)

      Process the ending of a footnote body.
      Overrides:
        `endFootnoteBody` in class `FOEventHandler`
      Parameters:
        `body` - FootnoteBody that is ending

    - #### startLeader

          public void startLeader(Leader l)

      Process the start of a Leader.
      Overrides:
        `startLeader` in class `FOEventHandler`
      Parameters:
        `l` - Leader that is starting

    - #### text

          public void text(FOText text,
                           CharSequence characters)

      Parameters:
        `text` - FOText object
        `characters` - CharSequence of the characters to process.

    - #### startPageNumber

          public void startPageNumber(PageNumber pagenum)

      Overrides:
        `startPageNumber` in class `FOEventHandler`
      Parameters:
        `pagenum` - PageNumber that is starting.

    - #### endPageNumber

          public void endPageNumber(PageNumber pagenum)

      Overrides:
        `endPageNumber` in class `FOEventHandler`
      Parameters:
        `pagenum` - PageNumber that is ending.

    - #### startPageNumberCitation

          public void startPageNumberCitation(PageNumberCitation l)

      Overrides:
        `startPageNumberCitation` in class `FOEventHandler`
      Parameters:
        `l` - PageNumberCitation that is starting.

    - #### startPageNumberCitationLast

          public void startPageNumberCitationLast(PageNumberCitationLast l)

      Overrides:
        `startPageNumberCitationLast` in class `FOEventHandler`
      Parameters:
        `l` - PageNumberCitationLast that is starting.

    - #### endContainer

          public boolean endContainer(Class containerClass)

      Closes any mismatched tags that are detected in the RTF structure.
      Parameters:
        `containerClass` - The class representing the tag to close.
      Returns:
        Determines whether the tag mismatch has been handled.

Copyright © 2023 Apache Software Foundation. All rights reserved.