Builtin Serializers
object BuiltinSerializers
Provides built-in TypeSerializer implementations for Kotlin's standard primitive and string types.
Supported types and their coercion rules:
| Target type | Accepted raw types | Coercion notes |
|---|---|---|
| String | Any | Calls toString() |
| Int | Number, String | Numeric narrowing via toInt(); string parsed with toIntOrNull() |
| Long | Number, String | Numeric widening via toLong(); string parsed with toLongOrNull() |
| Double | Number, String | Numeric widening via toDouble(); string parsed with toDoubleOrNull() |
| Float | Number, String | Numeric narrowing via toFloat(); string parsed with toFloatOrNull() |
| Boolean | Boolean, String, Number | Strings must be "true" / "false" (case-insensitive); numbers use != 0 |
Example:
val registry = SerializerRegistry()
BuiltinSerializers.registerAll(registry)
val intSer = registry.get(Int::class)!!
intSer.deserialize("42") // 42
intSer.deserialize(42L) // 42 (Long → Int coercion)
val boolSer = registry.get(Boolean::class)!!
boolSer.deserialize("true") // true
boolSer.deserialize(1) // true (non-zero → true)Content copied to clipboard
Since
1.0
See also
Types
Link copied to clipboard
Serializer for Boolean values.
Link copied to clipboard
Serializer for Double values.
Link copied to clipboard
Serializer for Float values.
Link copied to clipboard
Serializer for Int values.
Link copied to clipboard
Serializer for Long values.
Link copied to clipboard
Serializer for String values.
Functions
Link copied to clipboard
Registers all built-in serializers (StringSerializer, IntSerializer, LongSerializer, DoubleSerializer, FloatSerializer, and BooleanSerializer) into the given registry.