com.amazonaws.services.apigateway.model.PutMethodResponseRequest 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.apigateway.model;
import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;
/**
 * 
 * Request to add a MethodResponse to an existing Method resource.
 * 
 */
public class PutMethodResponseRequest extends AmazonWebServiceRequest implements
        Serializable, Cloneable {
    /**
     * 
     * The RestApi identifier for the Method resource.
     * 
     */
    private String restApiId;
    /**
     * 
     * The Resource identifier for the Method resource.
     * 
     */
    private String resourceId;
    /**
     * 
     * The HTTP verb that identifies the Method resource.
     * 
     */
    private String httpMethod;
    /**
     * 
     * The method response's status code.
     * 
     */
    private String statusCode;
    /**
     * 
     * Represents response parameters that can be sent back to the caller by
     * Amazon API Gateway. Response parameters are represented as a key/value
     * map, with a destination as the key and a Boolean flag as the value. The
     * Boolean flag is used to specify whether the parameter is required. A
     * destination must match the pattern
     * method.response.header.{name}, where name is a
     * valid, unique header name. Destinations specified here are available to
     * the integration for mapping from integration response parameters.
     * 
     */
    private java.util.Map responseParameters;
    /**
     * 
     * Specifies the Model resources used for the response's content
     * type. Response models are represented as a key/value map, with a content
     * type as the key and a Model name as the value.
     * 
     */
    private java.util.Map responseModels;
    /**
     * 
     * The RestApi identifier for the Method resource.
     * 
     * 
     * @param restApiId
     *        The RestApi identifier for the Method resource.
     */
    public void setRestApiId(String restApiId) {
        this.restApiId = restApiId;
    }
    /**
     * 
     * The RestApi identifier for the Method resource.
     * 
     * 
     * @return The RestApi identifier for the Method resource.
     */
    public String getRestApiId() {
        return this.restApiId;
    }
    /**
     * 
     * The RestApi identifier for the Method resource.
     * 
     * 
     * @param restApiId
     *        The RestApi identifier for the Method resource.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutMethodResponseRequest withRestApiId(String restApiId) {
        setRestApiId(restApiId);
        return this;
    }
    /**
     * 
     * The Resource identifier for the Method resource.
     * 
     * 
     * @param resourceId
     *        The Resource identifier for the Method resource.
     */
    public void setResourceId(String resourceId) {
        this.resourceId = resourceId;
    }
    /**
     * 
     * The Resource identifier for the Method resource.
     * 
     * 
     * @return The Resource identifier for the Method resource.
     */
    public String getResourceId() {
        return this.resourceId;
    }
    /**
     * 
     * The Resource identifier for the Method resource.
     * 
     * 
     * @param resourceId
     *        The Resource identifier for the Method resource.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutMethodResponseRequest withResourceId(String resourceId) {
        setResourceId(resourceId);
        return this;
    }
    /**
     * 
     * The HTTP verb that identifies the Method resource.
     * 
     * 
     * @param httpMethod
     *        The HTTP verb that identifies the Method resource.
     */
    public void setHttpMethod(String httpMethod) {
        this.httpMethod = httpMethod;
    }
    /**
     * 
     * The HTTP verb that identifies the Method resource.
     * 
     * 
     * @return The HTTP verb that identifies the Method resource.
     */
    public String getHttpMethod() {
        return this.httpMethod;
    }
    /**
     * 
     * The HTTP verb that identifies the Method resource.
     * 
     * 
     * @param httpMethod
     *        The HTTP verb that identifies the Method resource.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutMethodResponseRequest withHttpMethod(String httpMethod) {
        setHttpMethod(httpMethod);
        return this;
    }
    /**
     * 
     * The method response's status code.
     * 
     * 
     * @param statusCode
     *        The method response's status code.
     */
    public void setStatusCode(String statusCode) {
        this.statusCode = statusCode;
    }
    /**
     * 
     * The method response's status code.
     * 
     * 
     * @return The method response's status code.
     */
    public String getStatusCode() {
        return this.statusCode;
    }
    /**
     * 
     * The method response's status code.
     * 
     * 
     * @param statusCode
     *        The method response's status code.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutMethodResponseRequest withStatusCode(String statusCode) {
        setStatusCode(statusCode);
        return this;
    }
    /**
     * 
     * Represents response parameters that can be sent back to the caller by
     * Amazon API Gateway. Response parameters are represented as a key/value
     * map, with a destination as the key and a Boolean flag as the value. The
     * Boolean flag is used to specify whether the parameter is required. A
     * destination must match the pattern
     * method.response.header.{name}, where name is a
     * valid, unique header name. Destinations specified here are available to
     * the integration for mapping from integration response parameters.
     * 
     * 
     * @return Represents response parameters that can be sent back to the
     *         caller by Amazon API Gateway. Response parameters are represented
     *         as a key/value map, with a destination as the key and a Boolean
     *         flag as the value. The Boolean flag is used to specify whether
     *         the parameter is required. A destination must match the pattern
     *         method.response.header.{name}, where
     *         name is a valid, unique header name. Destinations
     *         specified here are available to the integration for mapping from
     *         integration response parameters.
     */
    public java.util.Map getResponseParameters() {
        return responseParameters;
    }
    /**
     * 
     * Represents response parameters that can be sent back to the caller by
     * Amazon API Gateway. Response parameters are represented as a key/value
     * map, with a destination as the key and a Boolean flag as the value. The
     * Boolean flag is used to specify whether the parameter is required. A
     * destination must match the pattern
     * method.response.header.{name}, where name is a
     * valid, unique header name. Destinations specified here are available to
     * the integration for mapping from integration response parameters.
     * 
     * 
     * @param responseParameters
     *        Represents response parameters that can be sent back to the caller
     *        by Amazon API Gateway. Response parameters are represented as a
     *        key/value map, with a destination as the key and a Boolean flag as
     *        the value. The Boolean flag is used to specify whether the
     *        parameter is required. A destination must match the pattern
     *        method.response.header.{name}, where
     *        name is a valid, unique header name. Destinations
     *        specified here are available to the integration for mapping from
     *        integration response parameters.
     */
    public void setResponseParameters(
            java.util.Map responseParameters) {
        this.responseParameters = responseParameters;
    }
    /**
     * 
     * Represents response parameters that can be sent back to the caller by
     * Amazon API Gateway. Response parameters are represented as a key/value
     * map, with a destination as the key and a Boolean flag as the value. The
     * Boolean flag is used to specify whether the parameter is required. A
     * destination must match the pattern
     * method.response.header.{name}, where name is a
     * valid, unique header name. Destinations specified here are available to
     * the integration for mapping from integration response parameters.
     * 
     * 
     * @param responseParameters
     *        Represents response parameters that can be sent back to the caller
     *        by Amazon API Gateway. Response parameters are represented as a
     *        key/value map, with a destination as the key and a Boolean flag as
     *        the value. The Boolean flag is used to specify whether the
     *        parameter is required. A destination must match the pattern
     *        method.response.header.{name}, where
     *        name is a valid, unique header name. Destinations
     *        specified here are available to the integration for mapping from
     *        integration response parameters.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutMethodResponseRequest withResponseParameters(
            java.util.Map responseParameters) {
        setResponseParameters(responseParameters);
        return this;
    }
    public PutMethodResponseRequest addResponseParametersEntry(String key,
            Boolean value) {
        if (null == this.responseParameters) {
            this.responseParameters = new java.util.HashMap();
        }
        if (this.responseParameters.containsKey(key))
            throw new IllegalArgumentException("Duplicated keys ("
                    + key.toString() + ") are provided.");
        this.responseParameters.put(key, value);
        return this;
    }
    /**
     * Removes all the entries added into ResponseParameters. <p> Returns a
     * reference to this object so that method calls can be chained together.
     */
    public PutMethodResponseRequest clearResponseParametersEntries() {
        this.responseParameters = null;
        return this;
    }
    /**
     * 
     * Specifies the Model resources used for the response's content
     * type. Response models are represented as a key/value map, with a content
     * type as the key and a Model name as the value.
     * 
     * 
     * @return Specifies the Model resources used for the response's
     *         content type. Response models are represented as a key/value map,
     *         with a content type as the key and a Model name as the
     *         value.
     */
    public java.util.Map getResponseModels() {
        return responseModels;
    }
    /**
     * 
     * Specifies the Model resources used for the response's content
     * type. Response models are represented as a key/value map, with a content
     * type as the key and a Model name as the value.
     * 
     * 
     * @param responseModels
     *        Specifies the Model resources used for the response's
     *        content type. Response models are represented as a key/value map,
     *        with a content type as the key and a Model name as the
     *        value.
     */
    public void setResponseModels(java.util.Map responseModels) {
        this.responseModels = responseModels;
    }
    /**
     * 
     * Specifies the Model resources used for the response's content
     * type. Response models are represented as a key/value map, with a content
     * type as the key and a Model name as the value.
     * 
     * 
     * @param responseModels
     *        Specifies the Model resources used for the response's
     *        content type. Response models are represented as a key/value map,
     *        with a content type as the key and a Model name as the
     *        value.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutMethodResponseRequest withResponseModels(
            java.util.Map responseModels) {
        setResponseModels(responseModels);
        return this;
    }
    public PutMethodResponseRequest addResponseModelsEntry(String key,
            String value) {
        if (null == this.responseModels) {
            this.responseModels = new java.util.HashMap();
        }
        if (this.responseModels.containsKey(key))
            throw new IllegalArgumentException("Duplicated keys ("
                    + key.toString() + ") are provided.");
        this.responseModels.put(key, value);
        return this;
    }
    /**
     * Removes all the entries added into ResponseModels. <p> Returns a
     * reference to this object so that method calls can be chained together.
     */
    public PutMethodResponseRequest clearResponseModelsEntries() {
        this.responseModels = null;
        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 (getRestApiId() != null)
            sb.append("RestApiId: " + getRestApiId() + ",");
        if (getResourceId() != null)
            sb.append("ResourceId: " + getResourceId() + ",");
        if (getHttpMethod() != null)
            sb.append("HttpMethod: " + getHttpMethod() + ",");
        if (getStatusCode() != null)
            sb.append("StatusCode: " + getStatusCode() + ",");
        if (getResponseParameters() != null)
            sb.append("ResponseParameters: " + getResponseParameters() + ",");
        if (getResponseModels() != null)
            sb.append("ResponseModels: " + getResponseModels());
        sb.append("}");
        return sb.toString();
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (obj instanceof PutMethodResponseRequest == false)
            return false;
        PutMethodResponseRequest other = (PutMethodResponseRequest) obj;
        if (other.getRestApiId() == null ^ this.getRestApiId() == null)
            return false;
        if (other.getRestApiId() != null
                && other.getRestApiId().equals(this.getRestApiId()) == false)
            return false;
        if (other.getResourceId() == null ^ this.getResourceId() == null)
            return false;
        if (other.getResourceId() != null
                && other.getResourceId().equals(this.getResourceId()) == false)
            return false;
        if (other.getHttpMethod() == null ^ this.getHttpMethod() == null)
            return false;
        if (other.getHttpMethod() != null
                && other.getHttpMethod().equals(this.getHttpMethod()) == false)
            return false;
        if (other.getStatusCode() == null ^ this.getStatusCode() == null)
            return false;
        if (other.getStatusCode() != null
                && other.getStatusCode().equals(this.getStatusCode()) == false)
            return false;
        if (other.getResponseParameters() == null
                ^ this.getResponseParameters() == null)
            return false;
        if (other.getResponseParameters() != null
                && other.getResponseParameters().equals(
                        this.getResponseParameters()) == false)
            return false;
        if (other.getResponseModels() == null
                ^ this.getResponseModels() == null)
            return false;
        if (other.getResponseModels() != null
                && other.getResponseModels().equals(this.getResponseModels()) == false)
            return false;
        return true;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        hashCode = prime * hashCode
                + ((getRestApiId() == null) ? 0 : getRestApiId().hashCode());
        hashCode = prime * hashCode
                + ((getResourceId() == null) ? 0 : getResourceId().hashCode());
        hashCode = prime * hashCode
                + ((getHttpMethod() == null) ? 0 : getHttpMethod().hashCode());
        hashCode = prime * hashCode
                + ((getStatusCode() == null) ? 0 : getStatusCode().hashCode());
        hashCode = prime
                * hashCode
                + ((getResponseParameters() == null) ? 0
                        : getResponseParameters().hashCode());
        hashCode = prime
                * hashCode
                + ((getResponseModels() == null) ? 0 : getResponseModels()
                        .hashCode());
        return hashCode;
    }
    @Override
    public PutMethodResponseRequest clone() {
        return (PutMethodResponseRequest) super.clone();
    }
}