csv4j の読込は1行プロセッサをcall させる方法だが、csv4j の CSVWriter は、
そうではなく、がっかりだ。
それならば、まずは インタフェースを。
import java.util.List;
/**
* CsvLineWriteProcessor CSV書込みプロセッサ
*/
public interface CsvLineWriteProcessor{
/**
* ヘッダ行プロセス
* @return 1行分ヘッダ列を返す。null OR size=0 の場合、ヘッダ行を書き込まない
*/
public List<String> headerLine();
/**
* データ行プロセス
* @param count データの行番号、1始まり
* @return 1行分ヘッダ列を返す。null OR size=0 の場合、データ行を書き込まない
*/
public List<String> dataLine(int count);
/**
* プロセス処理継続性
* @return false で処理をしない
* 初回の実行で false を返すと CSV ファイルそのものを作成しない。
* n回の実行まで true を返すと 1回 の headerLine の実行と
* n-1回 の dataLine が実行されることになる
*/
public boolean continueProcessing();
}