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?aleksandrsl
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.= cls == MyType::class.java || cls == MyOtherType::class.java
.aleksandrsl
08/15/2018, 9:38 AMkarelpeeters
08/15/2018, 9:42 AMtrue
.aleksandrsl
08/15/2018, 10:50 AMkarelpeeters
08/15/2018, 10:57 AMcedric
08/15/2018, 11:33 AM