Class MarkdownTable


  • public class MarkdownTable
    extends java.lang.Object
    • Constructor Detail

      • MarkdownTable

        public MarkdownTable​(@NotNull
                             java.lang.CharSequence tableChars,
                             @Nullable
                             DataHolder options)
      • MarkdownTable

        public MarkdownTable​(@NotNull
                             java.lang.CharSequence tableChars,
                             @Nullable
                             TableFormatOptions options)
    • Method Detail

      • getTableChars

        public java.lang.CharSequence getTableChars()
      • getCaptionCell

        public TableCell getCaptionCell()
      • getFormatTableIndentPrefix

        public java.lang.CharSequence getFormatTableIndentPrefix()
      • setFormatTableIndentPrefix

        public void setFormatTableIndentPrefix​(java.lang.CharSequence formatTableIndentPrefix)
      • setCaptionCell

        public void setCaptionCell​(TableCell captionCell)
      • setCaption

        public void setCaption​(java.lang.CharSequence caption)
      • setCaptionWithMarkers

        public void setCaptionWithMarkers​(Node tableCellNode,
                                          java.lang.CharSequence captionOpen,
                                          java.lang.CharSequence caption,
                                          java.lang.CharSequence captionClose)
      • getHeadingRowCount

        public int getHeadingRowCount()
      • getSeparatorRowCount

        public int getSeparatorRowCount()
      • getBodyRowCount

        public int getBodyRowCount()
      • getCaptionRowCount

        public int getCaptionRowCount()
      • getMaxHeadingColumns

        public int getMaxHeadingColumns()
      • getMaxSeparatorColumns

        public int getMaxSeparatorColumns()
      • getMaxBodyColumns

        public int getMaxBodyColumns()
      • getHaveCaption

        public boolean getHaveCaption()
      • getMinColumns

        public int getMinColumns()
      • getMaxColumns

        public int getMaxColumns()
      • getMinColumnsWithoutColumns

        public int getMinColumnsWithoutColumns​(boolean withSeparator,
                                               int... skipColumns)
      • getMaxColumnsWithoutColumns

        public int getMaxColumnsWithoutColumns​(boolean withSeparator,
                                               int... skipColumns)
      • getMinColumnsWithoutRows

        public int getMinColumnsWithoutRows​(boolean withSeparator,
                                            int... skipRows)
      • getMaxColumnsWithoutRows

        public int getMaxColumnsWithoutRows​(boolean withSeparator,
                                            int... skipRows)
      • getTrackedOffsets

        @NotNull
        public java.util.List<TrackedOffset> getTrackedOffsets()
      • getTrackedOffset

        @Nullable
        public TrackedOffset getTrackedOffset​(int offset)
      • getTrackedOffsetIndex

        public int getTrackedOffsetIndex​(int offset)
      • getTableStartOffset

        public int getTableStartOffset()
      • addTrackedOffset

        @Deprecated
        public boolean addTrackedOffset​(int offset)
        Deprecated.
        Use addTrackedOffset(TrackedOffset) To create: TrackedOffset.track(offset)
      • addTrackedOffset

        @Deprecated
        public boolean addTrackedOffset​(int offset,
                                        boolean afterSpace)
        Deprecated.
        Use addTrackedOffset(TrackedOffset) To create: TrackedOffset.track(offset, afterSpace)
      • addTrackedOffset

        @Deprecated
        public boolean addTrackedOffset​(int offset,
                                        boolean afterSpace,
                                        boolean afterDelete)
        Deprecated.
        Use addTrackedOffset(TrackedOffset) To create: TrackedOffset.track(offset, afterSpace, afterDelete)
      • addTrackedOffset

        @Deprecated
        public boolean addTrackedOffset​(int offset,
                                        java.lang.Character c,
                                        boolean afterDelete)
        Deprecated.
        Use addTrackedOffset(TrackedOffset) To create: TrackedOffset.track(offset, c, afterDelete)
      • addTrackedOffset

        public boolean addTrackedOffset​(@NotNull
                                        TrackedOffset trackedOffset)
      • getAllRows

        public java.util.List<TableRow> getAllRows()
      • getAllContentRows

        public java.util.List<TableRow> getAllContentRows()
      • getAllSectionRows

        public java.util.List<TableRow> getAllSectionRows()
      • isAllRowsSeparator

        public boolean isAllRowsSeparator​(int index)
      • getAllRowsSection

        public TableSection getAllRowsSection​(int index)
      • getAllRowsCount

        public int getAllRowsCount()
      • getAllContentRowsCount

        public int getAllContentRowsCount()
      • getAllSectionsRowsCount

        public int getAllSectionsRowsCount()
      • forAllRows

        public void forAllRows​(int startIndex,
                               int count,
                               TableRowManipulator manipulator)
      • forAllContentRows

        public void forAllContentRows​(int startIndex,
                                      TableRowManipulator manipulator)
      • forAllContentRows

        public void forAllContentRows​(int startIndex,
                                      int count,
                                      TableRowManipulator manipulator)
      • forAllSectionRows

        public void forAllSectionRows​(int startIndex,
                                      TableRowManipulator manipulator)
      • forAllSectionRows

        public void forAllSectionRows​(int startIndex,
                                      int count,
                                      TableRowManipulator manipulator)
      • forAllHeaderRows

        public void forAllHeaderRows​(int startIndex,
                                     TableRowManipulator manipulator)
      • forAllHeaderRows

        public void forAllHeaderRows​(int startIndex,
                                     int count,
                                     TableRowManipulator manipulator)
      • forAllBodyRows

        public void forAllBodyRows​(int startIndex,
                                   TableRowManipulator manipulator)
      • forAllBodyRows

        public void forAllBodyRows​(int startIndex,
                                   int count,
                                   TableRowManipulator manipulator)
      • deleteRows

        public void deleteRows​(int rowIndex,
                               int count)
      • insertRows

        public void insertRows​(int rowIndex,
                               int count)
      • insertColumns

        public void insertColumns​(int column,
                                  int count)
      • deleteColumns

        public void deleteColumns​(int column,
                                  int count)
      • moveColumn

        public void moveColumn​(int fromColumn,
                               int toColumn)
      • isEmptyColumn

        public boolean isEmptyColumn​(int column)
        Test all rows for having given column empty. All columns after row's max column are empty
        Parameters:
        column - index in allRows list
        Returns:
        true if column is empty for all rows, separator row excluded
      • isAllRowsEmptyAt

        public boolean isAllRowsEmptyAt​(int rowIndex)
        Test a row for having all empty columns
        Parameters:
        rowIndex - index in allRows list
        Returns:
        true if row is empty or is a separator row
      • isContentRowsEmptyAt

        public boolean isContentRowsEmptyAt​(int rowIndex)
        Test a row for having all empty columns
        Parameters:
        rowIndex - index in allRows list
        Returns:
        true if row is empty or is a separator row
      • getHeader

        public boolean getHeader()
      • setHeader

        public void setHeader​(boolean header)
      • isSeparator

        public boolean isSeparator()
      • setSeparator

        public void setSeparator​(boolean separator)
      • setHeader

        public void setHeader()
      • setSeparator

        public void setSeparator()
      • setBody

        public void setBody()
      • nextRow

        public void nextRow()
      • addCell

        public void addCell​(@NotNull
                            TableCell cell)
        Parameters:
        cell - cell to add
      • normalize

        public void normalize()
      • finalizeTable

        public void finalizeTable()
      • fillMissingColumns

        public void fillMissingColumns()
      • fillMissingColumns

        public void fillMissingColumns​(java.lang.Integer minColumn)
      • transposed

        public MarkdownTable transposed​(int columnHeaders)
        Transpose table
        Parameters:
        columnHeaders - number of first columns to use as header rows, 0..maxColumns
        Returns:
        transposed table
      • sorted

        public MarkdownTable sorted​(ColumnSort[] columnSorts,
                                    int textCollectionFlags,
                                    @Nullable
                                    NumericSuffixPredicate numericSuffixTester)
        Sort table
        Parameters:
        columnSorts - column sort information
        textCollectionFlags - collection flags to use for collecting cell text
        numericSuffixTester - predicate to test non-numeric suffix of numeric column content, return true if suffix is acceptable, null will result in all suffixes being accepted
        Returns:
        sorted table
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object