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

com.amazonaws.services.medialive.model.AudioSelectorSettings Maven / Gradle / Ivy

Go to download

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

There is a newer version: 1.12.772
Show newest version
/*
 * 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;

/**
 * Audio Selector Settings
 * 
 * @see AWS
 *      API Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AudioSelectorSettings implements Serializable, Cloneable, StructuredPojo {

    private AudioHlsRenditionSelection audioHlsRenditionSelection;

    private AudioLanguageSelection audioLanguageSelection;

    private AudioPidSelection audioPidSelection;

    private AudioTrackSelection audioTrackSelection;

    /**
     * @param audioHlsRenditionSelection
     */

    public void setAudioHlsRenditionSelection(AudioHlsRenditionSelection audioHlsRenditionSelection) {
        this.audioHlsRenditionSelection = audioHlsRenditionSelection;
    }

    /**
     * @return
     */

    public AudioHlsRenditionSelection getAudioHlsRenditionSelection() {
        return this.audioHlsRenditionSelection;
    }

    /**
     * @param audioHlsRenditionSelection
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioSelectorSettings withAudioHlsRenditionSelection(AudioHlsRenditionSelection audioHlsRenditionSelection) {
        setAudioHlsRenditionSelection(audioHlsRenditionSelection);
        return this;
    }

    /**
     * @param audioLanguageSelection
     */

    public void setAudioLanguageSelection(AudioLanguageSelection audioLanguageSelection) {
        this.audioLanguageSelection = audioLanguageSelection;
    }

    /**
     * @return
     */

    public AudioLanguageSelection getAudioLanguageSelection() {
        return this.audioLanguageSelection;
    }

    /**
     * @param audioLanguageSelection
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioSelectorSettings withAudioLanguageSelection(AudioLanguageSelection audioLanguageSelection) {
        setAudioLanguageSelection(audioLanguageSelection);
        return this;
    }

    /**
     * @param audioPidSelection
     */

    public void setAudioPidSelection(AudioPidSelection audioPidSelection) {
        this.audioPidSelection = audioPidSelection;
    }

    /**
     * @return
     */

    public AudioPidSelection getAudioPidSelection() {
        return this.audioPidSelection;
    }

    /**
     * @param audioPidSelection
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioSelectorSettings withAudioPidSelection(AudioPidSelection audioPidSelection) {
        setAudioPidSelection(audioPidSelection);
        return this;
    }

    /**
     * @param audioTrackSelection
     */

    public void setAudioTrackSelection(AudioTrackSelection audioTrackSelection) {
        this.audioTrackSelection = audioTrackSelection;
    }

    /**
     * @return
     */

    public AudioTrackSelection getAudioTrackSelection() {
        return this.audioTrackSelection;
    }

    /**
     * @param audioTrackSelection
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioSelectorSettings withAudioTrackSelection(AudioTrackSelection audioTrackSelection) {
        setAudioTrackSelection(audioTrackSelection);
        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 (getAudioHlsRenditionSelection() != null)
            sb.append("AudioHlsRenditionSelection: ").append(getAudioHlsRenditionSelection()).append(",");
        if (getAudioLanguageSelection() != null)
            sb.append("AudioLanguageSelection: ").append(getAudioLanguageSelection()).append(",");
        if (getAudioPidSelection() != null)
            sb.append("AudioPidSelection: ").append(getAudioPidSelection()).append(",");
        if (getAudioTrackSelection() != null)
            sb.append("AudioTrackSelection: ").append(getAudioTrackSelection());
        sb.append("}");
        return sb.toString();
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;

        if (obj instanceof AudioSelectorSettings == false)
            return false;
        AudioSelectorSettings other = (AudioSelectorSettings) obj;
        if (other.getAudioHlsRenditionSelection() == null ^ this.getAudioHlsRenditionSelection() == null)
            return false;
        if (other.getAudioHlsRenditionSelection() != null && other.getAudioHlsRenditionSelection().equals(this.getAudioHlsRenditionSelection()) == false)
            return false;
        if (other.getAudioLanguageSelection() == null ^ this.getAudioLanguageSelection() == null)
            return false;
        if (other.getAudioLanguageSelection() != null && other.getAudioLanguageSelection().equals(this.getAudioLanguageSelection()) == false)
            return false;
        if (other.getAudioPidSelection() == null ^ this.getAudioPidSelection() == null)
            return false;
        if (other.getAudioPidSelection() != null && other.getAudioPidSelection().equals(this.getAudioPidSelection()) == false)
            return false;
        if (other.getAudioTrackSelection() == null ^ this.getAudioTrackSelection() == null)
            return false;
        if (other.getAudioTrackSelection() != null && other.getAudioTrackSelection().equals(this.getAudioTrackSelection()) == false)
            return false;
        return true;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;

        hashCode = prime * hashCode + ((getAudioHlsRenditionSelection() == null) ? 0 : getAudioHlsRenditionSelection().hashCode());
        hashCode = prime * hashCode + ((getAudioLanguageSelection() == null) ? 0 : getAudioLanguageSelection().hashCode());
        hashCode = prime * hashCode + ((getAudioPidSelection() == null) ? 0 : getAudioPidSelection().hashCode());
        hashCode = prime * hashCode + ((getAudioTrackSelection() == null) ? 0 : getAudioTrackSelection().hashCode());
        return hashCode;
    }

    @Override
    public AudioSelectorSettings clone() {
        try {
            return (AudioSelectorSettings) 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.AudioSelectorSettingsMarshaller.getInstance().marshall(this, protocolMarshaller);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy