SerializationStrategy

interface SerializationStrategy<in T>

Serialization strategy defines the serial form of a type T, including its structural description, declared by the descriptor and the actual serialization process, defined by the implementation of the serialize method.

serialize method takes an instance of T and transforms it into its serial form (a sequence of primitives), calling the corresponding Encoder methods.

A serial form of the type is a transformation of the concrete instance into a sequence of primitive values and vice versa. The serial form is not required to completely mimic the structure of the class, for example, a specific implementation may represent multiple integer values as a single string, omit or add some values that are present in the type, but not in the instance.

For a more detailed explanation of the serialization process, please refer to KSerializer documentation.

Functions

Link copied to clipboard
abstract fun serialize(encoder: Encoder, value: T)

Serializes the value of type T using the format that is represented by the given encoder. serialize method is format-agnostic and operates with a high-level structured Encoder API. Throws SerializationException if value cannot be serialized.

Properties

Link copied to clipboard
abstract val descriptor: SerialDescriptor

Describes the structure of the serializable representation of T, produced by this serializer.

Inheritors

Link copied to clipboard