コンテンツにスキップ

4.2.0 への移行

core と使用する形式モジュールをすべて 4.2.0 に揃え、新しい API に対して利用側を再コンパイルしてください。

UpdateStrategyRegistry は削除されています。グローバル登録を、パーサーの defaultUpdateStrategy、ビルダーの updateStrategy(...)、または共通設定の LoaderSettings.updateStrategy に置き換えます。

ビルダーの updateStrategy(null) は更新を明示的に無効にします。共通設定の null は、パーサーのデフォルト戦略を使う意味です。

  • パーサーの parse(...) は Map<String, Any?> を返す必要があります。
  • write(OutputStream, Map<String, Any?>) を実装し、呼び出し元のストリームを閉じないようにします。
  • オブジェクトの直接書き出しを、ドキュメントの Map の書き出しに置き換えます。
  • カスタム ConfigLoaderBuilder は updateStrategy(UpdateStrategy?) を実装します。

JSON モジュールはドキュメントの Map を扱うため、Jackson の Kotlin モジュールへの依存を削除しています。その推移的依存を自分の Jackson オブジェクトマッピングで使っていたアプリケーションは、自分で依存関係を宣言してください。

存在する不正な値を、デフォルト値に暗黙に置き換えなくなりました。未知の enum 要素は省略せず拒否します。non-null 項目への明示的な null は、デフォルト値があっても失敗します。整数への小数値、オーバーフロー、非有限の浮動小数点値、不正な Boolean、コレクション内の不正な要素も変換エラーです。

マッピングと検証を確認し、該当する設定ファイルを読み込み前に修正してください。

YAML・JSON のファイル形式は引き続き対応し、データ形式の移行は不要です。既存の Yacla.yaml、Yacla.json、ビルダーの入口、言語選択メソッドも利用できます。ただし、検証が厳格になったため、以前受け入れられていた不正な値は編集が必要になることがあります。