Class TabularData<T>

java.lang.Object
org.moeaframework.util.format.TabularData<T>
Type Parameters:
T - the type of records (rows)
All Implemented Interfaces:
Displayable

public class TabularData<T> extends Object implements Displayable
Formats and displays tabular data.
  • Constructor Details

    • TabularData

      public TabularData(Iterable<T> dataSource)
      Creates a new tabular data object using the given data source.
      Parameters:
      dataSource - the source of data
  • Method Details

    • addFormatter

      public void addFormatter(Formatter<?> formatter)
      Adds a formatter. This will be used to format any values matching the formatter's type (see Formatter.getType().
      Parameters:
      formatter - the default formatter
    • removeAllFormatters

      public void removeAllFormatters()
      Removes any existing formatters.
    • addColumn

      public void addColumn(Column<T,?> column)
      Adds a column to this data. The columns will be displayed in the order they are added.
      Parameters:
      column - the column
    • format

      protected String format(T row, Column<T,?> column)
      Reads the value of the specified column and formats it as a string.
      Parameters:
      row - the record (row) to read from
      column - the column to read from
      Returns:
      the formatted value
    • formatValue

      protected String formatValue(Object value)
      Formats the value using the default formatter, if available, or with Object.toString().
      Parameters:
      value - the value to format
      Returns:
      the formatted value
    • display

      public void display(PrintStream out)
      Description copied from interface: Displayable
      Displays the contents of this object to the given output stream. This method does not close the underlying stream; the caller is responsible for disposing it.
      Specified by:
      display in interface Displayable
      Parameters:
      out - the output stream
    • saveCSV

      public void saveCSV(File file) throws IOException
      Saves the data to a CSV file.
      Parameters:
      file - the resulting file
      Throws:
      IOException - if an I/O error occurred while writing the file
    • toCSV

      public void toCSV(Writer out) throws IOException
      Writes the data formatted as CSV.
      Parameters:
      out - the output writer
      Throws:
      IOException - if an I/O error occurred while writing the data