M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

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 values) TSVファイルの右端に列を追加する.
void addColumn(java.lang.String... values) TSVファイルの右端に列を追加する.
void addRow(java.util.List values) 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 values) このオブジェクトが指し示す位置に列データを追加(挿入)する.
void addColumn(java.lang.String... values) このオブジェクトが指し示す位置に列データを追加(挿入)する.
void addRow(java.util.List values) このオブジェクトが指し示す位置に行データを追加(挿入)する.
void addRow(java.lang.String... values) このオブジェクトが指し示す位置に行データを追加(挿入)する.
java.util.List column() このオブジェクトが指し示す位置の列データを返す.
void column(java.util.List values) このオブジェクトが指し示す位置の列データを更新する.
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 values) このオブジェクトが指し示す位置の行データを更新する.
void row(java.lang.String... values) このオブジェクトが指し示す位置の行データを更新する.
int rowIndex() このオブジェクトが生成される際にしていされた行インデックスを返す.
int rowNo() このオブジェクトが生成される際にしていされた行番号(行インデックス+1)を返す.
java.lang.String value() このオブジェクトが指し示す位置の値を返す.
void value(java.lang.String value) このオブジェクトが指し示す位置の値を更新する.