クラステーブル

java.lang.Object (標準 Javadoc)
org.springframework.shell.jline.tui.table.Table

public class Table extends オブジェクト (標準 Javadoc)
これは、テーブルレンダリングの中心的な API です。Table オブジェクトは、未加工のテーブルコンテンツを保持する特定の TableModel で構築されます。そのレンダリングロジックは、 たとえばスプレッドシートプログラムで使用されるものと非常によく似た方法で、さまざまなカスタマイズを適用することによって変更されます。
  1. formatters は、生データから文字データを導出する方法を知っています。例: 数値はロケールに従ってフォーマットされるか、マップは一連の key=value 行として出力されます。
  2. 次に、size constraints が適用され、セルに割り当てる列の領域の量が決定されます。
  3. text wrapping policies は、列のサイズがわかったら適用されます。
  4. 最後に、alignment 戦略は実際に、画面上にきれいに描画される一連のスペースが埋め込まれた文字列としてテキストをレンダリングします。
これらのカスタマイズはすべて、CellMatcher のおかげでテーブルセルに選択的に適用されます。列番号 3 を右に埋め込むか、java.util.Map のすべてのインスタンスを特定の方法でフォーマットするかを決定できます。

もちろん、これらのカスタマイズはすべて連携して機能することが多く、すべての組み合わせが意味を成すわけではありません。列のサイズを正しく計算するには、テキストが ' ' (スペース) 文字を使用して分割されるという事実を予測する必要があります。

作成者:
エリックボタード