org.refcodes.mixin.EscapeCodesStatusAccessor
, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusBuilder<TableBuilder>
, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusMutator
, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusProperty
, org.refcodes.mixin.PrintStreamAccessor
, org.refcodes.mixin.PrintStreamAccessor.PrintStreamBuilder<TableBuilder>
, org.refcodes.mixin.PrintStreamAccessor.PrintStreamMutator
, org.refcodes.mixin.PrintStreamAccessor.PrintStreamProperty
, org.refcodes.mixin.ResetEscapeCodeAccessor
, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeBuilder<TableBuilder>
, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeMutator
, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeProperty
, org.refcodes.mixin.RowWidthAccessor
, org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<TableBuilder>
, org.refcodes.mixin.RowWidthAccessor.RowWidthMutator
, org.refcodes.mixin.RowWidthAccessor.RowWidthProperty
, TablePrinter
public class TableBuilder extends Object implements TablePrinter, org.refcodes.mixin.RowWidthAccessor.RowWidthProperty, org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<TableBuilder>, org.refcodes.mixin.PrintStreamAccessor.PrintStreamProperty, org.refcodes.mixin.PrintStreamAccessor.PrintStreamBuilder<TableBuilder>, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeProperty, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeBuilder<TableBuilder>, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusProperty, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusBuilder<TableBuilder>
TableBuilder
has the Builder-Pattern applied to configure a text
(ASCII_HEADER_ASCII_BODY) table for later printing custom tables with a
title, the table rows and if required a table tail. As of the convention over
configuration paradigm, reasonable default values are pre-configured in order
to start right away; fine-tune your configuration with the provided builder
methods.org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusBuilder<B extends org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusBuilder<B>>, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusMutator, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusProperty
org.refcodes.mixin.PrintStreamAccessor.PrintStreamBuilder<B extends org.refcodes.mixin.PrintStreamAccessor.PrintStreamBuilder<?>>, org.refcodes.mixin.PrintStreamAccessor.PrintStreamMutator, org.refcodes.mixin.PrintStreamAccessor.PrintStreamProperty
org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeBuilder<B extends org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeBuilder<B>>, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeMutator, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeProperty
org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<B extends org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<?>>, org.refcodes.mixin.RowWidthAccessor.RowWidthMutator, org.refcodes.mixin.RowWidthAccessor.RowWidthProperty
Constructor | Description |
---|---|
TableBuilder() |
Instantiates a new table builder impl.
|
TableBuilder(int aRowWidth) |
Initializes the
TableBuilder with the given row width. |
Modifier and Type | Method | Description |
---|---|---|
TableBuilder |
addColumn() |
Adds a column and returns this
TableBuilder instance as of the
Builder-Pattern. |
PrintStream |
getPrintStream() |
|
String |
getResetEscapeCode() |
|
int |
getRowWidth() |
|
TableStatus |
getTableStatus() |
Retrieves the
TablePrinter (TableBuilder ) status. |
boolean |
isEscapeCodesEnabled() |
|
void |
printHeader(String... aColumns) |
Prints the table's header to the
PrintStream configured for this
PrintWriter with the content of the provided columns. |
void |
printHeaderBegin() |
Prints out a header begin to the
PrintStream configured for this
PrintWriter , for convenience reasons, this is being encapsulated
by the TablePrinter.printHeader(String...) method. |
void |
printHeaderContinue(String... aColumns) |
Continues to print out a begun header to the
PrintStream
configured for this PrintWriter , for convenience reasons, this is
being encapsulated by the TablePrinter.printHeader(String...) method. |
void |
printHeaderEnd() |
Prints out a header end to the
PrintStream configured for this
PrintWriter , for convenience reasons, this is being encapsulated
by the TablePrinter.printHeader(String...) method. |
void |
printHeaderEnd(TableBuilder aTablePrinter) |
Ends the headers of the provided
TableBuilder for this table
printer to continue to the PrintStream configured for this
PrintWriter ; different header widths and column widths are taken
care of, so it is a pleasure to mix different TableBuilder s,
especially when empty columns may result in better using another column
layout making better use of the available width. |
void |
printRow(String... aColumns) |
Prints the table's (next) row to the
PrintStream configured for
this PrintWriter with the content of the provided columns. |
void |
printRowBegin() |
Prints out a row begin to the
PrintStream configured for this
PrintWriter , for convenience reasons, this is being encapsulated
by the TablePrinter.printRow(String...) method. |
void |
printRowContinue(String... aColumns) |
Continues a print out begun row to the
PrintStream configured for
this PrintWriter , for convenience reasons, this is being
encapsulated by the TablePrinter.printRow(String...) method. |
void |
printRowEnd(TableBuilder aTablePrinter) |
Ends the rows of the provided
TableBuilder for this table printer
to continue to the PrintStream configured for this
PrintWriter ; different row widths and column widths are taken
care of, so it is a pleasure to mix different TableBuilder s,
especially when empty columns may result in better using another column
layout making better use of the available width. |
void |
printTail() |
Finishes off the table by printing its closing to the
PrintStream
configured for this PrintWriter . |
void |
setEscapeCodesEnabled(boolean isEscCodesEnabled) |
|
void |
setPrintStream(PrintStream aPrintStream) |
|
void |
setResetEscapeCode(String aResetEscCode) |
|
void |
setRowWidth(int aRowWidth) |
In case a value of -1 is provided, then the width is calculated
dynamically from the individual columns' widths added together including
any borders being specified.
|
TableBuilder |
setTableStatus(TableStatus aTableStatus) |
Set the
TablePrinter (TableBuilder ) status. |
static String[][] |
toColumns(String[][] aColumns,
VertAlignTextMode aTextBlockMode) |
Creates an array of
String arrays where all the arrays are of the
same length and where the arrays are all aligned as specified by the
passed VertAlignTextMode . |
int[] |
toColumnWidths() |
Returns the currently calculated or configured column widths.
|
protected static int[] |
toColumnWidths(int aTotalWidth,
ColumnWidthMetrics... aColumnWidths) |
Calculates the columns widths in "number of chars" according to the
provided
ColumnWidthMetricsImpl instances in relation to the
provided total (available) width; the provided column widths can be a mix
of "number of char" widths (ColumnWidthType.ABSOLUTE ) and percent
(%) widths (ColumnWidthType.RELATIVE ). |
String |
toHeader(String... aColumns) |
Prints the table's header with the content of the provided columns.
|
String |
toHeaderBegin() |
Begins a header, for convenience reasons, this is being encapsulated by
the
TablePrinter.toHeader(String...) method. |
String |
toHeaderContinue(String... aColumns) |
Continues a begun header, for convenience reasons, this is being
encapsulated by the
TablePrinter.toHeader(String...) method. |
String |
toHeaderEnd() |
Ends a header, for convenience reasons, this is being encapsulated by the
TablePrinter.toHeader(String...) method. |
String |
toHeaderEnd(TableBuilder aTablePrinter) |
Ends the headers of the provided
TableBuilder for this table
printer to continue; different header widths and column widths are taken
care of, so it is a pleasure to mix different TableBuilder s,
especially when empty columns may result in better using another column
layout making better use of the available width. |
String |
toRow(String... aColumns) |
Prints the table's (next) row with the content of the provided columns.
|
String |
toRowBegin() |
Begins a row, for convenience reasons, this is being encapsulated by the
TablePrinter.toRow(String...) method. |
String |
toRowContinue(String... aColumns) |
Continues a begun row, for convenience reasons, this is being
encapsulated by the
TablePrinter.toRow(String...) method. |
String |
toRowEnd(TableBuilder aTablePrinter) |
Ends the rows of the provided
TableBuilder for this table printer
to continue; different row widths and column widths are taken care of, so
it is a pleasure to mix different TableBuilder s, especially when
empty columns may result in better using another column layout making
better use of the available width. |
String |
toTail() |
Finishes off the table by closing it.
|
TableBuilder |
withBorderEscapeCode(String aEscapeCode) |
Sets an overall ANSI Escape-Code for the borders and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withColumnFormatMetrics(ColumnFormatMetrics aColumnFormatMetrics) |
Sets the current column's (the last added one with the
addColumn() method) format (including the width) and returns
this TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withColumnHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode) |
Sets the column's alignment mode for the header and the rows and returns
this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withColumnMoreTextMode(MoreTextMode aMoreTextMode) |
Sets the column's "more" mode for the header and the rows and returns
this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withColumnSplitTextMode(SplitTextMode aSplitTextMode) |
Sets the column's line split mode for the header and the rows and returns
this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withColumnTextFormatMode(TextFormatMode aTextFormatMode) |
Sets the column's format mode for the header and the rows and returns
this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withColumnWidth(int aWidth) |
Sets the current column's (the last added one with the
addColumn() method) absolute width () @link
ColumnWidthType#ABSOLUTE) and returns this TableBuilder instance
as of the Builder-Pattern. |
TableBuilder |
withColumnWidth(int aWidth,
ColumnWidthType aWidthType) |
Sets the current column's (the last added one with the
addColumn() method) width and returns this TableBuilder
instance as of the Builder-Pattern. |
TableBuilder |
withColumnWidthMetrics(ColumnWidthMetrics aColumnWidthMetrics) |
Sets the current column's (the last added one with the
addColumn() method) width and returns this TableBuilder
instance as of the Builder-Pattern. |
TableBuilder |
withDividerLine(boolean hasDividerLine) |
Sets whether to print the divider line between the columns of a row and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withEscapeCode(String aEscapeCode) |
Sets an overall ANSI Escape-Code for the header, the rows as well as the
borders; and returns this
TableBuilder instance as of the builder
pattern. |
TableBuilder |
withEscapeCodesEnabled(boolean isEscCodesEnabled) |
Sets an overall ANSI Escape-Code support for the
TableBuilder , for the rows as well as the borders; and returns
this TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderColumnEscapeCode(String aEscapeCode) |
Sets the column's header ANSI Escape-Code for the current header column
and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderColumnHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode) |
Sets the column's header alignment mode for the header and the rows and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderColumnMoreTextMode(MoreTextMode aMoreTextMode) |
Sets the column's header "more" mode for the header and the rows and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderColumnSplitTextMode(SplitTextMode aSplitTextMode) |
Sets the column's header line split mode for the header and the rows and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderColumnTextFormatMode(TextFormatMode aTextFormatMode) |
Sets the column's header format mode for the header and the rows and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderEscapeCode(String aEscapeCode) |
Sets an overall ANSI Escape-Code for the header and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode) |
Sets an overall alignment mode for the header and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderMoreTextMode(MoreTextMode aMoreTextMode) |
Sets an overall "more" mode for the header and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderSplitTextMode(SplitTextMode aSplitTextMode) |
Sets an overall line split mode for the header and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHeaderTextFormatMode(TextFormatMode aTextFormatMode) |
Sets an overall format mode for the header and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode) |
Sets an overall alignment mode for the header and the rows and returns
this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withLeftBorder(boolean hasLeftBorder) |
Sets whether to print the left border and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withLineBreak(String aLineBreak) |
Sets the required line break and returns this
TableBuilder
instance as of the Builder-Pattern. |
TableBuilder |
withMoreTextMode(MoreTextMode aMoreTextMode) |
Sets an overall "more" mode for the header and the rows and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withPrintStream(PrintStream aPrintStream) |
Sets the print stream to be used when using the print methods of the
TableBuilder and returns this TableBuilder instance as of
the Builder-Pattern. |
TableBuilder |
withResetEscapeCode(String aEscapeCode) |
Sets the ANSI reset Escape-Code for this
TableBuilder instance as
of the Builder-Pattern. |
TableBuilder |
withRightBorder(boolean hasRightBorder) |
Sets whether to print the right border and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowColumnEscapeCode(String aEscapeCode) |
Sets the column's header ANSI Escape-Code for the current row column and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowColumnHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode) |
Sets the column's header alignment mode for the header and the rows and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowColumnMoreTextMode(MoreTextMode aMoreTextMode) |
Sets the column's header "more" mode for the header and the rows and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowColumnSplitTextMode(SplitTextMode aSplitTextMode) |
Sets the column's header line split mode for the header and the rows and
returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowColumnTextFormatMode(TextFormatMode aTextFormatMode) |
Sets the column's row format mode for the header and the rows and returns
this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowEscapeCode(String aEscapeCode) |
Sets an overall ANSI Escape-Code for the rows and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode) |
Sets an overall alignment mode for the rows and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowMoreTextMode(MoreTextMode aMoreTextMode) |
Sets an overall "more" mode for the rows and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowSplitTextMode(SplitTextMode aSplitTextMode) |
Sets an overall line split mode for the rows and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowTextFormatMode(TextFormatMode aTextFormatMode) |
Sets an overall format mode for the rows and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withRowWidth(int aRowWidth) |
In case a value of -1 is provided, then the width is calculated
dynamically from the individual columns' widths added together including
any borders being specified.
|
TableBuilder |
withSplitTextMode(SplitTextMode aSplitTextMode) |
Sets an overall line split mode for the header and the rows and returns
this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withTableStyle(TableStyle aTableStyle) |
Sets the
TableStyle to use when printing and returns this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withTextColumnEscapeCode(String aEscapeCode) |
Sets the column's ANSI Escape-Code for the current (header and row)
column and returns this
TableBuilder instance as of the builder
pattern. |
TableBuilder |
withTextEscapeCode(String aEscapeCode) |
Sets an overall ANSI Escape-Code for the header and the rows and returns
this
TableBuilder instance as of the Builder-Pattern. |
TableBuilder |
withTextFormatMode(TextFormatMode aTextFormatMode) |
Sets an overall format mode for the header and the rows and returns this
TableBuilder instance as of the Builder-Pattern. |
letEscapeCodesEnabled
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
letPrintStream
letResetEscapeCode
printHeader, printHeaderComplete, printHeaderContinue, printRow, printRowContinue, toHeader, toHeaderComplete, toHeaderContinue, toRow, toRowContinue
public TableBuilder()
public TableBuilder(int aRowWidth)
TableBuilder
with the given row width.aRowWidth
- The row width with which to initialize the
TableBuilder
.public static String[][] toColumns(String[][] aColumns, VertAlignTextMode aTextBlockMode)
String
arrays where all the arrays are of the
same length and where the arrays are all aligned as specified by the
passed VertAlignTextMode
.aColumns
- An array of String
arrays to be equalized.aTextBlockMode
- The VertAlignTextMode
to be used when
equalizing the columns.protected static int[] toColumnWidths(int aTotalWidth, ColumnWidthMetrics... aColumnWidths)
ColumnWidthMetricsImpl
instances in relation to the
provided total (available) width; the provided column widths can be a mix
of "number of char" widths (ColumnWidthType.ABSOLUTE
) and percent
(%) widths (ColumnWidthType.RELATIVE
). When the width is being
relative, then the total sum of all of relative widths represents 100%.
The resulting column widths add up to the total width. The column widths
for the ColumnWidthMetricsImpl
instances being specified in
percent (ColumnWidthType.RELATIVE
) are calculated from the
remainder width after all "number of char" ColumnWidthMetricsImpl
instances ( ColumnWidthType.ABSOLUTE
) have been subtracted from
the provided total width. *aTotalWidth
- The total available width in number of chars.aColumnWidths
- The ColumnWidthMetricsImpl
instances
providing width specifications either in percent (%) or in "number
of chars".ColumnWidthMetricsImpl
instances in the order them
ColumnWidthMetricsImpl
instances have been passed; the
array species the actual column widths in "number of chars",
adding up to the total width.public TableBuilder addColumn()
TableBuilder
instance as of the
Builder-Pattern.TableBuilder
instance to continue configuration.public PrintStream getPrintStream()
getPrintStream
in interface org.refcodes.mixin.PrintStreamAccessor
public String getResetEscapeCode()
getResetEscapeCode
in interface org.refcodes.mixin.ResetEscapeCodeAccessor
public int getRowWidth()
getRowWidth
in interface org.refcodes.mixin.RowWidthAccessor
public TableStatus getTableStatus()
TablePrinter
(TableBuilder
) status. The
TableStatus
is required by a TablePrinter
(
TableBuilder
) to determine whether to do additional table
decoration for a print operation or to fail that operation as of an
illegal state exception. As far as possible an illegal state exception is
to be tried to be prevented by decorating the table automatically by an
operation as of the current TableStatus
.getTableStatus
in interface TablePrinter
TableStatus
.public boolean isEscapeCodesEnabled()
isEscapeCodesEnabled
in interface org.refcodes.mixin.EscapeCodesStatusAccessor
public void setPrintStream(PrintStream aPrintStream)
setPrintStream
in interface org.refcodes.mixin.PrintStreamAccessor.PrintStreamMutator
public void setResetEscapeCode(String aResetEscCode)
setResetEscapeCode
in interface org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeMutator
public void setRowWidth(int aRowWidth)
setRowWidth
in interface org.refcodes.mixin.RowWidthAccessor.RowWidthMutator
public TableBuilder setTableStatus(TableStatus aTableStatus)
TablePrinter
(TableBuilder
) status. The
TableStatus
is required by a TablePrinter
(
TableBuilder
) to determine whether to do additional table
decoration for a print operation or to fail that operation as of an
illegal state exception. As far as possible an illegal state exception is
to be tried to be prevented by decorating the table automatically by an
operation as of the current TableStatus
. Setting the status
manually, you can use differently configured TablePrinter
interfaces to print their lines according to the status of a previous
TablePrinter
.setTableStatus
in interface TablePrinter
aTableStatus
- The table's current TableStatus
to be set.public int[] toColumnWidths()
public String toHeader(String... aColumns)
toHeader
in interface TablePrinter
aColumns
- The columns to be used in the table's header.String
including line breaks as it most
probably will consist of more than one line.public String toHeaderBegin()
TablePrinter.toHeader(String...)
method. Use this method in case you need
more control on the header construction than TablePrinter.toHeader(String...)
can provide you.toHeaderBegin
in interface TablePrinter
String
including the line breaks.public String toHeaderContinue(String... aColumns)
TablePrinter.toHeader(String...)
method. Use this method
in case you need more control on the header construction than
TablePrinter.toHeader(String...)
can provide you.toHeaderContinue
in interface TablePrinter
aColumns
- the columnsString
including the line
breaks.public String toHeaderEnd()
TablePrinter.toHeader(String...)
method. Use this method in case you need
more control on the header construction than TablePrinter.toHeader(String...)
can provide you.toHeaderEnd
in interface TablePrinter
String
including the line breaks.public String toHeaderEnd(TableBuilder aTablePrinter)
TableBuilder
for this table
printer to continue; different header widths and column widths are taken
care of, so it is a pleasure to mix different TableBuilder
s,
especially when empty columns may result in better using another column
layout making better use of the available width.toHeaderEnd
in interface TablePrinter
aTablePrinter
- The TableBuilder
to which to append this
TableBuilder
's headers.TableBuilder
's layout with this (bottom)
TableBuilder
's layout.public String toRow(String... aColumns)
toRow
in interface TablePrinter
aColumns
- The columns to be used in the (next) table's row.String
including line breaks as it most probably
will consist of more than one line.public String toRowBegin()
TablePrinter.toRow(String...)
method. Use this method in case you need more
control on the row construction than TablePrinter.toRow(String...)
can
provide you.toRowBegin
in interface TablePrinter
String
including the line breaks.public String toRowContinue(String... aColumns)
TablePrinter.toRow(String...)
method. Use this method in
case you need more control on the header construction than
TablePrinter.toRow(String...)
can provide you.toRowContinue
in interface TablePrinter
aColumns
- the columnsString
including the line breaks.public String toRowEnd(TableBuilder aTablePrinter)
TableBuilder
for this table printer
to continue; different row widths and column widths are taken care of, so
it is a pleasure to mix different TableBuilder
s, especially when
empty columns may result in better using another column layout making
better use of the available width.toRowEnd
in interface TablePrinter
aTablePrinter
- The TableBuilder
to which to append this
TableBuilder
's rows.TableBuilder
's
layout with this (bottom) TableBuilder
's layout.public String toTail()
toTail
in interface TablePrinter
public TableBuilder withBorderEscapeCode(String aEscapeCode)
TableBuilder
instance as of the Builder-Pattern. In case an ANSI
Escape-Codes is set, then the ANSI Escape-Code is prepended and an ANSI
Reset-Code is appended to the according text being printed. The latest
ANSI Escape-Code set wins.aEscapeCode
- The String
to be used for ANSI escaping.TableBuilder
instance to continue configuration.public TableBuilder withColumnFormatMetrics(ColumnFormatMetrics aColumnFormatMetrics) throws IllegalStateException
addColumn()
method) format (including the width) and returns
this TableBuilder
instance as of the Builder-Pattern.aColumnFormatMetrics
- The width and the ColumnWidthType
(
ColumnWidthType.RELATIVE
or
ColumnWidthType.ABSOLUTE
) of the column as well as the
format.TableBuilder
instance to continue configuration.IllegalStateException
- in case there is none column already added.public TableBuilder withColumnHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
alignment mode being set wins.aHorizAlignTextMode
- The HorizAlignTextMode
to be used for
aligning the text.TableBuilder
instance to continue configuration.public TableBuilder withColumnMoreTextMode(MoreTextMode aMoreTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
"more" mode being set wins.aMoreTextMode
- The MoreTextMode
to be used for aligning the
text.TableBuilder
instance to continue configuration.public TableBuilder withColumnSplitTextMode(SplitTextMode aSplitTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
line split mode being set wins.aSplitTextMode
- The SplitTextMode
to be used for aligning
the text.TableBuilder
instance to continue configuration.public TableBuilder withColumnTextFormatMode(TextFormatMode aTextFormatMode)
TableBuilder
instance as of the Builder-Pattern. The latest
format mode being set wins.aTextFormatMode
- The TextFormatMode
to be used for
formating the text.TableBuilder
instance to continue configuration.public TableBuilder withColumnWidth(int aWidth) throws IllegalStateException
addColumn()
method) absolute width () @link
ColumnWidthType#ABSOLUTE) and returns this TableBuilder
instance
as of the Builder-Pattern. Same as calling "withColumnWidth(int,
ColumnWidthType.ABSOLUTE)}"aWidth
- The width for the column.TableBuilder
instance to continue configuration.IllegalStateException
- in case there is none column already added.public TableBuilder withColumnWidth(int aWidth, ColumnWidthType aWidthType) throws IllegalStateException
addColumn()
method) width and returns this TableBuilder
instance as of the Builder-Pattern.aWidth
- The width for the column.aWidthType
- The type the width is of, e.g.
ColumnWidthType.RELATIVE
or
ColumnWidthType.ABSOLUTE
TableBuilder
instance to continue configuration.IllegalStateException
- in case there is none column already added.public TableBuilder withColumnWidthMetrics(ColumnWidthMetrics aColumnWidthMetrics) throws IllegalStateException
addColumn()
method) width and returns this TableBuilder
instance as of the Builder-Pattern.aColumnWidthMetrics
- The width and the ColumnWidthType
(
ColumnWidthType.RELATIVE
or
ColumnWidthType.ABSOLUTE
) of the column.TableBuilder
instance to continue configuration.IllegalStateException
- in case there is none column already added.public TableBuilder withEscapeCode(String aEscapeCode)
TableBuilder
instance as of the builder
pattern. In case an ANSI Escape-Codes is set, then an ANSI Reset-Code is
prepended to the according text being printed. The latest ANSI escape
code set wins.aEscapeCode
- The String
to be used for ANSI escaping.TableBuilder
instance to continue configuration.public void setEscapeCodesEnabled(boolean isEscCodesEnabled)
setEscapeCodesEnabled
in interface org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusMutator
public TableBuilder withHeaderColumnEscapeCode(String aEscapeCode)
TableBuilder
instance as of the Builder-Pattern.
The latest ANSI Escape-Code being set wins.aEscapeCode
- The String
to be used for ANSI escaping.TableBuilder
instance to continue configuration.public TableBuilder withHeaderColumnHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)
TableBuilder
instance as of the Builder-Pattern. The
latest alignment mode being set wins.aHorizAlignTextMode
- The HorizAlignTextMode
to be used for
aligning the text.TableBuilder
instance to continue configuration.public TableBuilder withHeaderColumnMoreTextMode(MoreTextMode aMoreTextMode)
TableBuilder
instance as of the Builder-Pattern. The
latest "more" mode being set wins.aMoreTextMode
- The MoreTextMode
to be used for aligning the
text.TableBuilder
instance to continue configuration.public TableBuilder withHeaderColumnSplitTextMode(SplitTextMode aSplitTextMode)
TableBuilder
instance as of the Builder-Pattern. The
latest line split mode being set wins.aSplitTextMode
- The SplitTextMode
to be used for aligning
the text.TableBuilder
instance to continue configuration.public TableBuilder withHeaderColumnTextFormatMode(TextFormatMode aTextFormatMode)
TableBuilder
instance as of the Builder-Pattern. The
latest format mode being set wins.aTextFormatMode
- The TextFormatMode
to be used for
formating the text.TableBuilder
instance to continue configuration.public TableBuilder withHeaderEscapeCode(String aEscapeCode)
TableBuilder
instance as of the Builder-Pattern. The latest ANSI
Escape-Code being set wins.aEscapeCode
- The String
to be used for ANSI escaping.TableBuilder
instance to continue configuration.public TableBuilder withHeaderHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
alignment mode being set wins.aHorizAlignTextMode
- The HorizAlignTextMode
to be used for
aligning the text.TableBuilder
instance to continue configuration.public TableBuilder withHeaderMoreTextMode(MoreTextMode aMoreTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
"more" mode being set wins.aMoreTextMode
- The MoreTextMode
to be used for aligning the
text.TableBuilder
instance to continue configuration.public TableBuilder withHeaderSplitTextMode(SplitTextMode aSplitTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest line
split mode being set wins.aSplitTextMode
- The SplitTextMode
to be used for aligning
the text.TableBuilder
instance to continue configuration.public TableBuilder withHeaderTextFormatMode(TextFormatMode aTextFormatMode)
TableBuilder
instance as of the Builder-Pattern. The latest
format mode being set wins.aTextFormatMode
- The TextFormatMode
to be used for
formating the text.TableBuilder
instance to continue configuration.public TableBuilder withHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
alignment mode being set wins.aHorizAlignTextMode
- The HorizAlignTextMode
to be used for
aligning the text.TableBuilder
instance to continue configuration.public TableBuilder withLeftBorder(boolean hasLeftBorder)
TableBuilder
instance as of the Builder-Pattern.hasLeftBorder
- True in case a left border is to be printed, elser
falseTableBuilder
instance to continue configuration.public TableBuilder withLineBreak(String aLineBreak)
TableBuilder
instance as of the Builder-Pattern.aLineBreak
- The line break character to use, by default the
platform specific one is used.TableBuilder
instance to continue configuration.public TableBuilder withMoreTextMode(MoreTextMode aMoreTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
"more" mode being set wins.aMoreTextMode
- The MoreTextMode
to be used for aligning the
text.TableBuilder
instance to continue configuration.public TableBuilder withResetEscapeCode(String aEscapeCode)
TableBuilder
instance as
of the Builder-Pattern. In case an ANSI Escape-Codes is set, then this
ANSI Reset-Code is prepended to the according text being printed.withResetEscapeCode
in interface org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeBuilder<TableBuilder>
aEscapeCode
- The String
to be used for resetting ANSI
escaping.TableBuilder
instance to continue configuration.public TableBuilder withRightBorder(boolean hasRightBorder)
TableBuilder
instance as of the Builder-Pattern.hasRightBorder
- True in case a right border is to be printed, elser
falseTableBuilder
instance to continue configuration.public TableBuilder withDividerLine(boolean hasDividerLine)
TableBuilder
instance as of the Builder-Pattern.hasDividerLine
- True in case the divider lines are to be printed,
elser falseTableBuilder
instance to continue configuration.public TableBuilder withRowColumnEscapeCode(String aEscapeCode)
TableBuilder
instance as of the Builder-Pattern. The
latest ANSI Escape-Code being set wins.aEscapeCode
- The String
to be used for ANSI escaping.TableBuilder
instance to continue configuration.public TableBuilder withRowColumnHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)
TableBuilder
instance as of the Builder-Pattern. The
latest alignment mode being set wins.aHorizAlignTextMode
- The HorizAlignTextMode
to be used for
aligning the text.TableBuilder
instance to continue configuration.public TableBuilder withRowColumnMoreTextMode(MoreTextMode aMoreTextMode)
TableBuilder
instance as of the Builder-Pattern. The
latest "more" mode being set wins.aMoreTextMode
- The MoreTextMode
to be used for aligning the
text.TableBuilder
instance to continue configuration.public TableBuilder withRowColumnSplitTextMode(SplitTextMode aSplitTextMode)
TableBuilder
instance as of the Builder-Pattern. The
latest line split mode being set wins.aSplitTextMode
- The SplitTextMode
to be used for aligning
the text.TableBuilder
instance to continue configuration.public TableBuilder withRowColumnTextFormatMode(TextFormatMode aTextFormatMode)
TableBuilder
instance as of the Builder-Pattern. The latest
format mode being set wins.aTextFormatMode
- The TextFormatMode
to be used for
formating the text.TableBuilder
instance to continue configuration.public TableBuilder withRowEscapeCode(String aEscapeCode)
TableBuilder
instance as of the Builder-Pattern. The latest ANSI
Escape-Code being set wins.aEscapeCode
- The String
to be used for ANSI escaping.TableBuilder
instance to continue configuration.public TableBuilder withRowHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
alignment mode being set wins.aHorizAlignTextMode
- The HorizAlignTextMode
to be used for
aligning the text.TableBuilder
instance to continue configuration.public TableBuilder withRowMoreTextMode(MoreTextMode aMoreTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
"more" mode being set wins.aMoreTextMode
- The MoreTextMode
to be used for aligning the
text.TableBuilder
instance to continue configuration.public TableBuilder withRowSplitTextMode(SplitTextMode aSplitTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest line
split mode being set wins.aSplitTextMode
- The SplitTextMode
to be used for aligning
the text.TableBuilder
instance to continue configuration.public TableBuilder withRowTextFormatMode(TextFormatMode aTextFormatMode)
TableBuilder
instance as of the Builder-Pattern. The latest
format mode being set wins.aTextFormatMode
- The TextFormatMode
to be used for
formating the text.TableBuilder
instance to continue configuration.public TableBuilder withRowWidth(int aRowWidth)
withRowWidth
in interface org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<TableBuilder>
public TableBuilder withSplitTextMode(SplitTextMode aSplitTextMode)
TableBuilder
instance as of the Builder-Pattern. The latest
line split mode being set wins.aSplitTextMode
- The SplitTextMode
to be used for aligning
the text.TableBuilder
instance to continue configuration.public TableBuilder withTableStyle(TableStyle aTableStyle)
TableStyle
to use when printing and returns this
TableBuilder
instance as of the Builder-Pattern.aTableStyle
- The TableStyle
defining the tables style to be
used when printing the table borders.TableBuilder
instance to continue configuration.public TableBuilder withTextColumnEscapeCode(String aEscapeCode)
TableBuilder
instance as of the builder
pattern. The latest ANSI Escape-Code being set wins.aEscapeCode
- The String
to be used for ANSI escaping.TableBuilder
instance to continue configuration.public TableBuilder withTextEscapeCode(String aEscapeCode)
TableBuilder
instance as of the Builder-Pattern. In case an
ANSI Escape-Codes is set, then the ANSI Escape-Code is prepended and an
ANSI Reset-Code is appended to the according text being printed. The
latest ANSI Escape-Code set wins.aEscapeCode
- The String
to be used for ANSI escaping.TableBuilder
instance to continue configuration.public TableBuilder withTextFormatMode(TextFormatMode aTextFormatMode)
TableBuilder
instance as of the Builder-Pattern. The latest
format mode being set wins.aTextFormatMode
- The TextFormatMode
to be used for
formating the text.TableBuilder
instance to continue configuration.public void printHeader(String... aColumns)
PrintStream
configured for this
PrintWriter
with the content of the provided columns.printHeader
in interface TablePrinter
aColumns
- The columns to be used in the table's header.public void printHeaderBegin()
PrintStream
configured for this
PrintWriter
, for convenience reasons, this is being encapsulated
by the TablePrinter.printHeader(String...)
method. Use this method in case
you need more control on the header construction than
TablePrinter.printHeader(String...)
can provide you.printHeaderBegin
in interface TablePrinter
public void printHeaderContinue(String... aColumns)
PrintStream
configured for this PrintWriter
, for convenience reasons, this is
being encapsulated by the TablePrinter.printHeader(String...)
method. Use
this method in case you need more control on the header construction than
TablePrinter.printHeader(String...)
can provide you.printHeaderContinue
in interface TablePrinter
aColumns
- the columnspublic void printHeaderEnd()
PrintStream
configured for this
PrintWriter
, for convenience reasons, this is being encapsulated
by the TablePrinter.printHeader(String...)
method. Use this method in case
you need more control on the header construction than
TablePrinter.printHeader(String...)
can provide you.printHeaderEnd
in interface TablePrinter
public void printHeaderEnd(TableBuilder aTablePrinter)
TableBuilder
for this table
printer to continue to the PrintStream
configured for this
PrintWriter
; different header widths and column widths are taken
care of, so it is a pleasure to mix different TableBuilder
s,
especially when empty columns may result in better using another column
layout making better use of the available width.printHeaderEnd
in interface TablePrinter
aTablePrinter
- The TableBuilder
to which to append this
TableBuilder
's headers.public void printRow(String... aColumns)
PrintStream
configured for
this PrintWriter
with the content of the provided columns. Call
this method for each row to print out.printRow
in interface TablePrinter
aColumns
- The columns to be used in the (next) table's row.public void printRowBegin()
PrintStream
configured for this
PrintWriter
, for convenience reasons, this is being encapsulated
by the TablePrinter.printRow(String...)
method. Use this method in case you
need more control on the row construction than
TablePrinter.printRow(String...)
can provide you.printRowBegin
in interface TablePrinter
public void printRowContinue(String... aColumns)
PrintStream
configured for
this PrintWriter
, for convenience reasons, this is being
encapsulated by the TablePrinter.printRow(String...)
method. Use this method
in case you need more control on the header construction than
TablePrinter.printRow(String...)
can provide you.printRowContinue
in interface TablePrinter
aColumns
- the columnspublic void printRowEnd(TableBuilder aTablePrinter)
TableBuilder
for this table printer
to continue to the PrintStream
configured for this
PrintWriter
; different row widths and column widths are taken
care of, so it is a pleasure to mix different TableBuilder
s,
especially when empty columns may result in better using another column
layout making better use of the available width.printRowEnd
in interface TablePrinter
aTablePrinter
- The TableBuilder
to which to append this
TableBuilder
's rows.public void printTail()
PrintStream
configured for this PrintWriter
.printTail
in interface TablePrinter
public TableBuilder withEscapeCodesEnabled(boolean isEscCodesEnabled)
TableBuilder
, for the rows as well as the borders; and returns
this TableBuilder
instance as of the Builder-Pattern. In case of
being set to Boolean.FALSE
, then an ANSI support is disabled
altogether, else it is enabled (again, if already configured). The latest
setting wins.withEscapeCodesEnabled
in interface org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusBuilder<TableBuilder>
isEscCodesEnabled
- True to enable, false to disable Escape-Code
support altogether.TableBuilder
instance to continue configuration.public TableBuilder withPrintStream(PrintStream aPrintStream)
TableBuilder
and returns this TableBuilder
instance as of
the Builder-Pattern.withPrintStream
in interface org.refcodes.mixin.PrintStreamAccessor.PrintStreamBuilder<TableBuilder>
aPrintStream
- The PrintStream
to be used when printing out
the table.TableBuilder
instance to continue configuration.Copyright © 2021. All rights reserved.