RtfTableRow (Apache FOP Core 2.11 API)
Date: 2025-04-24

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

## Class RtfTableRow

- 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.RtfTableRow

- All Implemented Interfaces:
    ITableAttributes

      public class RtfTableRow
      extends RtfContainer
      implements ITableAttributes

  Container for RtfTableCell elements.

  This work was authored by Bertrand Delacretaz (bdelacretaz@codeconsult.ch), Andreas Putz (a.putz@skynamics.com), and Roberto Marra (roberto@link-u.com).

- - ### Field Summary

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

      `attrib, parent, writer`

    - ### Fields inherited from interface org.apache.fop.render.rtf.rtflib.rtfdoc.ITableAttributes

      `ATTR_CELL_PADDING_BOTTOM, ATTR_CELL_PADDING_LEFT, ATTR_CELL_PADDING_RIGHT, ATTR_CELL_PADDING_TOP, ATTR_CELL_U_PADDING_BOTTOM, ATTR_CELL_U_PADDING_LEFT, ATTR_CELL_U_PADDING_RIGHT, ATTR_CELL_U_PADDING_TOP, ATTR_CELL_VERT_ALIGN_BOTTOM, ATTR_CELL_VERT_ALIGN_CENTER, ATTR_CELL_VERT_ALIGN_TOP, ATTR_HEADER, ATTR_ROW_LEFT_INDENT, ATTR_ROW_PADDING_BOTTOM, ATTR_ROW_PADDING_LEFT, ATTR_ROW_PADDING_RIGHT, ATTR_ROW_PADDING_TOP, ATTR_ROW_U_PADDING_BOTTOM, ATTR_ROW_U_PADDING_LEFT, ATTR_ROW_U_PADDING_RIGHT, ATTR_ROW_U_PADDING_TOP, ATTR_RTF_15_TRGAPH, ATTRIB_CELL_PADDING, ATTRIB_ROW_PADDING, CELL_BORDER, CELL_BORDER_BOTTOM, CELL_BORDER_LEFT, CELL_BORDER_RIGHT, CELL_BORDER_TOP, CELL_COLOR, CELL_COLOR_BACKGROUND, CELL_COLOR_FOREGROUND, CELL_SHADE, CELL_VERT_ALIGN, COLUMN_SPAN, ROW_BORDER, ROW_BORDER_BOTTOM, ROW_BORDER_HORIZONTAL, ROW_BORDER_LEFT, ROW_BORDER_RIGHT, ROW_BORDER_TOP, ROW_BORDER_VERTICAL, ROW_HEIGHT, ROW_KEEP_TOGETHER, ROW_KEEP_WITH_NEXT, ROW_KEEP_WITH_PREVIOUS, ROW_SPAN`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `RtfTable` | `getTable()`
    `boolean` | `isFirstRow()`
    `boolean` | `isHighestCell(int cellId)`
    `RtfTableCell` | `newTableCell(int cellWidth)` Close current cell if any and start a new one
    `RtfTableCell` | `newTableCell(int cellWidth, RtfAttributes attrs)` Close current cell if any and start a new one
    `RtfTableCell` | `newTableCellMergedHorizontally(int cellWidth, RtfAttributes attrs)` Added by Boris POUDEROUS on 07/02/2002 in order to add an empty cell that is merged with the previous cell.
    `RtfTableCell` | `newTableCellMergedVertically(int cellWidth, RtfAttributes attrs)` Added by Boris POUDEROUS on 07/02/2002 in order to add an empty cell that is merged with the cell above.
    `void` | `writeRowAndCellsDefintions()`
    `protected void` | `writeRtfContent()` Overridden to write trowd and cell definitions before writing our cells
    `protected void` | `writeRtfPrefix()` Called before writeRtfContent()
    `protected void` | `writeRtfSuffix()` Overridden to write RTF suffix code, what comes after our children

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

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

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

    - #### newTableCell

          public RtfTableCell newTableCell(int cellWidth)
                                    throws IOException

      Close current cell if any and start a new one
      Parameters:
        `cellWidth` - width of new cell
      Returns:
        new RtfTableCell
      Throws:
        `IOException` - for I/O problems

    - #### newTableCell

          public RtfTableCell newTableCell(int cellWidth,
                                           RtfAttributes attrs)
                                    throws IOException

      Close current cell if any and start a new one
      Parameters:
        `attrs` - attributes of new cell
        `cellWidth` - width of new cell
      Returns:
        new RtfTableCell
      Throws:
        `IOException` - for I/O problems

    - #### newTableCellMergedVertically

          public RtfTableCell newTableCellMergedVertically(int cellWidth,
                                                           RtfAttributes attrs)
                                                    throws IOException

      Added by Boris POUDEROUS on 07/02/2002 in order to add an empty cell that is merged with the cell above. This cell is placed before or after the nested table.
      Parameters:
        `attrs` - attributes of new cell
        `cellWidth` - width of new cell
      Returns:
        new RtfTableCell
      Throws:
        `IOException` - for I/O problems

    - #### newTableCellMergedHorizontally

          public RtfTableCell newTableCellMergedHorizontally(int cellWidth,
                                                             RtfAttributes attrs)
                                                      throws IOException,
                                                             FOPException

      Added by Boris POUDEROUS on 07/02/2002 in order to add an empty cell that is merged with the previous cell.
      Parameters:
        `attrs` - attributes of new cell
        `cellWidth` - width of new cell
      Returns:
        new RtfTableCell
      Throws:
        `IOException` - for I/O problems
        `FOPException` - if attributes cannot be cloned

    - #### writeRtfPrefix

          protected void writeRtfPrefix()
                                 throws IOException

      Description copied from class: `RtfElement`
      Called before writeRtfContent()
      Overrides:
        `writeRtfPrefix` in class `RtfElement`
      Throws:
        `IOException` - for I/O problems

    - #### writeRtfContent

          protected void writeRtfContent()
                                  throws IOException

      Overridden to write trowd and cell definitions before writing our cells
      Overrides:
        `writeRtfContent` in class `RtfContainer`
      Throws:
        `IOException` - for I/O problems

    - #### writeRowAndCellsDefintions

          public void writeRowAndCellsDefintions()
                                          throws IOException

      Throws:
        `IOException` - In case of a IO-problem

    - #### writeRtfSuffix

          protected void writeRtfSuffix()
                                 throws IOException

      Overridden to write RTF suffix code, what comes after our children
      Overrides:
        `writeRtfSuffix` in class `RtfElement`
      Throws:
        `IOException` - for I/O problems

    - #### isFirstRow

          public boolean isFirstRow()

      Returns:
        true if the row is the first in the table

    - #### isHighestCell

          public boolean isHighestCell(int cellId)

      Parameters:
        `cellId` - cell id to check
      Returns:
        true if the cell is the highest cell

    - #### getTable

          public RtfTable getTable()

      Returns:
        Parent table of the row.

Copyright © 2025 Apache Software Foundation. All rights reserved.