kotlinのMapよる委譲に可能性を見出した
Storing Properties in a Map
Delegated Properties - Kotlin Programming Language
クラスのプロパティをMap<String,*>により取得する記述方法。
//定義:各プロパティの値をmapから取得している class User(val map: Map<String, Any?>) { val name: String by map val age: Int by map } //生成方法 val user = User(mapOf( "name" to "John Doe", "age" to 25 ))
また仮説段階だけどAPIからの値をマッピングするのに役に立つかもかもしれない。
以下のJSONから同一のプロパティを持つUserクラスを生成したい場合
{ "name": "taro", "age": 28, "country":"jp" }
これをMapにマッピング、そしてUserクラスを生成する事ができる。 Jsonマッピングがだいぶシンプルになりそう。 GsonとかMoshiとかいらんかったんや
懸念点は
どこで試してみよう
[所要時間:15分]