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

com.amazon.speech.speechlet.interfaces.system.ErrorCause Maven / Gradle / Ivy

There is a newer version: 1.8.1
Show newest version
/*
    Copyright 2014-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.amazon.speech.speechlet.interfaces.system;

import org.apache.commons.lang3.Validate;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * The cause of an error.
 */
public final class ErrorCause {
    private final String requestId;

    /**
     * Returns a new builder instance used to construct a new {@code ErrorCause}.
     *
     * @return the builder
     */
    public static Builder builder() {
        return new Builder();
    }

    public ErrorCause(Builder builder) {
        requestId = builder.requestId;
    }

    /**
     * Private constructor used for JSON serialization and for extending this class.
     *
     * @param requestId
     *            the request ID of the request with a response that caused this error
     */
    @SuppressWarnings("unused")
    private ErrorCause(@JsonProperty("requestId") final String requestId) {
        this.requestId = requestId;
    }

    // Getters

    /**
     * Returns the request ID of the cause of the error
     * 
     * @return the request ID of the cause of the error
     */
    public String getRequestId() {
        return requestId;
    }

    /**
     * Builder used to construct a new {@code SessionStartedRequest}.
     */
    public static final class Builder {
        private String requestId;

        private Builder() {
        }

        public Builder withRequestId(String requestId) {
            this.requestId = requestId;
            return this;
        }

        public ErrorCause build() {
            Validate.notBlank(requestId, "RequestId must be defined");
            return new ErrorCause(this);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy