rd-framework / com.jetbrains.rd.framework / ISerializer

ISerializer

interface ISerializer<T>

Supports serializing and deserializing values of a specific type.

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

AbstractPolymorphic

class AbstractPolymorphic<T> : ISerializer<T>

Companion

companion object Companion : ISerializer<RdContext<*>>

Companion

companion object Companion : ISerializer<RdMap<*, *>>

Companion

companion object Companion : ISerializer<RdOptionalProperty<*>>

Companion

companion object Companion : ISerializer<RdProperty<*>>

Companion

companion object Companion : ISerializer<RdSignal<*>>

Companion

companion object Companion : ISerializer<RdCall<*, *>>

IMarshaller

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

A serializer that can participate in polymorphic serialization.

Polymorphic

object Polymorphic : ISerializer<Any?>