Skip to content
This repository has been archived by the owner on Jan 20, 2023. It is now read-only.

Releases: ProjectMapK/KMapper

Support for mapping to nested classes.

08 May 21:01
a751222
Compare
Choose a tag to compare

Shared 0.12への対応を行った。
これによりネストしたクラスへのマッピングに対応した。

Add parameter conversion support.

25 Apr 09:35
c9f2285
Compare
Choose a tag to compare

内容

アノテーションベースのコンバーターサポートを追加した。

Added support for recursive mapping.

19 Apr 09:27
4518692
Compare
Choose a tag to compare

内容

これまでKMapperではコンバータが無くプロパティとパラメータの型が異なる場合マッピングできないものとして扱っていたが、内部的にKMapperシリーズを用いて再帰的にマッピングできるよう機能追加を行った。

KMapper/BoundKMapper

KMapper/BoundKMapperでは、以下の条件でマッパーを宣言して再帰的マッピングを行うよう修正を行った。

  • Map/Pairが入力 -> KMapper
  • Map/Pair以外のオブジェクトが入力 -> BoundKMapper

PlainKMapper

内部でPlainKMapperを宣言して再帰的マッピングを行うよう修正を行った。

Improved memory usage efficiency and update libraries.

18 Apr 21:08
7f4ff40
Compare
Choose a tag to compare

メモリ使用効率の改善

これまではオブジェクトの取得処理のキャッシュをラムダで行っていたが、メモリ使用効率の改善のため、各取得処理用のクラスを用意するように変更を行った。

ライブラリ更新

  • Kotlin 1.3.72へアップデート
    • "gradle-plugin"で無駄に行っていたバージョン指定を修正
  • JUnit Jupiter 5.6.2へアップデート
  • Shared 0.11へアップデート

その他修正

BoundKMapperにて余計なデフォルト引数が残っていたため削除を行った。

Add get cache and fixes.

12 Apr 05:15
7995a8a
Compare
Choose a tag to compare

改善

オブジェクトからの値読み出し処理をキャッシュすることで大幅な高速化を実現した。

修正

パラメータからの変換処理の不具合

パラメータをそのまま代入する処理で、誤って一番最初の値がキャッシュされてしまう不具合を修正した。

並列実行時への対応

キャッシュにHashMapを用いていたが、並列実行時にキャッシュへの登録処理が壊れる可能性が懸念されたため、ConcurrentMapのアトミック処理でputするように修正を行った。

Add convert cache.

11 Apr 18:56
66006aa
Compare
Choose a tag to compare

改善

KMapperのパラメータ変換処理を入力の型ごとにキャッシュすることで大幅な高速化を実現した。
この変更に合わせていくつかのコードを整理した。

破壊的変更

キャッシュ無しで動いていた従来のマッパーはPlainKMapperという名前に変更した上で残している。

Add BoundKMapper.

05 Apr 07:25
bfdd0ea
Compare
Choose a tag to compare

追加

1対1マッピングを高速に行うBoundKMapperを追加した。

細かな修正

  • propertyNameConverter -> parameterNameConverterに引数名を修正
    • 変換対象はプロパティではなくパラメータなため
    • テスト名等も修正を行った
  • KMapperの大本のコンストラクタではデフォルト引数が不要なため修正
  • パラメータにおけるコンバータ取得処理のインデントが変だったため修正

Updates.

04 Apr 06:05
c5f8897
Compare
Choose a tag to compare

Fixed a bug when calling with a large number of arguments.

28 Mar 16:59
e6b9169
Compare
Choose a tag to compare

修正

Add annotation that means "Use Non Null argument".

20 Mar 06:33
bd2a360
Compare
Choose a tag to compare

機能追加

引数がnullの場合無視することを示すアノテーションを追加した。

リファクタリング

creator -> converter

creatorという名前は既に使われなくなっていたが、改名漏れが大規模に発生していたため修正を行った。

READMEの修正

古い内容の更新が漏れていたため修正を行った。