Class TableContext

  • All Implemented Interfaces:
    ITableColumnsInfo

    public class TableContext
    extends java.lang.Object
    implements ITableColumnsInfo

    Used when handling fo:table to hold information to build the table.

    This work was authored by Bertrand Delacretaz (bdelacretaz@codeconsult.ch), Ed Trembicki-Guy (guye@dnb.com), Boris Poudérous (boris.pouderous@eads-telecom.com), and Peter Herweg (pherweg@web.de).

    This class was originally developed for the JFOR project and is now integrated into FOP.
    • Field Detail

      • log

        private final org.apache.commons.logging.Log log
      • colWidths

        private final java.util.List colWidths
      • colIndex

        private int colIndex
      • colRowSpanningNumber

        private final java.util.List colRowSpanningNumber
        This ArrayList contains one element for each column in the table. value == 0 means there is no row-spanning value > 0 means there is row-spanning Each value in the list is decreased by 1 after each finished table-row
      • colRowSpanningAttrs

        private final java.util.List colRowSpanningAttrs
        If there has a vertical merged cell to be created, its attributes are inherited from the corresponding MERGE_START-cell. For this purpose the attributes of a cell are stored in this array, as soon as a number-rows-spanned attribute has been found.
      • colFirstSpanningCol

        private final java.util.List colFirstSpanningCol
        This ArrayList contains one element for each column in the table. value == true means, it's the first of multiple spanned columns value == false meanst, it's NOT the first of multiple spanned columns
      • bNextRowBelongsToHeader

        private boolean bNextRowBelongsToHeader
    • Constructor Detail

      • TableContext

        public TableContext​(BuilderContext ctx)
        Parameters:
        ctx - BuilderContext
    • Method Detail

      • setNextRowBelongsToHeader

        public void setNextRowBelongsToHeader​(boolean value)
        Parameters:
        value - Specifies, if next row belongs to header
      • getNextRowBelongsToHeader

        public boolean getNextRowBelongsToHeader()
        Returns:
        true, if next row belongs to header
      • setNextColumnWidth

        public void setNextColumnWidth​(java.lang.Float width)
        Adds a column and sets its width.
        Parameters:
        width - Width of next column
      • getColumnRowSpanningAttrs

        public RtfAttributes getColumnRowSpanningAttrs()
        Returns:
        RtfAttributes of current row-spanning cell
      • getColumnRowSpanningNumber

        public java.lang.Integer getColumnRowSpanningNumber()
        Returns:
        Number of currently spanned rows
      • getFirstSpanningCol

        public boolean getFirstSpanningCol()
        Specified by:
        getFirstSpanningCol in interface ITableColumnsInfo
        Returns:
        true, if it's the first of multiple spanning columns
      • setCurrentColumnRowSpanning

        public void setCurrentColumnRowSpanning​(java.lang.Integer iRowSpanning,
                                                RtfAttributes attrs)
        Parameters:
        iRowSpanning - number of rows to span
        attrs - RtfAttributes of row-spanning cell
      • setNextColumnRowSpanning

        public void setNextColumnRowSpanning​(java.lang.Integer iRowSpanning,
                                             RtfAttributes attrs)
        Parameters:
        iRowSpanning - number of rows to span in next column
        attrs - RtfAttributes of row-spanning cell
      • setCurrentFirstSpanningCol

        public void setCurrentFirstSpanningCol​(boolean bFirstSpanningCol)
        Parameters:
        bFirstSpanningCol - specifies, if it's the first of multiple spanned columns
      • setNextFirstSpanningCol

        public void setNextFirstSpanningCol​(boolean bFirstSpanningCol)
        Parameters:
        bFirstSpanningCol - specifies, if it's the first of multiple spanned columns
      • decreaseRowSpannings

        public void decreaseRowSpannings()
        Added by Peter Herweg on 2002-06-29 This function is called after each finished table-row. It decreases all values in colRowSpanningNumber by 1. If a value reaches 0 row-spanning is finished, and the value won't be decreased anymore.
      • selectFirstColumn

        public void selectFirstColumn()
        Reset the column iteration index, meant to be called when creating a new row The 'public' modifier has been added by Boris Poudérous for 'number-columns-spanned' processing
        Specified by:
        selectFirstColumn in interface ITableColumnsInfo
      • selectNextColumn

        public void selectNextColumn()
        Increment the column iteration index The 'public' modifier has been added by Boris Poudérous for 'number-columns-spanned' processing
        Specified by:
        selectNextColumn in interface ITableColumnsInfo
      • getColumnWidth

        public float getColumnWidth()
        Get current column width according to column iteration index
        Specified by:
        getColumnWidth in interface ITableColumnsInfo
        Returns:
        INVALID_COLUMN_WIDTH if we cannot find the value The 'public' modifier has been added by Boris Poudérous for 'number-columns-spanned' processing
      • setColumnIndex

        public void setColumnIndex​(int index)
        Set current column index.
        Parameters:
        index - New column index