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

commonMain.aws.sdk.kotlin.services.medialive.model.CaptionSelectorSettings.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.medialive.model



/**
 * Caption Selector Settings
 */
public class CaptionSelectorSettings private constructor(builder: Builder) {
    /**
     * Ancillary Source Settings
     */
    public val ancillarySourceSettings: aws.sdk.kotlin.services.medialive.model.AncillarySourceSettings? = builder.ancillarySourceSettings
    /**
     * Arib Source Settings
     */
    public val aribSourceSettings: aws.sdk.kotlin.services.medialive.model.AribSourceSettings? = builder.aribSourceSettings
    /**
     * Dvb Sub Source Settings
     */
    public val dvbSubSourceSettings: aws.sdk.kotlin.services.medialive.model.DvbSubSourceSettings? = builder.dvbSubSourceSettings
    /**
     * Embedded Source Settings
     */
    public val embeddedSourceSettings: aws.sdk.kotlin.services.medialive.model.EmbeddedSourceSettings? = builder.embeddedSourceSettings
    /**
     * Scte20 Source Settings
     */
    public val scte20SourceSettings: aws.sdk.kotlin.services.medialive.model.Scte20SourceSettings? = builder.scte20SourceSettings
    /**
     * Scte27 Source Settings
     */
    public val scte27SourceSettings: aws.sdk.kotlin.services.medialive.model.Scte27SourceSettings? = builder.scte27SourceSettings
    /**
     * Teletext Source Settings
     */
    public val teletextSourceSettings: aws.sdk.kotlin.services.medialive.model.TeletextSourceSettings? = builder.teletextSourceSettings

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.CaptionSelectorSettings = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("CaptionSelectorSettings(")
        append("ancillarySourceSettings=$ancillarySourceSettings,")
        append("aribSourceSettings=$aribSourceSettings,")
        append("dvbSubSourceSettings=$dvbSubSourceSettings,")
        append("embeddedSourceSettings=$embeddedSourceSettings,")
        append("scte20SourceSettings=$scte20SourceSettings,")
        append("scte27SourceSettings=$scte27SourceSettings,")
        append("teletextSourceSettings=$teletextSourceSettings")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = ancillarySourceSettings?.hashCode() ?: 0
        result = 31 * result + (aribSourceSettings?.hashCode() ?: 0)
        result = 31 * result + (dvbSubSourceSettings?.hashCode() ?: 0)
        result = 31 * result + (embeddedSourceSettings?.hashCode() ?: 0)
        result = 31 * result + (scte20SourceSettings?.hashCode() ?: 0)
        result = 31 * result + (scte27SourceSettings?.hashCode() ?: 0)
        result = 31 * result + (teletextSourceSettings?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as CaptionSelectorSettings

        if (ancillarySourceSettings != other.ancillarySourceSettings) return false
        if (aribSourceSettings != other.aribSourceSettings) return false
        if (dvbSubSourceSettings != other.dvbSubSourceSettings) return false
        if (embeddedSourceSettings != other.embeddedSourceSettings) return false
        if (scte20SourceSettings != other.scte20SourceSettings) return false
        if (scte27SourceSettings != other.scte27SourceSettings) return false
        if (teletextSourceSettings != other.teletextSourceSettings) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.CaptionSelectorSettings = Builder(this).apply(block).build()

    public class Builder {
        /**
         * Ancillary Source Settings
         */
        public var ancillarySourceSettings: aws.sdk.kotlin.services.medialive.model.AncillarySourceSettings? = null
        /**
         * Arib Source Settings
         */
        public var aribSourceSettings: aws.sdk.kotlin.services.medialive.model.AribSourceSettings? = null
        /**
         * Dvb Sub Source Settings
         */
        public var dvbSubSourceSettings: aws.sdk.kotlin.services.medialive.model.DvbSubSourceSettings? = null
        /**
         * Embedded Source Settings
         */
        public var embeddedSourceSettings: aws.sdk.kotlin.services.medialive.model.EmbeddedSourceSettings? = null
        /**
         * Scte20 Source Settings
         */
        public var scte20SourceSettings: aws.sdk.kotlin.services.medialive.model.Scte20SourceSettings? = null
        /**
         * Scte27 Source Settings
         */
        public var scte27SourceSettings: aws.sdk.kotlin.services.medialive.model.Scte27SourceSettings? = null
        /**
         * Teletext Source Settings
         */
        public var teletextSourceSettings: aws.sdk.kotlin.services.medialive.model.TeletextSourceSettings? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.CaptionSelectorSettings) : this() {
            this.ancillarySourceSettings = x.ancillarySourceSettings
            this.aribSourceSettings = x.aribSourceSettings
            this.dvbSubSourceSettings = x.dvbSubSourceSettings
            this.embeddedSourceSettings = x.embeddedSourceSettings
            this.scte20SourceSettings = x.scte20SourceSettings
            this.scte27SourceSettings = x.scte27SourceSettings
            this.teletextSourceSettings = x.teletextSourceSettings
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.medialive.model.CaptionSelectorSettings = CaptionSelectorSettings(this)

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.AncillarySourceSettings] inside the given [block]
         */
        public fun ancillarySourceSettings(block: aws.sdk.kotlin.services.medialive.model.AncillarySourceSettings.Builder.() -> kotlin.Unit) {
            this.ancillarySourceSettings = aws.sdk.kotlin.services.medialive.model.AncillarySourceSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.AribSourceSettings] inside the given [block]
         */
        public fun aribSourceSettings(block: aws.sdk.kotlin.services.medialive.model.AribSourceSettings.Builder.() -> kotlin.Unit) {
            this.aribSourceSettings = aws.sdk.kotlin.services.medialive.model.AribSourceSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.DvbSubSourceSettings] inside the given [block]
         */
        public fun dvbSubSourceSettings(block: aws.sdk.kotlin.services.medialive.model.DvbSubSourceSettings.Builder.() -> kotlin.Unit) {
            this.dvbSubSourceSettings = aws.sdk.kotlin.services.medialive.model.DvbSubSourceSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.EmbeddedSourceSettings] inside the given [block]
         */
        public fun embeddedSourceSettings(block: aws.sdk.kotlin.services.medialive.model.EmbeddedSourceSettings.Builder.() -> kotlin.Unit) {
            this.embeddedSourceSettings = aws.sdk.kotlin.services.medialive.model.EmbeddedSourceSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.Scte20SourceSettings] inside the given [block]
         */
        public fun scte20SourceSettings(block: aws.sdk.kotlin.services.medialive.model.Scte20SourceSettings.Builder.() -> kotlin.Unit) {
            this.scte20SourceSettings = aws.sdk.kotlin.services.medialive.model.Scte20SourceSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.Scte27SourceSettings] inside the given [block]
         */
        public fun scte27SourceSettings(block: aws.sdk.kotlin.services.medialive.model.Scte27SourceSettings.Builder.() -> kotlin.Unit) {
            this.scte27SourceSettings = aws.sdk.kotlin.services.medialive.model.Scte27SourceSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.TeletextSourceSettings] inside the given [block]
         */
        public fun teletextSourceSettings(block: aws.sdk.kotlin.services.medialive.model.TeletextSourceSettings.Builder.() -> kotlin.Unit) {
            this.teletextSourceSettings = aws.sdk.kotlin.services.medialive.model.TeletextSourceSettings.invoke(block)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy