
commonMain.aws.sdk.kotlin.services.customerprofiles.transform.ProfileDocumentDeserializer.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.customerprofiles.transform
import aws.sdk.kotlin.services.customerprofiles.model.FoundByKeyValue
import aws.sdk.kotlin.services.customerprofiles.model.Gender
import aws.sdk.kotlin.services.customerprofiles.model.PartyType
import aws.sdk.kotlin.services.customerprofiles.model.Profile
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.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
import kotlin.collections.mutableMapOf
internal fun deserializeProfileDocument(deserializer: Deserializer): Profile {
val builder = Profile.Builder()
val ACCOUNTNUMBER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("AccountNumber"))
val ADDITIONALINFORMATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("AdditionalInformation"))
val ADDRESS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("Address"))
val ATTRIBUTES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("Attributes"))
val BILLINGADDRESS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("BillingAddress"))
val BIRTHDATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("BirthDate"))
val BUSINESSEMAILADDRESS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("BusinessEmailAddress"))
val BUSINESSNAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("BusinessName"))
val BUSINESSPHONENUMBER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("BusinessPhoneNumber"))
val EMAILADDRESS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("EmailAddress"))
val FIRSTNAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("FirstName"))
val FOUNDBYITEMS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("FoundByItems"))
val GENDER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("Gender"))
val GENDERSTRING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("GenderString"))
val HOMEPHONENUMBER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("HomePhoneNumber"))
val LASTNAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("LastName"))
val MAILINGADDRESS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("MailingAddress"))
val MIDDLENAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("MiddleName"))
val MOBILEPHONENUMBER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("MobilePhoneNumber"))
val PARTYTYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("PartyType"))
val PARTYTYPESTRING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("PartyTypeString"))
val PERSONALEMAILADDRESS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("PersonalEmailAddress"))
val PHONENUMBER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("PhoneNumber"))
val PROFILEID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ProfileId"))
val SHIPPINGADDRESS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("ShippingAddress"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(ACCOUNTNUMBER_DESCRIPTOR)
field(ADDITIONALINFORMATION_DESCRIPTOR)
field(ADDRESS_DESCRIPTOR)
field(ATTRIBUTES_DESCRIPTOR)
field(BILLINGADDRESS_DESCRIPTOR)
field(BIRTHDATE_DESCRIPTOR)
field(BUSINESSEMAILADDRESS_DESCRIPTOR)
field(BUSINESSNAME_DESCRIPTOR)
field(BUSINESSPHONENUMBER_DESCRIPTOR)
field(EMAILADDRESS_DESCRIPTOR)
field(FIRSTNAME_DESCRIPTOR)
field(FOUNDBYITEMS_DESCRIPTOR)
field(GENDER_DESCRIPTOR)
field(GENDERSTRING_DESCRIPTOR)
field(HOMEPHONENUMBER_DESCRIPTOR)
field(LASTNAME_DESCRIPTOR)
field(MAILINGADDRESS_DESCRIPTOR)
field(MIDDLENAME_DESCRIPTOR)
field(MOBILEPHONENUMBER_DESCRIPTOR)
field(PARTYTYPE_DESCRIPTOR)
field(PARTYTYPESTRING_DESCRIPTOR)
field(PERSONALEMAILADDRESS_DESCRIPTOR)
field(PHONENUMBER_DESCRIPTOR)
field(PROFILEID_DESCRIPTOR)
field(SHIPPINGADDRESS_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
ACCOUNTNUMBER_DESCRIPTOR.index -> builder.accountNumber = deserializeString()
ADDITIONALINFORMATION_DESCRIPTOR.index -> builder.additionalInformation = deserializeString()
ADDRESS_DESCRIPTOR.index -> builder.address = deserializeAddressDocument(deserializer)
ATTRIBUTES_DESCRIPTOR.index -> builder.attributes =
deserializer.deserializeMap(ATTRIBUTES_DESCRIPTOR) {
val map0 = mutableMapOf()
while (hasNextEntry()) {
val k0 = key()
val v0 = if (nextHasValue()) { deserializeString() } else { deserializeNull(); continue }
map0[k0] = v0
}
map0
}
BILLINGADDRESS_DESCRIPTOR.index -> builder.billingAddress = deserializeAddressDocument(deserializer)
BIRTHDATE_DESCRIPTOR.index -> builder.birthDate = deserializeString()
BUSINESSEMAILADDRESS_DESCRIPTOR.index -> builder.businessEmailAddress = deserializeString()
BUSINESSNAME_DESCRIPTOR.index -> builder.businessName = deserializeString()
BUSINESSPHONENUMBER_DESCRIPTOR.index -> builder.businessPhoneNumber = deserializeString()
EMAILADDRESS_DESCRIPTOR.index -> builder.emailAddress = deserializeString()
FIRSTNAME_DESCRIPTOR.index -> builder.firstName = deserializeString()
FOUNDBYITEMS_DESCRIPTOR.index -> builder.foundByItems =
deserializer.deserializeList(FOUNDBYITEMS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeFoundByKeyValueDocument(deserializer) } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
GENDER_DESCRIPTOR.index -> builder.gender = deserializeString().let { Gender.fromValue(it) }
GENDERSTRING_DESCRIPTOR.index -> builder.genderString = deserializeString()
HOMEPHONENUMBER_DESCRIPTOR.index -> builder.homePhoneNumber = deserializeString()
LASTNAME_DESCRIPTOR.index -> builder.lastName = deserializeString()
MAILINGADDRESS_DESCRIPTOR.index -> builder.mailingAddress = deserializeAddressDocument(deserializer)
MIDDLENAME_DESCRIPTOR.index -> builder.middleName = deserializeString()
MOBILEPHONENUMBER_DESCRIPTOR.index -> builder.mobilePhoneNumber = deserializeString()
PARTYTYPE_DESCRIPTOR.index -> builder.partyType = deserializeString().let { PartyType.fromValue(it) }
PARTYTYPESTRING_DESCRIPTOR.index -> builder.partyTypeString = deserializeString()
PERSONALEMAILADDRESS_DESCRIPTOR.index -> builder.personalEmailAddress = deserializeString()
PHONENUMBER_DESCRIPTOR.index -> builder.phoneNumber = deserializeString()
PROFILEID_DESCRIPTOR.index -> builder.profileId = deserializeString()
SHIPPINGADDRESS_DESCRIPTOR.index -> builder.shippingAddress = deserializeAddressDocument(deserializer)
null -> break@loop
else -> skipValue()
}
}
}
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy