com.amazonaws.services.elastictranscoder.model.Notifications Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi Show documentation
/*
 * Copyright 2010-2016 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.elastictranscoder.model;
import java.io.Serializable;
/**
 * 
 * The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify
 * in order to report job status.
 * 
 * To receive notifications, you must also subscribe to the new topic
 * in the Amazon SNS console. 
 */
public class Notifications implements Serializable, Cloneable {
    /**
     * 
     * The Amazon Simple Notification Service (Amazon SNS) topic that you want
     * to notify when Elastic Transcoder has started to process the job.
     * 
     */
    private String progressing;
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder has
     * finished processing the job.
     * 
     */
    private String completed;
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder
     * encounters a warning condition.
     * 
     */
    private String warning;
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder
     * encounters an error condition.
     * 
     */
    private String error;
    /**
     * 
     * The Amazon Simple Notification Service (Amazon SNS) topic that you want
     * to notify when Elastic Transcoder has started to process the job.
     * 
     * 
     * @param progressing
     *        The Amazon Simple Notification Service (Amazon SNS) topic that you
     *        want to notify when Elastic Transcoder has started to process the
     *        job.
     */
    public void setProgressing(String progressing) {
        this.progressing = progressing;
    }
    /**
     * 
     * The Amazon Simple Notification Service (Amazon SNS) topic that you want
     * to notify when Elastic Transcoder has started to process the job.
     * 
     * 
     * @return The Amazon Simple Notification Service (Amazon SNS) topic that
     *         you want to notify when Elastic Transcoder has started to process
     *         the job.
     */
    public String getProgressing() {
        return this.progressing;
    }
    /**
     * 
     * The Amazon Simple Notification Service (Amazon SNS) topic that you want
     * to notify when Elastic Transcoder has started to process the job.
     * 
     * 
     * @param progressing
     *        The Amazon Simple Notification Service (Amazon SNS) topic that you
     *        want to notify when Elastic Transcoder has started to process the
     *        job.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public Notifications withProgressing(String progressing) {
        setProgressing(progressing);
        return this;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder has
     * finished processing the job.
     * 
     * 
     * @param completed
     *        The Amazon SNS topic that you want to notify when Elastic
     *        Transcoder has finished processing the job.
     */
    public void setCompleted(String completed) {
        this.completed = completed;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder has
     * finished processing the job.
     * 
     * 
     * @return The Amazon SNS topic that you want to notify when Elastic
     *         Transcoder has finished processing the job.
     */
    public String getCompleted() {
        return this.completed;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder has
     * finished processing the job.
     * 
     * 
     * @param completed
     *        The Amazon SNS topic that you want to notify when Elastic
     *        Transcoder has finished processing the job.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public Notifications withCompleted(String completed) {
        setCompleted(completed);
        return this;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder
     * encounters a warning condition.
     * 
     * 
     * @param warning
     *        The Amazon SNS topic that you want to notify when Elastic
     *        Transcoder encounters a warning condition.
     */
    public void setWarning(String warning) {
        this.warning = warning;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder
     * encounters a warning condition.
     * 
     * 
     * @return The Amazon SNS topic that you want to notify when Elastic
     *         Transcoder encounters a warning condition.
     */
    public String getWarning() {
        return this.warning;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder
     * encounters a warning condition.
     * 
     * 
     * @param warning
     *        The Amazon SNS topic that you want to notify when Elastic
     *        Transcoder encounters a warning condition.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public Notifications withWarning(String warning) {
        setWarning(warning);
        return this;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder
     * encounters an error condition.
     * 
     * 
     * @param error
     *        The Amazon SNS topic that you want to notify when Elastic
     *        Transcoder encounters an error condition.
     */
    public void setError(String error) {
        this.error = error;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder
     * encounters an error condition.
     * 
     * 
     * @return The Amazon SNS topic that you want to notify when Elastic
     *         Transcoder encounters an error condition.
     */
    public String getError() {
        return this.error;
    }
    /**
     * 
     * The Amazon SNS topic that you want to notify when Elastic Transcoder
     * encounters an error condition.
     * 
     * 
     * @param error
     *        The Amazon SNS topic that you want to notify when Elastic
     *        Transcoder encounters an error condition.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public Notifications withError(String error) {
        setError(error);
        return this;
    }
    /**
     * Returns a string representation of this object; useful for testing and
     * debugging.
     *
     * @return A string representation of this object.
     *
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getProgressing() != null)
            sb.append("Progressing: " + getProgressing() + ",");
        if (getCompleted() != null)
            sb.append("Completed: " + getCompleted() + ",");
        if (getWarning() != null)
            sb.append("Warning: " + getWarning() + ",");
        if (getError() != null)
            sb.append("Error: " + getError());
        sb.append("}");
        return sb.toString();
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (obj instanceof Notifications == false)
            return false;
        Notifications other = (Notifications) obj;
        if (other.getProgressing() == null ^ this.getProgressing() == null)
            return false;
        if (other.getProgressing() != null
                && other.getProgressing().equals(this.getProgressing()) == false)
            return false;
        if (other.getCompleted() == null ^ this.getCompleted() == null)
            return false;
        if (other.getCompleted() != null
                && other.getCompleted().equals(this.getCompleted()) == false)
            return false;
        if (other.getWarning() == null ^ this.getWarning() == null)
            return false;
        if (other.getWarning() != null
                && other.getWarning().equals(this.getWarning()) == false)
            return false;
        if (other.getError() == null ^ this.getError() == null)
            return false;
        if (other.getError() != null
                && other.getError().equals(this.getError()) == false)
            return false;
        return true;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        hashCode = prime
                * hashCode
                + ((getProgressing() == null) ? 0 : getProgressing().hashCode());
        hashCode = prime * hashCode
                + ((getCompleted() == null) ? 0 : getCompleted().hashCode());
        hashCode = prime * hashCode
                + ((getWarning() == null) ? 0 : getWarning().hashCode());
        hashCode = prime * hashCode
                + ((getError() == null) ? 0 : getError().hashCode());
        return hashCode;
    }
    @Override
    public Notifications clone() {
        try {
            return (Notifications) super.clone();
        } catch (CloneNotSupportedException e) {
            throw new IllegalStateException(
                    "Got a CloneNotSupportedException from Object.clone() "
                            + "even though we're Cloneable!", e);
        }
    }
}