EnumValueSerializer

open class EnumValueSerializer<T : Enum<T>> : KSerializer


A KSerializer implementation for EnumValue.

Summary

Public constructors

<T : Enum<T>> EnumValueSerializer(values: Iterable<T>)

Public functions

open EnumValue<T>
deserialize(decoder: Decoder)

Deserializes an EnumValue from the given decoder.

open Unit
serialize(encoder: Encoder, value: EnumValue<T>)

Serializes the given EnumValue to the given encoder.

Public properties

open SerialDescriptor

Public constructors

EnumValueSerializer

<T : Enum<T>> EnumValueSerializer(values: Iterable<T>)
Parameters
values: Iterable<T>

The values of the enum to deserialize; for example, for an enum named Foo this value should be Foo.entries or Foo.values().

Public functions

deserialize

open fun deserialize(decoder: Decoder): EnumValue<T>

Deserializes an EnumValue from the given decoder.

If the decoded string is equal to the Enum.name of one of the values given to the constructor then Known is returned with that value; otherwise, Unknown is returned.

serialize

open fun serialize(encoder: Encoder, value: EnumValue<T>): Unit

Serializes the given EnumValue to the given encoder.

Public properties

descriptor

open val descriptorSerialDescriptor