Package com.vladsch.flexmark.util.format
Class MarkdownTable
- java.lang.Object
-
- com.vladsch.flexmark.util.format.MarkdownTable
-
public class MarkdownTable extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMarkdownTable.IndexSpanOffset
-
Field Summary
Fields Modifier and Type Field Description static NumericSuffixPredicateALL_SUFFIXES_NO_SORTstatic NumericSuffixPredicateALL_SUFFIXES_SORTTableSectionbodyTableSectioncaptionstatic com.vladsch.flexmark.util.misc.CharPredicateCOLON_TRIM_CHARSTableSectionheaderstatic NumericSuffixPredicateNO_SUFFIXESTableFormatOptionsoptionsTableSectionseparator
-
Constructor Summary
Constructors Constructor Description MarkdownTable(@NotNull CharSequence tableChars, @Nullable com.vladsch.flexmark.util.data.DataHolder options)MarkdownTable(@NotNull CharSequence tableChars, @Nullable TableFormatOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddCell(@NotNull TableCell cell)booleanaddTrackedOffset(int offset)Deprecated.UseaddTrackedOffset(TrackedOffset)To create: TrackedOffset.track(offset)booleanaddTrackedOffset(int offset, boolean afterSpace)Deprecated.UseaddTrackedOffset(TrackedOffset)To create: TrackedOffset.track(offset, afterSpace)booleanaddTrackedOffset(int offset, boolean afterSpace, boolean afterDelete)Deprecated.UseaddTrackedOffset(TrackedOffset)To create: TrackedOffset.track(offset, afterSpace, afterDelete)booleanaddTrackedOffset(int offset, Character c, boolean afterDelete)Deprecated.UseaddTrackedOffset(TrackedOffset)To create: TrackedOffset.track(offset, c, afterDelete)booleanaddTrackedOffset(@NotNull TrackedOffset trackedOffset)static voidappendFormattedCaption(com.vladsch.flexmark.util.sequence.LineAppendable out, com.vladsch.flexmark.util.sequence.BasedSequence caption, TableFormatOptions options)voidappendTable(com.vladsch.flexmark.util.sequence.LineAppendable out)voiddeleteColumns(int column, int count)voiddeleteRows(int rowIndex, int count)voidfillMissingColumns()voidfillMissingColumns(Integer minColumn)voidfinalizeTable()voidforAllBodyRows(int startIndex, int count, TableRowManipulator manipulator)voidforAllBodyRows(int startIndex, TableRowManipulator manipulator)voidforAllBodyRows(TableRowManipulator manipulator)voidforAllContentRows(int startIndex, int count, TableRowManipulator manipulator)voidforAllContentRows(int startIndex, TableRowManipulator manipulator)voidforAllContentRows(TableRowManipulator manipulator)voidforAllHeaderRows(int startIndex, int count, TableRowManipulator manipulator)voidforAllHeaderRows(int startIndex, TableRowManipulator manipulator)voidforAllHeaderRows(TableRowManipulator manipulator)voidforAllRows(int startIndex, int count, TableRowManipulator manipulator)voidforAllRows(int startIndex, TableRowManipulator manipulator)voidforAllRows(TableRowManipulator manipulator)voidforAllSectionRows(int startIndex, int count, TableRowManipulator manipulator)voidforAllSectionRows(int startIndex, TableRowManipulator manipulator)voidforAllSectionRows(TableRowManipulator manipulator)static StringformattedCaption(com.vladsch.flexmark.util.sequence.BasedSequence caption, TableFormatOptions options)List<TableRow>getAllContentRows()intgetAllContentRowsCount()List<TableRow>getAllRows()intgetAllRowsCount()TableSectiongetAllRowsSection(int index)List<TableRow>getAllSectionRows()intgetAllSectionsRowsCount()intgetBodyRowCount()com.vladsch.flexmark.util.sequence.BasedSequencegetCaption()TableCellgetCaptionCell()intgetCaptionRowCount()TableCellOffsetInfogetCellOffsetInfo(int offset)CharSequencegetFormatTableIndentPrefix()booleangetHaveCaption()booleangetHeader()intgetHeadingRowCount()intgetMaxBodyColumns()intgetMaxColumns()intgetMaxColumnsWithoutColumns(boolean withSeparator, int... skipColumns)intgetMaxColumnsWithoutRows(boolean withSeparator, int... skipRows)intgetMaxHeadingColumns()intgetMaxSeparatorColumns()intgetMinColumns()intgetMinColumnsWithoutColumns(boolean withSeparator, int... skipColumns)intgetMinColumnsWithoutRows(boolean withSeparator, int... skipRows)intgetSeparatorRowCount()CharSequencegetTableChars()intgetTableStartOffset()@Nullable TrackedOffsetgetTrackedOffset(int offset)intgetTrackedOffsetIndex(int offset)@NotNull List<TrackedOffset>getTrackedOffsets()voidinsertColumns(int column, int count)voidinsertRows(int rowIndex, int count)booleanisAllRowsEmptyAt(int rowIndex)Test a row for having all empty columnsbooleanisAllRowsSeparator(int index)booleanisContentRowsEmptyAt(int rowIndex)Test a row for having all empty columnsbooleanisEmptyColumn(int column)Test all rows for having given column empty.booleanisSeparator()voidmoveColumn(int fromColumn, int toColumn)voidnextRow()voidnormalize()voidsetBody()voidsetCaption(CharSequence caption)voidsetCaptionCell(TableCell captionCell)voidsetCaptionWithMarkers(com.vladsch.flexmark.util.ast.Node tableCellNode, CharSequence captionOpen, CharSequence caption, CharSequence captionClose)voidsetFormatTableIndentPrefix(CharSequence formatTableIndentPrefix)voidsetHeader()voidsetHeader(boolean header)voidsetSeparator()voidsetSeparator(boolean separator)MarkdownTablesorted(ColumnSort[] columnSorts, int textCollectionFlags, @Nullable NumericSuffixPredicate numericSuffixTester)Sort tableStringtoString()MarkdownTabletransposed(int columnHeaders)Transpose table
-
-
-
Field Detail
-
header
public final TableSection header
-
separator
public final TableSection separator
-
body
public final TableSection body
-
caption
public final TableSection caption
-
options
public TableFormatOptions options
-
COLON_TRIM_CHARS
public static final com.vladsch.flexmark.util.misc.CharPredicate COLON_TRIM_CHARS
-
NO_SUFFIXES
public static final NumericSuffixPredicate NO_SUFFIXES
-
ALL_SUFFIXES_SORT
public static final NumericSuffixPredicate ALL_SUFFIXES_SORT
-
ALL_SUFFIXES_NO_SORT
public static final NumericSuffixPredicate ALL_SUFFIXES_NO_SORT
-
-
Constructor Detail
-
MarkdownTable
public MarkdownTable(@NotNull @NotNull CharSequence tableChars, @Nullable @Nullable com.vladsch.flexmark.util.data.DataHolder options)
-
MarkdownTable
public MarkdownTable(@NotNull @NotNull CharSequence tableChars, @Nullable @Nullable TableFormatOptions options)
-
-
Method Detail
-
getTableChars
public CharSequence getTableChars()
-
getCaptionCell
public TableCell getCaptionCell()
-
getFormatTableIndentPrefix
public CharSequence getFormatTableIndentPrefix()
-
setFormatTableIndentPrefix
public void setFormatTableIndentPrefix(CharSequence formatTableIndentPrefix)
-
setCaptionCell
public void setCaptionCell(TableCell captionCell)
-
getCaption
public com.vladsch.flexmark.util.sequence.BasedSequence getCaption()
-
setCaption
public void setCaption(CharSequence caption)
-
setCaptionWithMarkers
public void setCaptionWithMarkers(com.vladsch.flexmark.util.ast.Node tableCellNode, CharSequence captionOpen, CharSequence caption, 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 @NotNull List<TrackedOffset> getTrackedOffsets()
-
getTrackedOffset
@Nullable public @Nullable TrackedOffset getTrackedOffset(int offset)
-
getTrackedOffsetIndex
public int getTrackedOffsetIndex(int offset)
-
getTableStartOffset
public int getTableStartOffset()
-
getCellOffsetInfo
public TableCellOffsetInfo getCellOffsetInfo(int offset)
-
addTrackedOffset
@Deprecated public boolean addTrackedOffset(int offset)
Deprecated.UseaddTrackedOffset(TrackedOffset)To create: TrackedOffset.track(offset)
-
addTrackedOffset
@Deprecated public boolean addTrackedOffset(int offset, boolean afterSpace)
Deprecated.UseaddTrackedOffset(TrackedOffset)To create: TrackedOffset.track(offset, afterSpace)
-
addTrackedOffset
@Deprecated public boolean addTrackedOffset(int offset, boolean afterSpace, boolean afterDelete)
Deprecated.UseaddTrackedOffset(TrackedOffset)To create: TrackedOffset.track(offset, afterSpace, afterDelete)
-
addTrackedOffset
@Deprecated public boolean addTrackedOffset(int offset, Character c, boolean afterDelete)
Deprecated.UseaddTrackedOffset(TrackedOffset)To create: TrackedOffset.track(offset, c, afterDelete)
-
addTrackedOffset
public boolean addTrackedOffset(@NotNull @NotNull TrackedOffset trackedOffset)
-
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(TableRowManipulator manipulator)
-
forAllRows
public void forAllRows(int startIndex, TableRowManipulator manipulator)
-
forAllRows
public void forAllRows(int startIndex, int count, TableRowManipulator manipulator)
-
forAllContentRows
public void forAllContentRows(TableRowManipulator manipulator)
-
forAllContentRows
public void forAllContentRows(int startIndex, TableRowManipulator manipulator)
-
forAllContentRows
public void forAllContentRows(int startIndex, int count, TableRowManipulator manipulator)
-
forAllSectionRows
public void forAllSectionRows(TableRowManipulator manipulator)
-
forAllSectionRows
public void forAllSectionRows(int startIndex, TableRowManipulator manipulator)
-
forAllSectionRows
public void forAllSectionRows(int startIndex, int count, TableRowManipulator manipulator)
-
forAllHeaderRows
public void forAllHeaderRows(TableRowManipulator manipulator)
-
forAllHeaderRows
public void forAllHeaderRows(int startIndex, TableRowManipulator manipulator)
-
forAllHeaderRows
public void forAllHeaderRows(int startIndex, int count, TableRowManipulator manipulator)
-
forAllBodyRows
public void forAllBodyRows(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 @NotNull TableCell cell)- Parameters:
cell- cell to add
-
normalize
public void normalize()
-
finalizeTable
public void finalizeTable()
-
fillMissingColumns
public void fillMissingColumns()
-
fillMissingColumns
public void fillMissingColumns(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 @Nullable NumericSuffixPredicate numericSuffixTester)
Sort table- Parameters:
columnSorts- column sort informationtextCollectionFlags- collection flags to use for collecting cell textnumericSuffixTester- 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
-
appendTable
public void appendTable(com.vladsch.flexmark.util.sequence.LineAppendable out)
-
appendFormattedCaption
public static void appendFormattedCaption(com.vladsch.flexmark.util.sequence.LineAppendable out, com.vladsch.flexmark.util.sequence.BasedSequence caption, TableFormatOptions options)
-
formattedCaption
public static String formattedCaption(com.vladsch.flexmark.util.sequence.BasedSequence caption, TableFormatOptions options)
-
-