- All Known Implementing Classes:
TableBuilder
public interface TablePrinter
In comparison to the
TableBuilder
, the TablePrinter
just
provides the methods required to print a table. This is most useful when you
want to create a TablePrinter
composite (which encapsulates many
TablePrinter
instances) which only requires the printing methods as
the builder methods would make no sense: Think of a TablePrinter
which is used for logging text with a log priority. For each log priority
there is a dedicated TablePrinter
instance configured slightly
different, e.g using different text colors for the printed row depending on
the log priority. Those "internal" TablePrinter
instances would be
preconfigured so that a TableBuilder
composite would actually
overload the composite with Builder-Pattern functionality which must not be
applied to the internal TablePrinter
instances. Actually the internal
TablePrinter
instances would be part (implementation secret) of a
TableBuilder
instance as them are configured each individually using
the Builder-Pattern.-
Method Summary
Modifier and TypeMethodDescriptionRetrieves theTablePrinter
(TableBuilder
) status.void
printHeader
(String... aColumns) Prints the table's header to thePrintStream
configured for thisPrintWriter
with the content of the provided columns.default void
printHeader
(List<String> aColumns) Prints the table's header to thePrintStream
configured for thisPrintWriter
with the content of the provided columns.void
Prints out a header begin to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintHeader(String...)
method.default void
For more semantic clearness this method prints an end-of-header / begin-of-row line, though is equivalent to the methodprintHeaderBegin()
.void
printHeaderContinue
(String... aColumns) Continues to print out a begun header to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintHeader(String...)
method.default void
printHeaderContinue
(List<String> aColumns) Continues to print out a begun header to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintHeader(String...)
method.void
Prints out a header end to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintHeader(String...)
method.void
printHeaderEnd
(TableBuilder aTablePrinter) Ends the headers of the providedTableBuilder
for this table printer to continue to thePrintStream
configured for thisPrintWriter
; different header widths and column widths are taken care of, so it is a pleasure to mix differentTableBuilder
s, ehttps://www.metacodes.proly when empty columns may result in better using another column layout making better use of the available width.void
Prints the table's (next) row to thePrintStream
configured for thisPrintWriter
with the content of the provided columns.default void
Prints the table's (next) row to thePrintStream
configured for thisPrintWriter
with the content of the provided columns.void
Prints out a row begin to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintRow(String...)
method.void
printRowContinue
(String... aColumns) Continues a print out begun row to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintRow(String...)
method.default void
printRowContinue
(List<String> aColumns) Continues a print out begun row to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintRow(String...)
method.void
printRowEnd
(TableBuilder aTablePrinter) Ends the rows of the providedTableBuilder
for this table printer to continue to thePrintStream
configured for thisPrintWriter
; different row widths and column widths are taken care of, so it is a pleasure to mix differentTableBuilder
s, ehttps://www.metacodes.proly when empty columns may result in better using another column layout making better use of the available width.void
Finishes off the table by printing its closing to thePrintStream
configured for thisPrintWriter
.setTableStatus
(TableStatus aTableStatus) Set theTablePrinter
(TableBuilder
) status.Prints the table's header with the content of the provided columns.default String
Prints the table's header with the content of the provided columns.Begins a header, for convenience reasons, this is being encapsulated by thetoHeader(String...)
method.default String
For more semantic clearness this method returns an end-of-header / begin-of-row line, though is equivalent to the methodtoHeaderBegin()
.toHeaderContinue
(String... aColumns) Continues a begun header, for convenience reasons, this is being encapsulated by thetoHeader(String...)
method.default String
toHeaderContinue
(List<String> aColumns) Continues a begun header, for convenience reasons, this is being encapsulated by thetoHeader(String...)
method.Ends a header, for convenience reasons, this is being encapsulated by thetoHeader(String...)
method.toHeaderEnd
(TableBuilder aTablePrinter) Ends the headers of the providedTableBuilder
for this table printer to continue; different header widths and column widths are taken care of, so it is a pleasure to mix differentTableBuilder
s, ehttps://www.metacodes.proly when empty columns may result in better using another column layout making better use of the available width.Prints the table's (next) row with the content of the provided columns.default String
Prints the table's (next) row with the content of the provided columns.Begins a row, for convenience reasons, this is being encapsulated by thetoRow(String...)
method.toRowContinue
(String... aColumns) Continues a begun row, for convenience reasons, this is being encapsulated by thetoRow(String...)
method.default String
toRowContinue
(List<String> aColumns) Continues a begun row, for convenience reasons, this is being encapsulated by thetoRow(String...)
method.toRowEnd
(TableBuilder aTablePrinter) Ends the rows of the providedTableBuilder
for this table printer to continue; different row widths and column widths are taken care of, so it is a pleasure to mix differentTableBuilder
s, ehttps://www.metacodes.proly when empty columns may result in better using another column layout making better use of the available width.toTail()
Finishes off the table by closing it.
-
Method Details
-
toHeaderBegin
String toHeaderBegin()Begins a header, for convenience reasons, this is being encapsulated by thetoHeader(String...)
method. Use this method in case you need more control on the header construction thantoHeader(String...)
can provide you.- Returns:
- The header's begin
String
including the line breaks.
-
toHeaderComplete
For more semantic clearness this method returns an end-of-header / begin-of-row line, though is equivalent to the methodtoHeaderBegin()
.- Returns:
- The header's end / row's begin
String
including the line breaks.
-
toHeaderContinue
Continues a begun header, for convenience reasons, this is being encapsulated by thetoHeader(String...)
method. Use this method in case you need more control on the header construction thantoHeader(String...)
can provide you.- Parameters:
aColumns
- the columns- Returns:
- The begun header continued
String
including the line breaks.
-
toHeaderContinue
Continues a begun header, for convenience reasons, this is being encapsulated by thetoHeader(String...)
method. Use this method in case you need more control on the header construction thantoHeader(String...)
can provide you.- Parameters:
aColumns
- the columns- Returns:
- The begun header continued
String
including the line breaks.
-
toHeaderEnd
Ends the headers of the providedTableBuilder
for this table printer to continue; different header widths and column widths are taken care of, so it is a pleasure to mix differentTableBuilder
s, ehttps://www.metacodes.proly when empty columns may result in better using another column layout making better use of the available width.- Parameters:
aTablePrinter
- TheTableBuilder
to which to append thisTableBuilder
's headers.- Returns:
- The divider header joining the provided (top)
TableBuilder
's layout with this (bottom)TableBuilder
's layout.
-
toHeaderEnd
String toHeaderEnd()Ends a header, for convenience reasons, this is being encapsulated by thetoHeader(String...)
method. Use this method in case you need more control on the header construction thantoHeader(String...)
can provide you.- Returns:
- The header's end
String
including the line breaks.
-
toRowBegin
String toRowBegin()Begins a row, for convenience reasons, this is being encapsulated by thetoRow(String...)
method. Use this method in case you need more control on the row construction thantoRow(String...)
can provide you.- Returns:
- The row's begin
String
including the line breaks.
-
toRowContinue
Continues a begun row, for convenience reasons, this is being encapsulated by thetoRow(String...)
method. Use this method in case you need more control on the header construction thantoRow(String...)
can provide you.- Parameters:
aColumns
- the columns- Returns:
- The begun row continued
String
including the line breaks.
-
toRowContinue
Continues a begun row, for convenience reasons, this is being encapsulated by thetoRow(String...)
method. Use this method in case you need more control on the header construction thantoRow(String...)
can provide you.- Parameters:
aColumns
- the columns- Returns:
- The begun row continued
String
including the line breaks.
-
toRowEnd
Ends the rows of the providedTableBuilder
for this table printer to continue; different row widths and column widths are taken care of, so it is a pleasure to mix differentTableBuilder
s, ehttps://www.metacodes.proly when empty columns may result in better using another column layout making better use of the available width.- Parameters:
aTablePrinter
- TheTableBuilder
to which to append thisTableBuilder
's rows.- Returns:
- The divider row joining the provided (top)
TableBuilder
's layout with this (bottom)TableBuilder
's layout.
-
toHeader
Prints the table's header with the content of the provided columns.- Parameters:
aColumns
- The columns to be used in the table's header.- Returns:
- The header
String
including line breaks as it most probably will consist of more than one line.
-
toHeader
Prints the table's header with the content of the provided columns.- Parameters:
aColumns
- The columns to be used in the table's header.- Returns:
- The header
String
including line breaks as it most probably will consist of more than one line.
-
toRow
Prints the table's (next) row with the content of the provided columns. Call this method for each row to print out.- Parameters:
aColumns
- The columns to be used in the (next) table's row.- Returns:
- The row
String
including line breaks as it most probably will consist of more than one line.
-
toRow
Prints the table's (next) row with the content of the provided columns. Call this method for each row to print out.- Parameters:
aColumns
- The columns to be used in the (next) table's row.- Returns:
- The row
String
including line breaks as it most probably will consist of more than one line.
-
toTail
String toTail()Finishes off the table by closing it.- Returns:
- The tail of the table for finishing the table off.
-
printHeaderBegin
void printHeaderBegin()Prints out a header begin to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintHeader(String...)
method. Use this method in case you need more control on the header construction thanprintHeader(String...)
can provide you. -
printHeaderComplete
default void printHeaderComplete()For more semantic clearness this method prints an end-of-header / begin-of-row line, though is equivalent to the methodprintHeaderBegin()
. -
printHeaderContinue
Continues to print out a begun header to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintHeader(String...)
method. Use this method in case you need more control on the header construction thanprintHeader(String...)
can provide you.- Parameters:
aColumns
- the columns
-
printHeaderContinue
Continues to print out a begun header to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintHeader(String...)
method. Use this method in case you need more control on the header construction thanprintHeader(String...)
can provide you.- Parameters:
aColumns
- the columns
-
printHeaderEnd
Ends the headers of the providedTableBuilder
for this table printer to continue to thePrintStream
configured for thisPrintWriter
; different header widths and column widths are taken care of, so it is a pleasure to mix differentTableBuilder
s, ehttps://www.metacodes.proly when empty columns may result in better using another column layout making better use of the available width.- Parameters:
aTablePrinter
- TheTableBuilder
to which to append thisTableBuilder
's headers.
-
printHeaderEnd
void printHeaderEnd()Prints out a header end to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintHeader(String...)
method. Use this method in case you need more control on the header construction thanprintHeader(String...)
can provide you. -
printRowBegin
void printRowBegin()Prints out a row begin to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintRow(String...)
method. Use this method in case you need more control on the row construction thanprintRow(String...)
can provide you. -
printRowContinue
Continues a print out begun row to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintRow(String...)
method. Use this method in case you need more control on the header construction thanprintRow(String...)
can provide you.- Parameters:
aColumns
- the columns
-
printRowContinue
Continues a print out begun row to thePrintStream
configured for thisPrintWriter
, for convenience reasons, this is being encapsulated by theprintRow(String...)
method. Use this method in case you need more control on the header construction thanprintRow(String...)
can provide you.- Parameters:
aColumns
- the columns
-
printRowEnd
Ends the rows of the providedTableBuilder
for this table printer to continue to thePrintStream
configured for thisPrintWriter
; different row widths and column widths are taken care of, so it is a pleasure to mix differentTableBuilder
s, ehttps://www.metacodes.proly when empty columns may result in better using another column layout making better use of the available width.- Parameters:
aTablePrinter
- TheTableBuilder
to which to append thisTableBuilder
's rows.
-
printHeader
Prints the table's header to thePrintStream
configured for thisPrintWriter
with the content of the provided columns.- Parameters:
aColumns
- The columns to be used in the table's header.
-
printHeader
Prints the table's header to thePrintStream
configured for thisPrintWriter
with the content of the provided columns.- Parameters:
aColumns
- The columns to be used in the table's header.
-
printRow
Prints the table's (next) row to thePrintStream
configured for thisPrintWriter
with the content of the provided columns. Call this method for each row to print out.- Parameters:
aColumns
- The columns to be used in the (next) table's row.
-
printRow
Prints the table's (next) row to thePrintStream
configured for thisPrintWriter
with the content of the provided columns. Call this method for each row to print out.- Parameters:
aColumns
- The columns to be used in the (next) table's row.
-
printTail
void printTail()Finishes off the table by printing its closing to thePrintStream
configured for thisPrintWriter
. -
getTableStatus
TableStatus getTableStatus()Retrieves theTablePrinter
(TableBuilder
) status. TheTableStatus
is required by aTablePrinter
(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 currentTableStatus
.- Returns:
- The table's current
TableStatus
.
-
setTableStatus
Set theTablePrinter
(TableBuilder
) status. TheTableStatus
is required by aTablePrinter
(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 currentTableStatus
. Setting the status manually, you can use differently configuredTablePrinter
interfaces to print their lines according to the status of a previousTablePrinter
.- Parameters:
aTableStatus
- The table's currentTableStatus
to be set.- Returns:
- the table printer
-