software.amazon.awssdk.services.mediaconvert.model.AncillarySourceSettings Maven / Gradle / Ivy
Show all versions of mediaconvert Show documentation
/*
* 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 extends Builder> 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