org.apache.fop.fo.flow.table

## Class PrimaryGridUnit

- java.lang.Object
- - org.apache.fop.fo.flow.table.GridUnit
  - - org.apache.fop.fo.flow.table.PrimaryGridUnit

-     public class PrimaryGridUnit
      extends GridUnit

  This class represents a primary grid unit of a spanned cell. This is the "before-start" (top-left, usually) grid unit of the span.

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.fo.flow.table.GridUnit

      `cell, collapsingBorderModel, FIRST_IN_PART, KEEP_WITH_NEXT_PENDING, KEEP_WITH_PREVIOUS_PENDING, LAST_IN_PART`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRow(GridUnit[] row)` Add a row.
    `void` | `createCellLM()` Creates a cellLM for the corresponding table-cell.
    `int` | `getAfterBorderWidth(int which)` Returns the width of the before-after for the last row-span of this cell.
    `int` | `getAfterBorderWidth(int rowIndex, int which)` Returns the width of the before-after for the given row-span of this cell.
    `int` | `getBeforeAfterBorderWidth()` Returns the widths of the border-before and -after for this cell.
    `int` | `getBeforeBorderWidth(int rowIndex, int which)` Returns the width of the before-border for the given row-span of this cell.
    `int` | `getBreakAfter()` Returns the class of the before after for the last child element of this cell.
    `int` | `getBreakBefore()` Returns the class of the before break for the first child element of this cell.
    `TableCellLayoutManager` | `getCellLM()` Get cell's layout manager.
    `int` | `getColIndex()` Returns the index of the column this grid unit belongs to.
    `int` | `getContentLength()`
    `List` | `getElements()` Obtain the Knuth elements.
    `Keep` | `getKeepWithNext()` Returns the strength of the keep constraint if the last child block (or its descendants) of this cell has keep-with-next.
    `Keep` | `getKeepWithPrevious()` Returns the strength of the keep constraint if the first child block (or its descendants) of this cell has keep-with-previous.
    `PrimaryGridUnit` | `getPrimary()` Returns the before-start grid unit of the cell containing this grid unit.
    `int` | `getRowIndex()` Returns the index of the row this grid unit belongs to.
    `List<GridUnit[]>` | `getRows()` Returns the grid units belonging to the same span as this one.
    `int[]` | `getStartEndBorderWidths()` Returns the widths of the start- and end-borders of the span this grid unit belongs to.
    `TablePart` | `getTablePart()` Returns the fo:table-header/footer/body element containing this cell.
    `boolean` | `hasSpanning()`
    `boolean` | `isPrimary()` Is this grid unit the before-start grid unit of the cell?
    `void` | `setBreakAfter(int breakAfter)` Don't use, reserved for TableCellLM.
    `void` | `setBreakBefore(int breakBefore)` Don't use, reserved for TableCellLM.
    `void` | `setElements(List elements)` Sets the Knuth elements for the table cell containing this grid unit.
    `void` | `setKeepWithNext(Keep keep)` Don't use, reserved for TableCellLM.
    `void` | `setKeepWithPrevious(Keep keep)` Don't use, reserved for TableCellLM.
    `String` | `toString()`

    - ### Methods inherited from class org.apache.fop.fo.flow.table.GridUnit

      `getBorderAfter, getBorderBefore, getBorderEnd, getBorderStart, getCell, getColSpanIndex, getFlag, getRow, getRowSpanIndex, isEmpty, isLastGridUnitColSpan, isLastGridUnitRowSpan, setBordersFromCell, setFlag, setFlag`

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

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

- - ### Method Detail

    - #### getTablePart

          public TablePart getTablePart()

      Returns the fo:table-header/footer/body element containing this cell.
      Returns:
        the enclosing table part

    - #### getCellLM

          public TableCellLayoutManager getCellLM()

      Get cell's layout manager.
      Returns:
        the cell's layout manager

    - #### getPrimary

          public PrimaryGridUnit getPrimary()

      Returns the before-start grid unit of the cell containing this grid unit.
      Overrides:
        `getPrimary` in class `GridUnit`
      Returns:
        the before-start grid unit of the cell containing this grid unit.

    - #### isPrimary

          public boolean isPrimary()

      Is this grid unit the before-start grid unit of the cell?
      Overrides:
        `isPrimary` in class `GridUnit`
      Returns:
        true if this grid unit is the before-start grid unit of the cell

    - #### setElements

          public void setElements(List elements)

      Sets the Knuth elements for the table cell containing this grid unit.
      Parameters:
        `elements` - a list of ListElement (?)

    - #### getElements

          public List getElements()

      Obtain the Knuth elements.
      Returns:
        a list of Knuth elements

    - #### getBeforeAfterBorderWidth

          public int getBeforeAfterBorderWidth()

      Returns the widths of the border-before and -after for this cell. In the separate border model the border-separation is included. In the collapsing model only half of them is counted, since the other halves belong to the neighbouring cells; also, the returned value is the maximum of the segments of each applicable grid unit.
      Returns:
        the sum of the before and after border widths

    - #### getBeforeBorderWidth

          public int getBeforeBorderWidth(int rowIndex,
                                          int which)

      Returns the width of the before-border for the given row-span of this cell. In the separate border model half of the border-separation is included. In the collapsing model only half of the border is counted, since the other half belongs to the preceding cell; also, the returned value is the maximum of the segments of each applicable grid unit.
      Parameters:
        `rowIndex` - index of the span for which the border must be computed, 0-based
        `which` - one of `ConditionalBorder.NORMAL`, `ConditionalBorder.LEADING_TRAILING` or `ConditionalBorder.REST`
      Returns:
        the before border width

    - #### getAfterBorderWidth

          public int getAfterBorderWidth(int rowIndex,
                                         int which)

      Returns the width of the before-after for the given row-span of this cell. In the separate border model half of the border-separation is included. In the collapsing model only half of the border is counted, since the other half belongs to the following cell; also, the returned value is the maximum of the segments of each applicable grid unit.
      Parameters:
        `rowIndex` - index of the span for which the border must be computed, 0-based
        `which` - one of `ConditionalBorder.NORMAL`, `ConditionalBorder.LEADING_TRAILING` or `ConditionalBorder.REST`
      Returns:
        the after border width

    - #### getAfterBorderWidth

          public int getAfterBorderWidth(int which)

      Returns the width of the before-after for the last row-span of this cell. See `getAfterBorderWidth(int, int)`.
      Parameters:
        `which` - one of `ConditionalBorder.NORMAL`, `ConditionalBorder.LEADING_TRAILING` or `ConditionalBorder.REST`
      Returns:
        the after border width

    - #### getContentLength

          public int getContentLength()

      Returns:
        the length of the cell content

    - #### getRows

          public List<GridUnit[]> getRows()

      Returns the grid units belonging to the same span as this one.
      Returns:
        a list of GridUnit[], each array corresponds to a row

    - #### addRow

          public void addRow(GridUnit[] row)

      Add a row.
      Parameters:
        `row` - the row to be added

    - #### getRowIndex

          public int getRowIndex()

      Returns the index of the row this grid unit belongs to. This is the index, in the enclosing table part, of the first row spanned by the cell. Note that if the table has several table-body children, then the index grows continuously across them; they are considered to form one single part, the "body of the table".
      Returns:
        the index of the row this grid unit belongs to, 0-based.

    - #### getColIndex

          public int getColIndex()

      Returns the index of the column this grid unit belongs to.
      Returns:
        the column index, 0-based

    - #### getStartEndBorderWidths

          public int[] getStartEndBorderWidths()

      Returns the widths of the start- and end-borders of the span this grid unit belongs to.
      Returns:
        a two-element array containing the widths of the start-border then the end-border

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `GridUnit`

    - #### hasSpanning

          public boolean hasSpanning()

      Returns:
        true if this cell spans over more than one grid unit.

    - #### createCellLM

          public void createCellLM()

      Creates a cellLM for the corresponding table-cell. A new one must be created for each new static-content (TODO).

    - #### getKeepWithPrevious

          public Keep getKeepWithPrevious()

      Returns the strength of the keep constraint if the first child block (or its descendants) of this cell has keep-with-previous.
      Returns:
        the keep-with-previous strength

    - #### setKeepWithPrevious

          public void setKeepWithPrevious(Keep keep)

      Don't use, reserved for TableCellLM. TODO
      Parameters:
        `keep` - the keep strength

    - #### getKeepWithNext

          public Keep getKeepWithNext()

      Returns the strength of the keep constraint if the last child block (or its descendants) of this cell has keep-with-next.
      Returns:
        the keep-with-next strength

    - #### setKeepWithNext

          public void setKeepWithNext(Keep keep)

      Don't use, reserved for TableCellLM. TODO
      Parameters:
        `keep` - the keep strength

    - #### getBreakBefore

          public int getBreakBefore()

      Returns the class of the before break for the first child element of this cell.
      Returns:
        one of `Constants.EN_AUTO`, `Constants.EN_COLUMN`, `Constants.EN_PAGE`, `Constants.EN_EVEN_PAGE`, `Constants.EN_ODD_PAGE`

    - #### setBreakBefore

          public void setBreakBefore(int breakBefore)

      Don't use, reserved for TableCellLM. TODO
      Parameters:
        `breakBefore` - the breakBefore to set

    - #### getBreakAfter

          public int getBreakAfter()

      Returns the class of the before after for the last child element of this cell.
      Returns:
        one of `Constants.EN_AUTO`, `Constants.EN_COLUMN`, `Constants.EN_PAGE`, `Constants.EN_EVEN_PAGE`, `Constants.EN_ODD_PAGE`

    - #### setBreakAfter

          public void setBreakAfter(int breakAfter)

      Don't use, reserved for TableCellLM. TODO
      Parameters:
        `breakAfter` - the breakAfter to set

Copyright © 2023 Apache Software Foundation. All rights reserved.