15. リリースノート
15.1. ver.2.3 - 2022-10-23
変更内容
#45 - 依存ライブラリを更新しました。
Sfl4j のバージョンを 1.7.36 に更新しました。
テスト用のログライブラリを Log4j を廃止してLobcakに変更しました。
Junit のバージョンを 4.13.2 に更新しました。
不要なライブラリ Ognl を削除しました。
#46 - BeanValidationによりバリデーション処理を修正。
HibernateValidatorのバージョンを6.x系の最新版に更新しました。
HibernateValidatorのバージョンに依存しないように、CsvValidatorのデフォルトのメッセージ処理をSuperCsvAnnotation用のデフォルト処理に変更しました。
#47 - 読み込み/書き込み用のメソッドを追加。
読み込み時に/書き込み時に イベントハンドラを指定して処理できるメソッド を追加しました。
読み込み時に Streamを返すメソッド である
lines()
を追加しました。
15.2. ver.2.2 - 2018-07-14
修正内容
#38 - BeanValidationを使ったときのメッセージの処理を改善しました。
MessageInterpolator
において、java.text.Formatter
は、スレッドセーフではないので、インスタンスを都度生成するよう修正。CsvBindingErrors#reject()
メソッドにおいて、エラーコードが複数できるよう追加。CsvBeanValidator
において、BeanValidationのメッセージを、CSVの変数を使用して再フォーマットする処理を追加。MessageInterpolatorAdapter
において、再フォーマットするときに渡したCSVのメッセージ変数を参照するよう修正。メッセージ定義
SuperCsvMessages.properties
において、JEXLを使ったとき、値をフォーマットするprinter
変数のnull判定を追加。
#39 -
LazyCsvAnnotationReader/Writer
で、固定長のカラムを読み書きする際に、ヘッダー情報として、@CsvBean(header=true, headerMapper=FixedSizeHeaderMapper.class)
を指定していても、反映されない事象を修正しました。
変更内容
#30 / #41 -
ResourceBundleMessageResolver
を使用してプロパティファイルをResouceBundleとして読み込む時に、UTF-8のテキストファイルとして読み込むよう修正しました。これにより、ASCIIコードに変換する必要は無くなります。
ただし、バージョンアップする際には、クラスパスルートに配置している
SuperCsvMessages.properties
は、文字コードUTF-8のテキストに変換する必要があります。
#33 / #40 -
LazyCsvAnnotationBeanReader
を使用し、CSVファイルを読み込むときに、アノテーションに定義しているラベルが実際のファイルの見出しに存在しないときのエラーメッセージを改善しました。#34 / #35 -
@CsvRegexReplace
に属性partialMatched
を追加し、全体一致か、部分一致かを選択できるようにしました。初期値は、false で全体一致です。
15.3. ver.2.1 - 2017-09-23
修正内容
変更内容
#26 - 固定長のサイズのカラムに対応し、アノテーション
@CsvFixedSize
を追加しました。詳細は、「 固定長のカラムの読み書き 」を参照してください。
#29 / #31 - BeanValdiation2.0に対応しました。さらに、以下の日時型に対応しました。
JSR-310(Date and Time)のクラスタイプとして、
OffsetDateTime/OffsetTime/Year/YearMonth/MonthDay
に対応しました。Joda-Timeのクラスタイプとして、
YearMonth/MonthDay
に対応しました。
#32 - カラム番号を指定しないで、ラベルによるマッピングする機能を追加しました。
詳細は、「 ラベルによるカラムのマッピング 」 を参照してください。
メソッド
CsvAnnotationBeanWriter#writeAll()
呼び出しの最後に、flush()
メソッドを呼ぶよう修正。
15.4. ver.2.0.3 - 2017-02-20
15.5. ver.2.0.2 - 2017-01-30
修正内容
#22 - メソッド
CsvAnnotationWriter#writeAll(...)
を呼ぶと、StackOverflowError が発生する事象を修正。
15.6. ver.2.0.1 - 2016-12-18
15.7. ver.2.0 - 2016-12-11
根本から作り直し、大幅に変更。
ver.1.x系とは互換性はありません。
書式用/検証用/変換用の各種アノテーションを用意し、それぞれの処理で容易に拡張できるようにしています。
15.8. ver.1.2 - 2016-09-03
機能追加
#14 - Java8のDate and Time APIに対応。Joda-Timeに対応。
前提環境を、Java8に変更。
#15 - Super CSV 2.4.0に対応。
#17 - 非推奨のアノテーションの属性の削除。
アノテーション
@CsvDateConverter
の属性 language, countryの削除。アノテーション
@CsvNumberConverter
の属性 language, countryの削除。
#18 - アノテーションの属性名の変更。
アノテーション
@CsvBooleanConverter
の属性 lenientをignoreCaseに変更。アノテーション
@CsvEnumConverter
の属性 lenientをignoreCaseに変更。
#19 - テスタの作成。
不良修正
ありません。
15.9. ver.1.1 - 2014-11-30
機能追加
#9- CellProcessorBuilderのインスタンス生成をカスタマイズ可能にする。
#10 - クラス名の変更 : MessageConverter -> CsvMessageConverter。
#11 - ResourceBundleMessageResolverのローカルのプロパティファイルの読み込み対応。
#12 - @CsvDateConverter/@CsvNumberConverterの属性localeの追加。
#13 - メソッドの名の変更 : CellProcessorBuilderContainer#registBuilder -> CellProcessorBuilderContainer#registerBuilder 。
#3 - Mavenセントラルリポジトリへの対応。
不良修正
ありません。