TSVファイルのパースとTSVデータ操作のためのAPI
構想中のツールを開発するための土台として、TSVファイルのパースとTSVデータ操作のためのAPIを作ってみた。一応JUnitのテストケースも作っているけどかなり適当。
TsvUtilsオブジェクト
TSVファイルのパースとTSVデータの新規作成を行うためのユーティリティ・クラス。APIを利用する際の入口になるオブジェクトです。
戻り値 | シグネチャ | 説明 |
---|---|---|
Tsv | create(int numberOfColumns, int numberOfRows) | 列数と行数を指定して、Tsvオブジェクト(後述)を新規作成する. |
Tsv | parse(java.io.InputStream stream) | InputStream(FileInputStream)からコードを読み出し、TSVファイルとしてパースを実施して、Tsvオブジェクトを返す. |
Tsv | parse(java.io.InputStream stream, java.lang.String charset) | 同上。ただし第2引数で文字コードを指定する. |
Tsv | parse(java.lang.String string) | 文字列をTSVとしてパースを実施して、Tsvオブジェクトを返す. |
Tsvオブジェクト
TSVデータのJavaオブジェクト表現です。このインターフェースの実装はTsvUtilsの各メソッドを通じて提供されます。このTsvオブジェクトのデフォルト実装はミュータブルであり、新規作成・パースした結果として取得したTSVデータを変更できます。
戻り値 | シグネチャ | 説明 |
---|---|---|
void | addColumn(java.util.List |
TSVファイルの右端に列を追加する. |
void | addColumn(java.lang.String... values) | TSVファイルの右端に列を追加する. |
void | addRow(java.util.List |
TSVファイルの末尾に行を追加する. |
void | addRow(java.lang.String... values) | TSVファイルの末尾に行を追加する. |
Point | at(int column, int row) | 指定された行・列を指し示すPointオブジェクトを返す. |
java.util.List |
columnAt(int column) | 指定された列の値からなるリストを返す. |
int | linage() | TSVファイルの行数を返す. |
java.util.List |
rowAt(int row) | 指定された行の値からなるリストを返す. |
void | trim() | TSVファイル末尾の空文字列のみからなる行やTSVファイル右端の空文字列のみからなる列を削除する. |
java.lang.String | valueAt(int column, int row) | 引数で指定された行・列の値を取得する. |
int | width() | TSVファイルの幅(列数)を返す. |
void | writeTo(java.io.OutputStream stream) | 引数で指定されたOutputStreamにTSVファイルのデータを書き出す. |
Pointオブジェクト
TSVデータの中の行と列で指定された任意の位置を指し示すオブジェクトです。このオブジェクトのインスタンスはTsv.at(int, int)メソッドから取得できます。 オブジェクトがTSVファイル上存在しない行・列を指定して生成された場合、 参照系メソッドは空白文字列のみからなる結果値を返しますが、TSVファイルの内部データには変更を加えません。 一方、更新系メソッドは指定された行・列をTSVファイルに追加した上で、データの更新や登録を行います。
戻り値 | シグネチャ | 説明 |
---|---|---|
void | addColumn(java.util.List |
このオブジェクトが指し示す位置に列データを追加(挿入)する. |
void | addColumn(java.lang.String... values) | このオブジェクトが指し示す位置に列データを追加(挿入)する. |
void | addRow(java.util.List |
このオブジェクトが指し示す位置に行データを追加(挿入)する. |
void | addRow(java.lang.String... values) | このオブジェクトが指し示す位置に行データを追加(挿入)する. |
java.util.List |
column() | このオブジェクトが指し示す位置の列データを返す. |
void | column(java.util.List |
このオブジェクトが指し示す位置の列データを更新する. |
void | column(java.lang.String... values) | このオブジェクトが指し示す位置の列データを更新する. |
int | columnIndex() | このオブジェクトが生成される際にしていされた列インデックスを返す. |
int | columnNo() | このオブジェクトが生成される際にしていされた列番号(列インデックス+1)を返す. |
boolean | outOfBounds() | このオブジェクトが存在しない行もしくは列のインデックスを指定して生成されたものかどうかチェックする. |
void | removeColumn() | このオブジェクトが指し示す位置の列を削除する. |
void | removeRow() | このオブジェクトが指し示す位置の行を削除する. |
java.util.List |
row() | このオブジェクトが指し示す位置の行データを返す. |
void | row(java.util.List |
このオブジェクトが指し示す位置の行データを更新する. |
void | row(java.lang.String... values) | このオブジェクトが指し示す位置の行データを更新する. |
int | rowIndex() | このオブジェクトが生成される際にしていされた行インデックスを返す. |
int | rowNo() | このオブジェクトが生成される際にしていされた行番号(行インデックス+1)を返す. |
java.lang.String | value() | このオブジェクトが指し示す位置の値を返す. |
void | value(java.lang.String value) | このオブジェクトが指し示す位置の値を更新する. |