karelpeeters
08/15/2018, 8:02 AMaleksandrsl
08/15/2018, 8:55 AMAny in this case (e.g. DefaultConverter), and we will have types in other cases?
import com.beust.klaxon.JsonValue
interface Test<T> {
fun fromJson(jv: JsonValue): T
fun toJson(value: T): JsonValue
}
class TestImpl: Test<Any> {
override fun fromJson(jv: JsonValue): Any {
TODO("not implemented")
}
override fun toJson(value: Any): JsonValue {
TODO("not implemented")
}
}karelpeeters
08/15/2018, 8:57 AMcanConvert function then?karelpeeters
08/15/2018, 8:57 AMaleksandrsl
08/15/2018, 9:19 AMoverride fun canConvert(cls: Class<*>) = true
seems absurd too.
With generic interface you can create custom converter that returns object of concrete class, I see type safety herekarelpeeters
08/15/2018, 9:24 AM... = cls == MyType::class or something like that.karelpeeters
08/15/2018, 9:24 AM= cls == MyType::class.java || cls == MyOtherType::class.java.aleksandrsl
08/15/2018, 9:38 AMkarelpeeters
08/15/2018, 9:42 AMtrue.karelpeeters
08/15/2018, 9:43 AMaleksandrsl
08/15/2018, 10:50 AMkarelpeeters
08/15/2018, 10:57 AMcedric
08/15/2018, 11:33 AM