Я пытаюсь создать TypeConverter для своего пользовательского класса.
Класс, которому требуется TypeConverter, выглядит так:
class Optional<out T>(val value: T? = null) {
companion object {
fun <T> of(value: T?): Optional<T> {
return Optional(value)
}
fun <T> empty(): Optional<T> {
return Optional()
}
}
fun hasValue(): Boolean {
return value != null
}
}
Это мой метод DAO
@Query("SELECT * FROM item WHERE id = :id")
fun get(id: Long): Optional<ItemData>
И это мой текущий TypeConverter для него
object OptionalConverter {
@TypeConverter
fun <T> fromOptional(optional: Optional<T>): T? {
return if (!optional.hasValue()) null else optional.value
}
@TypeConverter
fun <T> toOptional(value: T): Optional<T> {
return Optional(value)
}
}
При сборке я получаю следующую ошибку
Ошибка: Не уверен, как преобразовать Курсор в возврат этого методаtype
Конечно, проблема в TypeConverter.Можно ли сделать так и использовать TypeConverter для моего факультативного класса?