Packages

  • package root
    Definition Classes
    root
  • package t2

    Defines types to create, access, and print tables.

    Defines types to create, access, and print tables.

    Getting Started

    Below is an example of how to use TableBuilder and TableWriter. Using these utilities, it builds a Table and writes the content to stdout.

    // Build table with first row as table header
    val table = t2.TableBuilder()
      .add("#", "Effective Date", "Currency Code", "Exchange Rate")
      .add("1", "2021-01-04", "USD", "0.690236")
      .add("2", "2021-01-05", "USD", "0.690627")
      .add("3", "2021-01-06", "USD", "0.689332")
      .build()
    
    // Create table writer with supplied configuration
    val writer = t2.TableWriter(
      "ansiColorEnabled" -> "true",
      "tableBorderColor" -> "cyan",
      "tableHeaderColor" -> "black,yellowBackground",
      "bodyRuleColor"    -> "yellow",
      "rowHeaderEnabled" -> "true",
      "rowHeaderColor"   -> "bold,cyan",
      "columnRightAlign" -> "0,3" // Right align first and last columns
    )
    
    // Write table to stdout
    writer.write(System.out, table)

    The generated output would look something like the following if printed to a color-enabled terminal.

    ===================================================
      #  Effective Date  Currency Code  Exchange Rate  
    ---------------------------------------------------
      1  2021-01-04      USD                 0.690236
      2  2021-01-05      USD                 0.690627
      3  2021-01-06      USD                 0.689332
    ===================================================
    

    The table writer can be configured for changing such things as cell padding, character used for table borders, and more.

    Definition Classes
    root
  • Table
  • TableBuilder
  • TableWriter

trait Table extends AnyRef

Defines table.

How to Create Table

A Table can be created using a factory defined in companion object, or it can be built incrementally using a TableBuilder.

The two tables created in the example below are effectively the same.

// Create table with data supplied as Seq[Seq[String]]
val table1 = t2.Table(
  Seq(
    Seq("#", "Effective Date", "Currency Code", "Exchange Rate"),
    Seq("1", "2021-01-04", "USD", "0.690236"),
    Seq("2", "2021-01-05", "USD", "0.690627"),
    Seq("3", "2021-01-06", "USD", "0.689332")
  )
)

// Incrementally build table by adding value sequences
val table2 = t2.TableBuilder()
  .add("#", "Effective Date", "Currency Code", "Exchange Rate")
  .add("1", "2021-01-04", "USD", "0.690236")
  .add("2", "2021-01-05", "USD", "0.690627")
  .add("3", "2021-01-06", "USD", "0.689332")
  .build()

// Assert equality
assert(table1.rows == table2.rows)
See also

Table.forRows, Table.forColumns, TableBuilder

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Table
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def apply(row: Int, column: Int): String

    Gets value at given location.

    Gets value at given location.

    row

    row index

    column

    column index

  2. abstract def column(index: Int): Seq[String]

    Gets column values at given index.

    Gets column values at given index.

    index

    column index

  3. abstract def columnCount: Int

    Gets column count.

  4. abstract def columns: Seq[Seq[String]]

    Gets column-oriented data.

  5. abstract def row(index: Int): Seq[String]

    Gets row values at given index.

    Gets row values at given index.

    index

    row index

  6. abstract def rowCount: Int

    Gets row count.

  7. abstract def rows: Seq[Seq[String]]

    Gets row-oriented data.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped