org.apache.fop.render.rtf.rtflib.rtfdoc

## Class RtfParagraph

- java.lang.Object
- - org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement
  - - org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer
    - - org.apache.fop.render.rtf.rtflib.rtfdoc.RtfBookmarkContainerImpl
      - - org.apache.fop.render.rtf.rtflib.rtfdoc.RtfParagraph

All Implemented Interfaces:
  IRtfBookmarkContainer, IRtfExternalGraphicContainer, IRtfHyperLinkContainer, IRtfPageBreakContainer, IRtfPageNumberCitationContainer, IRtfPageNumberContainer, IRtfTextContainer

    public class RtfParagraph
    extends RtfBookmarkContainerImpl
    implements IRtfTextContainer, IRtfPageBreakContainer, IRtfHyperLinkContainer, IRtfExternalGraphicContainer, IRtfPageNumberContainer, IRtfPageNumberCitationContainer

Model of an RTF paragraph, which can contain RTF text elements.

This work was authored by Bertrand Delacretaz (bdelacretaz@codeconsult.ch), Andreas Putz (a.putz@skynamics.com), and Boris Poudérous (boris.pouderous@free.fr).

### Field Summary

### Fields inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement

`attrib, parent, writer`

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `getText()` Accessor for the paragraph text
`RtfAttributes` `getTextAttributes()` accessor for text attributes
`RtfAttributes` `getTextContainerAttributes()` IRtfTextContainer requirement: return a copy of our attributes
`RtfHyperLink` `newHyperLink(String str, RtfAttributes attr)` Creates a new hyperlink.
`RtfExternalGraphic` `newImage()` Start a new external graphic after closing all other elements
`void` `newLineBreak()` add a line break
`void` `newPageBreak()` add a page break
`RtfPageNumber` `newPageNumber()` Add a page number
`RtfPageNumberCitation` `newPageNumberCitation(String id)` Added by Boris POUDEROUS on 2002/07/09
`RtfText` `newText(String str)` Close current text run if any and start a new one with default attributes
`RtfText` `newText(String str, RtfAttributes attr)` Close current text run if any and start a new one
`protected boolean` `okToWriteRtf()` Depending on RtfOptions, do not emit any RTF for empty paragraphs
`void` `setKeepn()` Set the keepn attribute for this paragraph
`void` `setResetProperties()` Force reset properties
`protected void` `writeRtfPrefix()` Overridden to write our attributes before our content
`protected void` `writeRtfSuffix()` Overridden to close paragraph

### Methods inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfBookmarkContainerImpl

`newBookmark`

### Methods inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer

`addChild, findChildren, getChildCount, getChildren, isEmpty, setChildren, setOptions, toString, writeRtfContent`

### Methods inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement

`close, getParentOfClass, getRtfAttributes, newLine, writeAttributes, writeControlWord, writeControlWordNS, writeExceptionInRtf, writeGroupMark, writeOneAttribute, writeOneAttributeNS, writeRtf, writeStarControlWord, writeStarControlWordNS`

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

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

### Method Detail

#### getText

    public String getText()

Accessor for the paragraph text

Returns:
  the paragraph text

#### setKeepn

    public void setKeepn()

Set the keepn attribute for this paragraph

#### setResetProperties

    public void setResetProperties()

Force reset properties

#### getTextContainerAttributes

    public RtfAttributes getTextContainerAttributes()
                                             throws FOPException

IRtfTextContainer requirement: return a copy of our attributes

Specified by:
  `getTextContainerAttributes` in interface `IRtfTextContainer`
Returns:
  a copy of this paragraphs attributes
Throws:
  `FOPException` - if attributes cannot be cloned

#### writeRtfPrefix

    protected void writeRtfPrefix()
                           throws IOException

Overridden to write our attributes before our content

Overrides:
  `writeRtfPrefix` in class `RtfElement`
Throws:
  `IOException` - for I/O problems

#### writeRtfSuffix

    protected void writeRtfSuffix()
                           throws IOException

Overridden to close paragraph

Overrides:
  `writeRtfSuffix` in class `RtfElement`
Throws:
  `IOException` - for I/O problems

#### newText

    public RtfText newText(String str)
                    throws IOException

Close current text run if any and start a new one with default attributes

Specified by:
  `newText` in interface `IRtfTextContainer`
Parameters:
  `str` - if not null, added to the RtfText created
Returns:
  the new RtfText object
Throws:
  `IOException` - for I/O problems

#### newText

    public RtfText newText(String str,
                           RtfAttributes attr)
                    throws IOException

Close current text run if any and start a new one

Specified by:
  `newText` in interface `IRtfTextContainer`
Parameters:
  `str` - if not null, added to the RtfText created
  `attr` - attributes of the text
Returns:
  the new RtfText object
Throws:
  `IOException` - for I/O problems

#### newPageBreak

    public void newPageBreak()
                      throws IOException

add a page break

Specified by:
  `newPageBreak` in interface `IRtfPageBreakContainer`
Throws:
  `IOException` - for I/O problems

#### newLineBreak

    public void newLineBreak()
                      throws IOException

add a line break

Specified by:
  `newLineBreak` in interface `IRtfTextContainer`
Throws:
  `IOException` - for I/O problems

#### newPageNumber

    public RtfPageNumber newPageNumber()
                                throws IOException

Add a page number

Specified by:
  `newPageNumber` in interface `IRtfPageNumberContainer`
Returns:
  new RtfPageNumber object
Throws:
  `IOException` - for I/O problems

#### newPageNumberCitation

    public RtfPageNumberCitation newPageNumberCitation(String id)
                                                throws IOException

Added by Boris POUDEROUS on 2002/07/09

Specified by:
  `newPageNumberCitation` in interface `IRtfPageNumberCitationContainer`
Parameters:
  `id` - string containing the citation text
Returns:
  the new RtfPageNumberCitation object
Throws:
  `IOException` - for I/O problems

#### newHyperLink

    public RtfHyperLink newHyperLink(String str,
                                     RtfAttributes attr)
                              throws IOException

Creates a new hyperlink.

Specified by:
  `newHyperLink` in interface `IRtfHyperLinkContainer`
Parameters:
  `str` - string containing the hyperlink text
  `attr` - attributes of new hyperlink
Returns:
  the new RtfHyperLink object
Throws:
  `IOException` - for I/O problems

#### newImage

    public RtfExternalGraphic newImage()
                                throws IOException

Start a new external graphic after closing all other elements

Specified by:
  `newImage` in interface `IRtfExternalGraphicContainer`
Returns:
  the new RtfExternalGraphic
Throws:
  `IOException` - for I/O problems

#### okToWriteRtf

    protected boolean okToWriteRtf()

Depending on RtfOptions, do not emit any RTF for empty paragraphs

Overrides:
  `okToWriteRtf` in class `RtfContainer`
Returns:
  true if RTF should be written

#### getTextAttributes

    public RtfAttributes getTextAttributes()

accessor for text attributes

Returns:
  attributes of the text