2. 機能概要
本ライブラリは、JavaのCSVファイルのライブラリ「 Super CSV 」に、 アノテーション機能を追加したものです。
アノテーションを利用することで、煩わしいCellProcessorの組み立てを簡略化ですることがきます。
2.1. 前提条件
本ライブラリの前提条件を以下に示します。
Super CSV本体の前提のJavaは、ver.1.5以上ですが、本ライブラリは、Java 1.8以上が前提となります。
全て独自のCellProcessorを利用しているため、 Super CSVの拡張ライブラリ 「 Super CSV Java 8 Extension 」 「 Super CSV Joda-Time Extension 」 は必要ありません。
項目 |
値 |
---|---|
Java |
ver.1.8 |
ver.2.4+ |
|
Joda-Time (option) |
ver.2.9+ |
Spring Framework (option) |
ver.3.0+ |
Bean Validation (option)
|
ver.1.0/1.1/2.0
(Hibernate Validator 4.x/5.x/6.x)
|
2.2. 対応しているクラスタイプ
本ライブラリは、標準では以下のクラスタイプに対応しています。 独自のクラスタイプに対応することも可能で、その場合は、「 独自のクラスタイプへの対応 」を参照してください。
基本型 |
日時型 |
その他 |
---|---|---|
boolean/java.lang.Boolean |
java.util.Date |
java.math.BigDecimal |
byte/java.lang.Byte |
java.util.Calendar |
java.math.BigInteger |
short/java.lang.Short |
java.sql.Date |
|
int/java.lang.Integer |
java.sql.Time |
|
long/java.lang.Long |
java.sql.Timestamp |
|
float/java.lang.Float |
java.time.LocalDateTime |
|
double/java.lang.Double |
java.time.LocalDate |
|
char/java.lang.Character |
java.time.LocalTime |
|
String |
java.time.ZonedDateTime |
|
列挙型 |
java.time.OffsetDateTime |
|
java.time.OffsetTime |
||
java.time.Year |
||
java.time.YearMonth |
||
java.time.MonthDay |
Joda-Time |
||
---|---|---|
org.joda.time.LocalDateTime |
||
org.joda.time.LocalDate |
||
org.joda.time.LocalTime |
||
org.joda.time.DateTime |
||
org.joda.time.YearMonth |
||
org.joda.time.MonthDay |
2.3. 処理の流れ
本ライブラリは、Super CSVを拡張していますが、アノテーションを元に自動で組み立てた CellProcessor
を使用しているため、CSVの処理部分は変わりません。
また、独自のアノテーションと対応するCellProcessorを呼び出すことが可能で、独自の拡張が容易にできます。
順序 |
処理 |
説明 |
---|---|---|
1 |
CellProcessorの組み立て |
Beanに定義したアノテーションを元に、CellProcessorを組み立てます。
BeanMappingFactory [ JavaDoc ] で処理を行います。 |
2 |
CSVの読み込み |
|
3 |
変換処理 |
オブジェクトに変換前の文字列に対して、変換を行うCellProcessorを実行します。
トリミングなどの様々なアノテーションが準備されていますが、独自に追加もできます。
詳細は、「 値の変換方法 」を参照してください。
|
4 |
パース処理 |
|
5 |
検証処理 |
オブジェクトに変換した値に対して、値の検証を行うCellProcessorを実行します。
様々なアノテーションが準備されていますが、独自に追加もできます。
また、外部ライブラリであるBean Validationも利用可能です。
詳細は、「 値の検証方法 」を参照してください。
|
順序 |
処理 |
説明 |
---|---|---|
1 |
CellProcessorの組み立て |
Beanに定義したアノテーションを元に、CellProcessorを組み立てます。
BeanMappingFactory [ JavaDoc ] で処理を行います。 |
2 |
検証処理 |
オブジェクトに変換した値に対して、値の検証を行うCellProcessorを実行します。
様々なアノテーションが準備されていますが、独自に追加もできます。
また、外部ライブラリであるBean Validationも利用可能です。
詳細は、「 値の検証方法 」を参照してください。
|
3 |
フォーマット処理 |
|
4 |
変換処理 |
フォーマット後の文字列に対して、変換を行うCellProcessorを実行します。
トリミングなどの様々なアノテーションが準備されていますが、独自に追加もできます。
詳細は、「 値の変換方法 」を参照してください。
|
5 |
CSVの書き込み |