Package-level declarations

Types

Link copied to clipboard

Exception class for all deserialization errors

Link copied to clipboard
interface Deserializer

Deserializer is a format agnostic deserialization interface. Specific formats (e.g. JSON, XML, etc) implement this interface and handle the underlying raw decoding process and deal with details specific to that format.

Link copied to clipboard
interface FieldTrait

This tag interface provides a mechanism to attach type-specific metadata to any field. See aws.smithy.kotlin.runtime.serde.xml.XmlList for an example implementation.

Link copied to clipboard

Serializes a list.

Link copied to clipboard

Serializes a map. In Smithy, keys in maps are always Strings.

Link copied to clipboard

Common interface for deserializing primitive values

Link copied to clipboard

Used to serialize primitive values.

Link copied to clipboard
open class SdkFieldDescriptor(val kind: SerialKind, var index: Int = 0, val traits: Set<FieldTrait> = emptySet())

Metadata to describe how a given member property maps to serialization.

Link copied to clipboard

Metadata container for all fields of an object/class

Link copied to clipboard
interface SdkSerializable
Link copied to clipboard

Exception class for all serialization errors

Link copied to clipboard
typealias SerializeFn<T> = (serializer: Serializer, input: T) -> Unit
Link copied to clipboard
Link copied to clipboard
sealed class SerialKind

A protocol-agnostic type description of a field.

Link copied to clipboard

Denotes that a Map or List may contain null values Details at https://awslabs.github.io/smithy/1.0/spec/core/type-refinement-traits.html#sparse-trait

Link copied to clipboard

Functions

Link copied to clipboard
fun <T> asSdkSerializable(input: T, serializeFn: SerializeFn<T>): SdkSerializable

Inherited functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Returns the singleton instance of required Trait, or IllegalArgumentException if does not exist.

Link copied to clipboard
fun <T> StructSerializer.field(descriptor: SdkFieldDescriptor, input: T, serializeFn: SerializeFn<T>)
Link copied to clipboard
Link copied to clipboard

Find a set of traits of the given type.

Link copied to clipboard
inline fun <T> <Error class: unknown class><T>.getOrDeserializeErr(errorMessage: () -> String): T

Get the underlying Result.isSuccess value or wrap the failure in a DeserializationException and throw it.

Link copied to clipboard
Link copied to clipboard
inline fun <T> <Error class: unknown class><String>.parse(transform: (String) -> T): <Error class: unknown class><T>
inline fun <T> String.parse(transform: (String) -> T): <Error class: unknown class><T>
Link copied to clipboard
fun <Error class: unknown class><String>.parseBigDecimal(): <Error class: unknown class><<Error class: unknown class>>
fun String.parseBigDecimal(): <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
fun <Error class: unknown class><String>.parseBigInteger(): <Error class: unknown class><<Error class: unknown class>>
fun String.parseBigInteger(): <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
fun <Error class: unknown class><String>.parseBoolean(): <Error class: unknown class><Boolean>
fun String.parseBoolean(): <Error class: unknown class><Boolean>
Link copied to clipboard
fun <Error class: unknown class><String>.parseByte(): <Error class: unknown class><Byte>
fun String.parseByte(): <Error class: unknown class><Byte>
Link copied to clipboard
fun <Error class: unknown class><String>.parseDouble(): <Error class: unknown class><Double>
fun String.parseDouble(): <Error class: unknown class><Double>
Link copied to clipboard
fun <Error class: unknown class><String>.parseFloat(): <Error class: unknown class><Float>
fun String.parseFloat(): <Error class: unknown class><Float>
Link copied to clipboard
fun <Error class: unknown class><String>.parseInt(): <Error class: unknown class><Int>
fun String.parseInt(): <Error class: unknown class><Int>
Link copied to clipboard
fun <Error class: unknown class><String>.parseLong(): <Error class: unknown class><Long>
fun String.parseLong(): <Error class: unknown class><Long>
Link copied to clipboard
fun <Error class: unknown class><String>.parseShort(): <Error class: unknown class><Short>
fun String.parseShort(): <Error class: unknown class><Short>
Link copied to clipboard
fun <Error class: unknown class><String>.parseTimestamp(fmt: <Error class: unknown class>): <Error class: unknown class><<Error class: unknown class>>
fun String.parseTimestamp(fmt: <Error class: unknown class>): <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
inline fun Serializer.serializeList(sdkFieldDescriptor: SdkFieldDescriptor, crossinline block: ListSerializer.() -> Unit)

All elements of a list are expected to be serialized in the given block.

Link copied to clipboard
inline fun Serializer.serializeMap(sdkFieldDescriptor: SdkFieldDescriptor, crossinline block: MapSerializer.() -> Unit)

All entries of a map are expected to be serialized in the given block.

Link copied to clipboard
inline fun Serializer.serializeStruct(sdkFieldDescriptor: SdkFieldDescriptor, crossinline block: StructSerializer.() -> Unit)

All components of a struct are expected to be serialized in the given block.