rd-framework / com.jetbrains.rd.framework / IMarshaller

IMarshaller

interface IMarshaller<T : Any> : ISerializer<T>

A serializer that can participate in polymorphic serialization.

Properties

_type

abstract val _type: KClass<*>

id

open val id: RdId

Inherited Functions

read

abstract fun read(ctx: SerializationCtx, buffer: AbstractBuffer): T

write

abstract fun write(ctx: SerializationCtx, buffer: AbstractBuffer, value: T): Unit

Extension Functions

array

fun <T> ISerializer<T>.array(): ISerializer<Array<T>>

deepClonePolymorphic

fun <T> T.deepClonePolymorphic(): T

interned

fun <T : Any> ISerializer<T>.interned(internKey: String): ISerializer<T>

list

fun <T> ISerializer<T>.list(): ISerializer<List<T>>

nullable

fun <T : Any> ISerializer<T>.nullable(): ISerializer<T?>

Inheritors

ReflectionMarshaller

class ReflectionMarshaller<T : Any> : IMarshaller<T>

UniversalMarshaller

open class UniversalMarshaller<T : Any> : IMarshaller<T>