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

software.amazon.awssdk.services.mediaconvert.model.AncillarySourceSettings Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Elemental MediaConvert module holds the client classes that are used for communicating with AWS Elemental MediaConvert Service

There is a newer version: 2.29.15
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.mediaconvert.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * Settings for ancillary captions source.
 */
@Generated("software.amazon.awssdk:codegen")
public final class AncillarySourceSettings implements SdkPojo, Serializable,
        ToCopyableBuilder {
    private static final SdkField CONVERT608_TO708_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("Convert608To708").getter(getter(AncillarySourceSettings::convert608To708AsString))
            .setter(setter(Builder::convert608To708))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("convert608To708").build()).build();

    private static final SdkField SOURCE_ANCILLARY_CHANNEL_NUMBER_FIELD = SdkField
            . builder(MarshallingType.INTEGER)
            .memberName("SourceAncillaryChannelNumber")
            .getter(getter(AncillarySourceSettings::sourceAncillaryChannelNumber))
            .setter(setter(Builder::sourceAncillaryChannelNumber))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("sourceAncillaryChannelNumber")
                    .build()).build();

    private static final SdkField TERMINATE_CAPTIONS_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("TerminateCaptions").getter(getter(AncillarySourceSettings::terminateCaptionsAsString))
            .setter(setter(Builder::terminateCaptions))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("terminateCaptions").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(CONVERT608_TO708_FIELD,
            SOURCE_ANCILLARY_CHANNEL_NUMBER_FIELD, TERMINATE_CAPTIONS_FIELD));

    private static final long serialVersionUID = 1L;

    private final String convert608To708;

    private final Integer sourceAncillaryChannelNumber;

    private final String terminateCaptions;

    private AncillarySourceSettings(BuilderImpl builder) {
        this.convert608To708 = builder.convert608To708;
        this.sourceAncillaryChannelNumber = builder.sourceAncillaryChannelNumber;
        this.terminateCaptions = builder.terminateCaptions;
    }

    /**
     * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose
     * Upconvert, MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608
     * compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708.
     * 

* If the service returns an enum value that is not available in the current SDK version, {@link #convert608To708} * will return {@link AncillaryConvert608To708#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is * available from {@link #convert608To708AsString}. *

* * @return Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you * choose Upconvert, MediaConvert includes the captions data in two ways: it passes the 608 data through * using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into * 708. * @see AncillaryConvert608To708 */ public final AncillaryConvert608To708 convert608To708() { return AncillaryConvert608To708.fromValue(convert608To708); } /** * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose * Upconvert, MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 * compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708. *

* If the service returns an enum value that is not available in the current SDK version, {@link #convert608To708} * will return {@link AncillaryConvert608To708#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is * available from {@link #convert608To708AsString}. *

* * @return Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you * choose Upconvert, MediaConvert includes the captions data in two ways: it passes the 608 data through * using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into * 708. * @see AncillaryConvert608To708 */ public final String convert608To708AsString() { return convert608To708; } /** * Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused for * passthrough. * * @return Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused for * passthrough. */ public final Integer sourceAncillaryChannelNumber() { return sourceAncillaryChannelNumber; } /** * By default, the service terminates any unterminated captions at the end of each input. If you want the caption to * continue onto your next input, disable this setting. *

* If the service returns an enum value that is not available in the current SDK version, {@link #terminateCaptions} * will return {@link AncillaryTerminateCaptions#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is * available from {@link #terminateCaptionsAsString}. *

* * @return By default, the service terminates any unterminated captions at the end of each input. If you want the * caption to continue onto your next input, disable this setting. * @see AncillaryTerminateCaptions */ public final AncillaryTerminateCaptions terminateCaptions() { return AncillaryTerminateCaptions.fromValue(terminateCaptions); } /** * By default, the service terminates any unterminated captions at the end of each input. If you want the caption to * continue onto your next input, disable this setting. *

* If the service returns an enum value that is not available in the current SDK version, {@link #terminateCaptions} * will return {@link AncillaryTerminateCaptions#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is * available from {@link #terminateCaptionsAsString}. *

* * @return By default, the service terminates any unterminated captions at the end of each input. If you want the * caption to continue onto your next input, disable this setting. * @see AncillaryTerminateCaptions */ public final String terminateCaptionsAsString() { return terminateCaptions; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(convert608To708AsString()); hashCode = 31 * hashCode + Objects.hashCode(sourceAncillaryChannelNumber()); hashCode = 31 * hashCode + Objects.hashCode(terminateCaptionsAsString()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof AncillarySourceSettings)) { return false; } AncillarySourceSettings other = (AncillarySourceSettings) obj; return Objects.equals(convert608To708AsString(), other.convert608To708AsString()) && Objects.equals(sourceAncillaryChannelNumber(), other.sourceAncillaryChannelNumber()) && Objects.equals(terminateCaptionsAsString(), other.terminateCaptionsAsString()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("AncillarySourceSettings").add("Convert608To708", convert608To708AsString()) .add("SourceAncillaryChannelNumber", sourceAncillaryChannelNumber()) .add("TerminateCaptions", terminateCaptionsAsString()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "Convert608To708": return Optional.ofNullable(clazz.cast(convert608To708AsString())); case "SourceAncillaryChannelNumber": return Optional.ofNullable(clazz.cast(sourceAncillaryChannelNumber())); case "TerminateCaptions": return Optional.ofNullable(clazz.cast(terminateCaptionsAsString())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((AncillarySourceSettings) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose * Upconvert, MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 * compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708. * * @param convert608To708 * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you * choose Upconvert, MediaConvert includes the captions data in two ways: it passes the 608 data through * using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into * 708. * @see AncillaryConvert608To708 * @return Returns a reference to this object so that method calls can be chained together. * @see AncillaryConvert608To708 */ Builder convert608To708(String convert608To708); /** * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose * Upconvert, MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 * compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708. * * @param convert608To708 * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you * choose Upconvert, MediaConvert includes the captions data in two ways: it passes the 608 data through * using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into * 708. * @see AncillaryConvert608To708 * @return Returns a reference to this object so that method calls can be chained together. * @see AncillaryConvert608To708 */ Builder convert608To708(AncillaryConvert608To708 convert608To708); /** * Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused for * passthrough. * * @param sourceAncillaryChannelNumber * Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused * for passthrough. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sourceAncillaryChannelNumber(Integer sourceAncillaryChannelNumber); /** * By default, the service terminates any unterminated captions at the end of each input. If you want the * caption to continue onto your next input, disable this setting. * * @param terminateCaptions * By default, the service terminates any unterminated captions at the end of each input. If you want the * caption to continue onto your next input, disable this setting. * @see AncillaryTerminateCaptions * @return Returns a reference to this object so that method calls can be chained together. * @see AncillaryTerminateCaptions */ Builder terminateCaptions(String terminateCaptions); /** * By default, the service terminates any unterminated captions at the end of each input. If you want the * caption to continue onto your next input, disable this setting. * * @param terminateCaptions * By default, the service terminates any unterminated captions at the end of each input. If you want the * caption to continue onto your next input, disable this setting. * @see AncillaryTerminateCaptions * @return Returns a reference to this object so that method calls can be chained together. * @see AncillaryTerminateCaptions */ Builder terminateCaptions(AncillaryTerminateCaptions terminateCaptions); } static final class BuilderImpl implements Builder { private String convert608To708; private Integer sourceAncillaryChannelNumber; private String terminateCaptions; private BuilderImpl() { } private BuilderImpl(AncillarySourceSettings model) { convert608To708(model.convert608To708); sourceAncillaryChannelNumber(model.sourceAncillaryChannelNumber); terminateCaptions(model.terminateCaptions); } public final String getConvert608To708() { return convert608To708; } public final void setConvert608To708(String convert608To708) { this.convert608To708 = convert608To708; } @Override public final Builder convert608To708(String convert608To708) { this.convert608To708 = convert608To708; return this; } @Override public final Builder convert608To708(AncillaryConvert608To708 convert608To708) { this.convert608To708(convert608To708 == null ? null : convert608To708.toString()); return this; } public final Integer getSourceAncillaryChannelNumber() { return sourceAncillaryChannelNumber; } public final void setSourceAncillaryChannelNumber(Integer sourceAncillaryChannelNumber) { this.sourceAncillaryChannelNumber = sourceAncillaryChannelNumber; } @Override public final Builder sourceAncillaryChannelNumber(Integer sourceAncillaryChannelNumber) { this.sourceAncillaryChannelNumber = sourceAncillaryChannelNumber; return this; } public final String getTerminateCaptions() { return terminateCaptions; } public final void setTerminateCaptions(String terminateCaptions) { this.terminateCaptions = terminateCaptions; } @Override public final Builder terminateCaptions(String terminateCaptions) { this.terminateCaptions = terminateCaptions; return this; } @Override public final Builder terminateCaptions(AncillaryTerminateCaptions terminateCaptions) { this.terminateCaptions(terminateCaptions == null ? null : terminateCaptions.toString()); return this; } @Override public AncillarySourceSettings build() { return new AncillarySourceSettings(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy