Open Miha-x64 opened 7 years ago
Hello again :) What about supporting pref values, which could be presisted into String by custom converter?
object AppState { // client code val user by customPref<User?>(default = null, converter = UserConverter) } interface PrefConverter<T> { // library code fun fromPref(str: String): T fun toPref(t: T): String } object UserConverter : PrefConverter<User> { // client code private val gson = Gson() override fun fromPref(str: String) = gson.fromJson(str, User::class.java) override fun toPref(t: T) = gson.toJson(t) }
Many ORMs (Hibernate, GreenDAO, ORMLite, ObjectBox, etc) do this for object's fields, so we can borrow some architectural solutions from them.
I don't have the plan to support custom converter, but your idea is interesting. I'll investigate it. Thanks! :)
Hello again :) What about supporting pref values, which could be presisted into String by custom converter?
Many ORMs (Hibernate, GreenDAO, ORMLite, ObjectBox, etc) do this for object's fields, so we can borrow some architectural solutions from them.