![JAR search and dependency download from the Maven repository](/logo.png)
commonMain.aws.sdk.kotlin.services.rdsdata.serde.ArrayValueDocumentDeserializer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rdsdata-jvm Show documentation
Show all versions of rdsdata-jvm Show documentation
The AWS SDK for Kotlin client for RDS Data
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.rdsdata.serde
import aws.sdk.kotlin.services.rdsdata.model.ArrayValue
import aws.smithy.kotlin.runtime.serde.DeserializationException
import aws.smithy.kotlin.runtime.serde.Deserializer
import aws.smithy.kotlin.runtime.serde.SdkFieldDescriptor
import aws.smithy.kotlin.runtime.serde.SdkObjectDescriptor
import aws.smithy.kotlin.runtime.serde.SerialKind
import aws.smithy.kotlin.runtime.serde.asSdkSerializable
import aws.smithy.kotlin.runtime.serde.deserializeList
import aws.smithy.kotlin.runtime.serde.deserializeMap
import aws.smithy.kotlin.runtime.serde.deserializeStruct
import aws.smithy.kotlin.runtime.serde.field
import aws.smithy.kotlin.runtime.serde.json.IgnoreKey
import aws.smithy.kotlin.runtime.serde.json.JsonDeserializer
import aws.smithy.kotlin.runtime.serde.json.JsonSerialName
import aws.smithy.kotlin.runtime.serde.serializeList
import aws.smithy.kotlin.runtime.serde.serializeMap
import aws.smithy.kotlin.runtime.serde.serializeStruct
import kotlin.collections.mutableListOf
internal fun deserializeArrayValueDocument(deserializer: Deserializer): ArrayValue {
var value: ArrayValue? = null
val ARRAYVALUES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("arrayValues"))
val BOOLEANVALUES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("booleanValues"))
val DOUBLEVALUES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("doubleValues"))
val LONGVALUES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("longValues"))
val STRINGVALUES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("stringValues"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
trait(IgnoreKey("__type"))
field(ARRAYVALUES_DESCRIPTOR)
field(BOOLEANVALUES_DESCRIPTOR)
field(DOUBLEVALUES_DESCRIPTOR)
field(LONGVALUES_DESCRIPTOR)
field(STRINGVALUES_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while(true) {
when(findNextFieldIndex()) {
ARRAYVALUES_DESCRIPTOR.index -> value =
deserializer.deserializeList(ARRAYVALUES_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeArrayValueDocument(deserializer) } else { deserializeNull(); continue }
col0.add(el0)
}
ArrayValue.ArrayValues(col0)
}
BOOLEANVALUES_DESCRIPTOR.index -> value =
deserializer.deserializeList(BOOLEANVALUES_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeBoolean() } else { deserializeNull(); continue }
col0.add(el0)
}
ArrayValue.BooleanValues(col0)
}
DOUBLEVALUES_DESCRIPTOR.index -> value =
deserializer.deserializeList(DOUBLEVALUES_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeDouble() } else { deserializeNull(); continue }
col0.add(el0)
}
ArrayValue.DoubleValues(col0)
}
LONGVALUES_DESCRIPTOR.index -> value =
deserializer.deserializeList(LONGVALUES_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeLong() } else { deserializeNull(); continue }
col0.add(el0)
}
ArrayValue.LongValues(col0)
}
STRINGVALUES_DESCRIPTOR.index -> value =
deserializer.deserializeList(STRINGVALUES_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
col0.add(el0)
}
ArrayValue.StringValues(col0)
}
null -> break@loop
else -> value = ArrayValue.SdkUnknown.also { skipValue() }
}
}
}
return value ?: throw DeserializationException("Deserialized union value unexpectedly null: ArrayValue")
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy