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.

  • Error al usar IntDef definido en Kotlin cuando se usa en Java
  • Angular: cómo publicar un file en el server al enviar el formulario
  • Kotlin stdlib operatios vs for loops
  • Convierte java en kotlin en pasta
  • Dibuja una línea en el canvas lentamente como una animation
  • No se puede acceder a val en Kotlin
  • Las testings de JUnit en Android Studio con Kotlin dejaron de funcionar
  • Kotlin sequence "skip" first N entries
  • ¿Cómo puedo suprimir las advertencias de lanzamiento no revisadas antes de desestructurar la statement?
  • 'Mono.and ()' no se puede llamar con los parameters proporcionados
  • ¿Cómo se coordina una list de ejecuciones Completables con RxJava?