ClassMapper: Sin setter / field para aBooleanType

Estoy usando firebase y esta es mi definición de class de datos:

data class ClaimOrder(val address: String? = null, val amount: Long = 0L, val isProcessed: Boolean = false, val onCreate: kotlin.Any? = ServerValue.TIMESTAMP) 

sin embargo, en los loggings veo la siguiente advertencia: W/ClassMapper: No setter/field for isProcessed found on class com.guness.bitfarm.service.models.ClaimOrder

He intentado @SerializedName("isProcessed") pero no @SerializedName("isProcessed") suerte.

No puedo encontrar ningún documento oficial de Firebase que mencione las reglas de denominación de getter y setter, pero parece que están buscando getters / setters tipo JavaBean.

Cuando tiene una propiedad llamada isProcessed , Firebase requiere que tenga un getter / setter llamado getIsProcessed() / setIsProcessed() . Sin embargo, se aplica una regla de denominación diferente cuando la propiedad se inicia en Kotlin. Se genarates getter / setter llamado isProcessed() / setProcessed() , de acuerdo con el documento de Kotlin :

Si el nombre de la propiedad comienza con is , se usa una regla de asignación de nombre diferente: el nombre del captador será el mismo que el nombre de la propiedad, y el nombre del colocador se obtendrá reemplazando con el set . Por ejemplo, para una propiedad es isOpen , el getter se llamará isOpen() y el setter se llamará setOpen() . Esta regla se aplica a las properties de cualquier tipo, no solo a Boolean .

No sé la razón exacta, pero aquí está mi suposition:

El nombre de variable isProcessed provoca que se isProcessed diferentes methods de acceso, por lo que los methods gson y kotlin subyacentes no coinciden.

sin embargo, usar solo processed parece arreglar bien las cosas.

  • "No hay suficiente información para inferir el parámetro T" con Kotlin y Android
  • Usando la cláusula Kotlin WHEN para <, <=,> =,> comparaciones
  • Kotlin: lanzar ArrayList <String!> Para Array <String>
  • Acerca de Kotlin y funciones
  • Resaltado de syntax de ojo de pez / crisol para Kotlin
  • ¿Hay syntax al igual que #region #endregion en Kotlin?
  • ¿Cómo almacenar variables temporales al inicializar un object Kotlin?
  • Intentando cargar un file en la actividad principal de onCreate
  • ¿El file kotlin no admite el diagtwig de flujo escrito por el descuento?
  • Falló la inferencia de tipo: no hay suficiente información para inferir el parámetro. Especifíquelo explícitamente.
  • ¿Cómo get el elemento seleccionado de ListView en Kotlin?