Class TableBorders

java.lang.Object
com.itextpdf.layout.renderer.TableBorders
Direct Known Subclasses:
CollapsedTableBorders, SeparatedTableBorders

abstract class TableBorders extends Object
  • Field Details

    • horizontalBorders

      protected List<List<Border>> horizontalBorders
      Horizontal borders of the table. It consists of a list, each item of which represents a horizontal border of a row, each of them is a list of borders of the cells. The amount of the lists is the number of rows + 1, the size of each of these lists corresponds to the number of columns.
    • verticalBorders

      protected List<List<Border>> verticalBorders
      Vertical borders of the table. It consists of a list, each item of which represents a vertical border of a row, each of them is a list of borders of the cells. The amount of the lists is the number of columns + 1, the size of each of these lists corresponds to the number of rows.
    • numberOfColumns

      protected final int numberOfColumns
      The number of the table's columns.
    • tableBoundingBorders

      protected Border[] tableBoundingBorders
      The outer borders of the table (as body).
    • rows

      protected List<CellRenderer[]> rows
      All the cells of the table. Each item of the list represents a row and consists of its cells.
    • startRow

      protected int startRow
      The first row, which should be processed on this area. The value of this field varies from area to area. It's zero-based and inclusive.
    • finishRow

      protected int finishRow
      The last row, which should be processed on this area. The value of this field varies from area to area. It's zero-based and inclusive. The last border will have index (finishRow+1) because the number of borders is greater by one than the number of rows
    • leftBorderMaxWidth

      protected float leftBorderMaxWidth
      The width of the widest left border.
    • rightBorderMaxWidth

      protected float rightBorderMaxWidth
      The width of the widest right border.
    • largeTableIndexOffset

      protected int largeTableIndexOffset
      The number of rows flushed to the table. Its value is zero for regular tables. The field makes sense only for large tables.
  • Constructor Details

    • TableBorders

      public TableBorders(List<CellRenderer[]> rows, int numberOfColumns, Border[] tableBoundingBorders)
    • TableBorders

      public TableBorders(List<CellRenderer[]> rows, int numberOfColumns, Border[] tableBoundingBorders, int largeTableIndexOffset)
  • Method Details

    • drawHorizontalBorder

      protected abstract TableBorders drawHorizontalBorder(PdfCanvas canvas, TableBorderDescriptor borderDescriptor)
    • drawVerticalBorder

      protected abstract TableBorders drawVerticalBorder(PdfCanvas canvas, TableBorderDescriptor borderDescriptor)
    • applyTopTableBorder

      protected abstract TableBorders applyTopTableBorder(Rectangle occupiedBox, Rectangle layoutBox, boolean isEmpty, boolean force, boolean reverse)
    • applyTopTableBorder

      protected abstract TableBorders applyTopTableBorder(Rectangle occupiedBox, Rectangle layoutBox, boolean reverse)
    • applyBottomTableBorder

      protected abstract TableBorders applyBottomTableBorder(Rectangle occupiedBox, Rectangle layoutBox, boolean isEmpty, boolean force, boolean reverse)
    • applyBottomTableBorder

      protected abstract TableBorders applyBottomTableBorder(Rectangle occupiedBox, Rectangle layoutBox, boolean reverse)
    • applyLeftAndRightTableBorder

      protected abstract TableBorders applyLeftAndRightTableBorder(Rectangle layoutBox, boolean reverse)
    • skipFooter

      protected abstract TableBorders skipFooter(Border[] borders)
    • skipHeader

      protected abstract TableBorders skipHeader(Border[] borders)
    • collapseTableWithFooter

      protected abstract TableBorders collapseTableWithFooter(TableBorders footerBordersHandler, boolean hasContent)
    • collapseTableWithHeader

      protected abstract TableBorders collapseTableWithHeader(TableBorders headerBordersHandler, boolean updateBordersHandler)
    • fixHeaderOccupiedArea

      protected abstract TableBorders fixHeaderOccupiedArea(Rectangle occupiedBox, Rectangle layoutBox)
    • applyCellIndents

      protected abstract TableBorders applyCellIndents(Rectangle box, float topIndent, float rightIndent, float bottomIndent, float leftIndent, boolean reverse)
    • getVerticalBorder

      public abstract List<Border> getVerticalBorder(int index)
    • getHorizontalBorder

      public abstract List<Border> getHorizontalBorder(int index)
    • getCellVerticalAddition

      protected abstract float getCellVerticalAddition(float[] indents)
    • buildBordersArrays

      protected abstract void buildBordersArrays(CellRenderer cell, int row, int col)
    • updateBordersOnNewPage

      protected abstract TableBorders updateBordersOnNewPage(boolean isOriginalNonSplitRenderer, boolean isFooterOrHeader, TableRenderer currentRenderer, TableRenderer headerRenderer, TableRenderer footerRenderer)
    • processAllBordersAndEmptyRows

      protected TableBorders processAllBordersAndEmptyRows()
    • initializeBorders

      protected TableBorders initializeBorders()
    • setTableBoundingBorders

      protected TableBorders setTableBoundingBorders(Border[] borders)
    • setRowRange

      protected TableBorders setRowRange(int startRow, int finishRow)
    • setStartRow

      protected TableBorders setStartRow(int row)
    • setFinishRow

      protected TableBorders setFinishRow(int row)
    • getLeftBorderMaxWidth

      public float getLeftBorderMaxWidth()
    • getRightBorderMaxWidth

      public float getRightBorderMaxWidth()
    • getMaxTopWidth

      public float getMaxTopWidth()
    • getMaxBottomWidth

      public float getMaxBottomWidth()
    • getMaxRightWidth

      public float getMaxRightWidth()
    • getMaxLeftWidth

      public float getMaxLeftWidth()
    • getWidestVerticalBorder

      public Border getWidestVerticalBorder(int col)
    • getWidestVerticalBorder

      public Border getWidestVerticalBorder(int col, int start, int end)
    • getWidestHorizontalBorder

      public Border getWidestHorizontalBorder(int row)
    • getWidestHorizontalBorder

      public Border getWidestHorizontalBorder(int row, int start, int end)
    • getFirstHorizontalBorder

      public List<Border> getFirstHorizontalBorder()
    • getLastHorizontalBorder

      public List<Border> getLastHorizontalBorder()
    • getFirstVerticalBorder

      public List<Border> getFirstVerticalBorder()
    • getLastVerticalBorder

      public List<Border> getLastVerticalBorder()
    • getNumberOfColumns

      public int getNumberOfColumns()
    • getStartRow

      public int getStartRow()
    • getFinishRow

      public int getFinishRow()
    • getTableBoundingBorders

      public Border[] getTableBoundingBorders()
    • getCellBorderIndents

      public float[] getCellBorderIndents(int row, int col, int rowspan, int colspan)
    • removeRows

      private void removeRows(int startRow, int numOfRows)
    • updateRowspanForNextNonEmptyCellInEachColumn

      private void updateRowspanForNextNonEmptyCellInEachColumn(int numOfRowsToRemove, int row)