com.amazonaws.services.medialive.model.Output Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-medialive Show documentation
Show all versions of aws-java-sdk-medialive Show documentation
The AWS Java SDK for AWS Elemental MediaLive module holds the client classes that are used for communicating with AWS Elemental MediaLive Service
/*
* Copyright 2018-2023 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 com.amazonaws.services.medialive.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
* Output settings. There can be multiple outputs within a group.
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class Output implements Serializable, Cloneable, StructuredPojo {
/** The names of the AudioDescriptions used as audio sources for this output. */
private java.util.List audioDescriptionNames;
/** The names of the CaptionDescriptions used as caption sources for this output. */
private java.util.List captionDescriptionNames;
/** The name used to identify an output. */
private String outputName;
/** Output type-specific settings. */
private OutputSettings outputSettings;
/** The name of the VideoDescription used as the source for this output. */
private String videoDescriptionName;
/**
* The names of the AudioDescriptions used as audio sources for this output.
*
* @return The names of the AudioDescriptions used as audio sources for this output.
*/
public java.util.List getAudioDescriptionNames() {
return audioDescriptionNames;
}
/**
* The names of the AudioDescriptions used as audio sources for this output.
*
* @param audioDescriptionNames
* The names of the AudioDescriptions used as audio sources for this output.
*/
public void setAudioDescriptionNames(java.util.Collection audioDescriptionNames) {
if (audioDescriptionNames == null) {
this.audioDescriptionNames = null;
return;
}
this.audioDescriptionNames = new java.util.ArrayList(audioDescriptionNames);
}
/**
* The names of the AudioDescriptions used as audio sources for this output.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAudioDescriptionNames(java.util.Collection)} or
* {@link #withAudioDescriptionNames(java.util.Collection)} if you want to override the existing values.
*
*
* @param audioDescriptionNames
* The names of the AudioDescriptions used as audio sources for this output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Output withAudioDescriptionNames(String... audioDescriptionNames) {
if (this.audioDescriptionNames == null) {
setAudioDescriptionNames(new java.util.ArrayList(audioDescriptionNames.length));
}
for (String ele : audioDescriptionNames) {
this.audioDescriptionNames.add(ele);
}
return this;
}
/**
* The names of the AudioDescriptions used as audio sources for this output.
*
* @param audioDescriptionNames
* The names of the AudioDescriptions used as audio sources for this output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Output withAudioDescriptionNames(java.util.Collection audioDescriptionNames) {
setAudioDescriptionNames(audioDescriptionNames);
return this;
}
/**
* The names of the CaptionDescriptions used as caption sources for this output.
*
* @return The names of the CaptionDescriptions used as caption sources for this output.
*/
public java.util.List getCaptionDescriptionNames() {
return captionDescriptionNames;
}
/**
* The names of the CaptionDescriptions used as caption sources for this output.
*
* @param captionDescriptionNames
* The names of the CaptionDescriptions used as caption sources for this output.
*/
public void setCaptionDescriptionNames(java.util.Collection captionDescriptionNames) {
if (captionDescriptionNames == null) {
this.captionDescriptionNames = null;
return;
}
this.captionDescriptionNames = new java.util.ArrayList(captionDescriptionNames);
}
/**
* The names of the CaptionDescriptions used as caption sources for this output.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setCaptionDescriptionNames(java.util.Collection)} or
* {@link #withCaptionDescriptionNames(java.util.Collection)} if you want to override the existing values.
*
*
* @param captionDescriptionNames
* The names of the CaptionDescriptions used as caption sources for this output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Output withCaptionDescriptionNames(String... captionDescriptionNames) {
if (this.captionDescriptionNames == null) {
setCaptionDescriptionNames(new java.util.ArrayList(captionDescriptionNames.length));
}
for (String ele : captionDescriptionNames) {
this.captionDescriptionNames.add(ele);
}
return this;
}
/**
* The names of the CaptionDescriptions used as caption sources for this output.
*
* @param captionDescriptionNames
* The names of the CaptionDescriptions used as caption sources for this output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Output withCaptionDescriptionNames(java.util.Collection captionDescriptionNames) {
setCaptionDescriptionNames(captionDescriptionNames);
return this;
}
/**
* The name used to identify an output.
*
* @param outputName
* The name used to identify an output.
*/
public void setOutputName(String outputName) {
this.outputName = outputName;
}
/**
* The name used to identify an output.
*
* @return The name used to identify an output.
*/
public String getOutputName() {
return this.outputName;
}
/**
* The name used to identify an output.
*
* @param outputName
* The name used to identify an output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Output withOutputName(String outputName) {
setOutputName(outputName);
return this;
}
/**
* Output type-specific settings.
*
* @param outputSettings
* Output type-specific settings.
*/
public void setOutputSettings(OutputSettings outputSettings) {
this.outputSettings = outputSettings;
}
/**
* Output type-specific settings.
*
* @return Output type-specific settings.
*/
public OutputSettings getOutputSettings() {
return this.outputSettings;
}
/**
* Output type-specific settings.
*
* @param outputSettings
* Output type-specific settings.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Output withOutputSettings(OutputSettings outputSettings) {
setOutputSettings(outputSettings);
return this;
}
/**
* The name of the VideoDescription used as the source for this output.
*
* @param videoDescriptionName
* The name of the VideoDescription used as the source for this output.
*/
public void setVideoDescriptionName(String videoDescriptionName) {
this.videoDescriptionName = videoDescriptionName;
}
/**
* The name of the VideoDescription used as the source for this output.
*
* @return The name of the VideoDescription used as the source for this output.
*/
public String getVideoDescriptionName() {
return this.videoDescriptionName;
}
/**
* The name of the VideoDescription used as the source for this output.
*
* @param videoDescriptionName
* The name of the VideoDescription used as the source for this output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Output withVideoDescriptionName(String videoDescriptionName) {
setVideoDescriptionName(videoDescriptionName);
return this;
}
/**
* 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.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getAudioDescriptionNames() != null)
sb.append("AudioDescriptionNames: ").append(getAudioDescriptionNames()).append(",");
if (getCaptionDescriptionNames() != null)
sb.append("CaptionDescriptionNames: ").append(getCaptionDescriptionNames()).append(",");
if (getOutputName() != null)
sb.append("OutputName: ").append(getOutputName()).append(",");
if (getOutputSettings() != null)
sb.append("OutputSettings: ").append(getOutputSettings()).append(",");
if (getVideoDescriptionName() != null)
sb.append("VideoDescriptionName: ").append(getVideoDescriptionName());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Output == false)
return false;
Output other = (Output) obj;
if (other.getAudioDescriptionNames() == null ^ this.getAudioDescriptionNames() == null)
return false;
if (other.getAudioDescriptionNames() != null && other.getAudioDescriptionNames().equals(this.getAudioDescriptionNames()) == false)
return false;
if (other.getCaptionDescriptionNames() == null ^ this.getCaptionDescriptionNames() == null)
return false;
if (other.getCaptionDescriptionNames() != null && other.getCaptionDescriptionNames().equals(this.getCaptionDescriptionNames()) == false)
return false;
if (other.getOutputName() == null ^ this.getOutputName() == null)
return false;
if (other.getOutputName() != null && other.getOutputName().equals(this.getOutputName()) == false)
return false;
if (other.getOutputSettings() == null ^ this.getOutputSettings() == null)
return false;
if (other.getOutputSettings() != null && other.getOutputSettings().equals(this.getOutputSettings()) == false)
return false;
if (other.getVideoDescriptionName() == null ^ this.getVideoDescriptionName() == null)
return false;
if (other.getVideoDescriptionName() != null && other.getVideoDescriptionName().equals(this.getVideoDescriptionName()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAudioDescriptionNames() == null) ? 0 : getAudioDescriptionNames().hashCode());
hashCode = prime * hashCode + ((getCaptionDescriptionNames() == null) ? 0 : getCaptionDescriptionNames().hashCode());
hashCode = prime * hashCode + ((getOutputName() == null) ? 0 : getOutputName().hashCode());
hashCode = prime * hashCode + ((getOutputSettings() == null) ? 0 : getOutputSettings().hashCode());
hashCode = prime * hashCode + ((getVideoDescriptionName() == null) ? 0 : getVideoDescriptionName().hashCode());
return hashCode;
}
@Override
public Output clone() {
try {
return (Output) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.medialive.model.transform.OutputMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}