RealmQualquerKSerializer

objeto RealmAnyKSerializer : KSerializer<RealmAny>

Implementação do KSerializer para RealmAny. A serialização é feita como uma estrutura de mapa específica que representa o tipo de união com todos os tipos de valor possíveis:

realmAny:
type: [INT, BOOL, STRING, BINARY, TIMESTAMP, FLOAT, DOUBLE, DECIMAL128, OBJECT_ID, UUID, OBJECT]
int: Long?
bool: Boolean?
string: String?
binary: ByteArray?
instant: RealmInstant?
float: Float?
double: Double?
decimal128: Decimal128?
objectId: ObjectId?
uuid: RealmUUID?
realmObject: RealmObject?

A desserialização é feita com um RealmAny não gerenciado .

O serializador deve ser registrado por propriedade:

class Example : RealmObject {
@Serializable(RealmAnyKSerializer::class)
var myInstant: RealmAny = RealmAny.create("hello world")
}

ou por arquivo:

@file:UseSerializers(RealmAnyKSerializer::class)

class Example : RealmObject {
var myInstant: RealmAny = RealmAny.create("hello world")
}

Serialização de RealmQualquer instância que contenha RealmObject exige um mapeamento de SerializersModule esses objetos para a interface polimórfica RealmObject :

val json = Json {
serializersModule = SerializersModule {
polymorphic(RealmObject::class) {
subclass(SerializableSample::class)
}
}
}

Adicionar o seguinte trecho de código a um arquivo Kotlin registraria utilmente qualquer campo usando um tipo de dados Realm em seu serializador correspondente:

@file:UseSerializers(
RealmListKSerializer::class,
RealmSetKSerializer::class,
RealmAnyKSerializer::class,
RealmInstantKSerializer::class,
MutableRealmIntKSerializer::class,
RealmUUIDKSerializer::class
)

Serializadores para todos os tipos de dados do Realm podem ser encontrados em io.realm.kotlin.serializers.

Propriedades

Link copiado para a área de transferência
abrir Sobrepor valid descritor: SerialDescriptor

Funções

Link copiado para a área de transferência
abrir Sobrepor Diversão desserializar(decodificador: decodificador): RealmAny
Link copiado para a área de transferência
abrir Sobrepor Diversão serializar(codificador: codificador, valor: RealmAny)