All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.mediaconvert.serde.BurninDestinationSettingsDocumentDeserializer.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.mediaconvert.serde

import aws.sdk.kotlin.services.mediaconvert.model.BurnInSubtitleStylePassthrough
import aws.sdk.kotlin.services.mediaconvert.model.BurninDestinationSettings
import aws.sdk.kotlin.services.mediaconvert.model.BurninSubtitleAlignment
import aws.sdk.kotlin.services.mediaconvert.model.BurninSubtitleApplyFontColor
import aws.sdk.kotlin.services.mediaconvert.model.BurninSubtitleBackgroundColor
import aws.sdk.kotlin.services.mediaconvert.model.BurninSubtitleFallbackFont
import aws.sdk.kotlin.services.mediaconvert.model.BurninSubtitleFontColor
import aws.sdk.kotlin.services.mediaconvert.model.BurninSubtitleOutlineColor
import aws.sdk.kotlin.services.mediaconvert.model.BurninSubtitleShadowColor
import aws.sdk.kotlin.services.mediaconvert.model.BurninSubtitleTeletextSpacing
import aws.sdk.kotlin.services.mediaconvert.model.FontScript
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

internal fun deserializeBurninDestinationSettingsDocument(deserializer: Deserializer): BurninDestinationSettings {
    val builder = BurninDestinationSettings.Builder()
    val ALIGNMENT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("alignment"))
    val APPLYFONTCOLOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("applyFontColor"))
    val BACKGROUNDCOLOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("backgroundColor"))
    val BACKGROUNDOPACITY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("backgroundOpacity"))
    val FALLBACKFONT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("fallbackFont"))
    val FONTCOLOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("fontColor"))
    val FONTOPACITY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("fontOpacity"))
    val FONTRESOLUTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("fontResolution"))
    val FONTSCRIPT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("fontScript"))
    val FONTSIZE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("fontSize"))
    val HEXFONTCOLOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("hexFontColor"))
    val OUTLINECOLOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("outlineColor"))
    val OUTLINESIZE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("outlineSize"))
    val SHADOWCOLOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("shadowColor"))
    val SHADOWOPACITY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("shadowOpacity"))
    val SHADOWXOFFSET_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("shadowXOffset"))
    val SHADOWYOFFSET_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("shadowYOffset"))
    val STYLEPASSTHROUGH_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("stylePassthrough"))
    val TELETEXTSPACING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("teletextSpacing"))
    val XPOSITION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("xPosition"))
    val YPOSITION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("yPosition"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ALIGNMENT_DESCRIPTOR)
        field(APPLYFONTCOLOR_DESCRIPTOR)
        field(BACKGROUNDCOLOR_DESCRIPTOR)
        field(BACKGROUNDOPACITY_DESCRIPTOR)
        field(FALLBACKFONT_DESCRIPTOR)
        field(FONTCOLOR_DESCRIPTOR)
        field(FONTOPACITY_DESCRIPTOR)
        field(FONTRESOLUTION_DESCRIPTOR)
        field(FONTSCRIPT_DESCRIPTOR)
        field(FONTSIZE_DESCRIPTOR)
        field(HEXFONTCOLOR_DESCRIPTOR)
        field(OUTLINECOLOR_DESCRIPTOR)
        field(OUTLINESIZE_DESCRIPTOR)
        field(SHADOWCOLOR_DESCRIPTOR)
        field(SHADOWOPACITY_DESCRIPTOR)
        field(SHADOWXOFFSET_DESCRIPTOR)
        field(SHADOWYOFFSET_DESCRIPTOR)
        field(STYLEPASSTHROUGH_DESCRIPTOR)
        field(TELETEXTSPACING_DESCRIPTOR)
        field(XPOSITION_DESCRIPTOR)
        field(YPOSITION_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                ALIGNMENT_DESCRIPTOR.index -> builder.alignment = deserializeString().let { BurninSubtitleAlignment.fromValue(it) }
                APPLYFONTCOLOR_DESCRIPTOR.index -> builder.applyFontColor = deserializeString().let { BurninSubtitleApplyFontColor.fromValue(it) }
                BACKGROUNDCOLOR_DESCRIPTOR.index -> builder.backgroundColor = deserializeString().let { BurninSubtitleBackgroundColor.fromValue(it) }
                BACKGROUNDOPACITY_DESCRIPTOR.index -> builder.backgroundOpacity = deserializeInt()
                FALLBACKFONT_DESCRIPTOR.index -> builder.fallbackFont = deserializeString().let { BurninSubtitleFallbackFont.fromValue(it) }
                FONTCOLOR_DESCRIPTOR.index -> builder.fontColor = deserializeString().let { BurninSubtitleFontColor.fromValue(it) }
                FONTOPACITY_DESCRIPTOR.index -> builder.fontOpacity = deserializeInt()
                FONTRESOLUTION_DESCRIPTOR.index -> builder.fontResolution = deserializeInt()
                FONTSCRIPT_DESCRIPTOR.index -> builder.fontScript = deserializeString().let { FontScript.fromValue(it) }
                FONTSIZE_DESCRIPTOR.index -> builder.fontSize = deserializeInt()
                HEXFONTCOLOR_DESCRIPTOR.index -> builder.hexFontColor = deserializeString()
                OUTLINECOLOR_DESCRIPTOR.index -> builder.outlineColor = deserializeString().let { BurninSubtitleOutlineColor.fromValue(it) }
                OUTLINESIZE_DESCRIPTOR.index -> builder.outlineSize = deserializeInt()
                SHADOWCOLOR_DESCRIPTOR.index -> builder.shadowColor = deserializeString().let { BurninSubtitleShadowColor.fromValue(it) }
                SHADOWOPACITY_DESCRIPTOR.index -> builder.shadowOpacity = deserializeInt()
                SHADOWXOFFSET_DESCRIPTOR.index -> builder.shadowXOffset = deserializeInt()
                SHADOWYOFFSET_DESCRIPTOR.index -> builder.shadowYOffset = deserializeInt()
                STYLEPASSTHROUGH_DESCRIPTOR.index -> builder.stylePassthrough = deserializeString().let { BurnInSubtitleStylePassthrough.fromValue(it) }
                TELETEXTSPACING_DESCRIPTOR.index -> builder.teletextSpacing = deserializeString().let { BurninSubtitleTeletextSpacing.fromValue(it) }
                XPOSITION_DESCRIPTOR.index -> builder.xPosition = deserializeInt()
                YPOSITION_DESCRIPTOR.index -> builder.yPosition = deserializeInt()
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy