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

com.amazonaws.services.apigateway.model.MethodResponse Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

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

/**
 * 

* Represents a method response. Amazon API Gateway sends back the status code * to the caller as the HTTP status code. Parameters and models can be used to * transform the response from the method's integration. *

*/ public class MethodResponse implements Serializable, Cloneable { /** *

* 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, which * 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 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 MethodResponse 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, which * 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, which 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, which * 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, which 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, which * 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, which 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 MethodResponse withResponseParameters( java.util.Map responseParameters) { setResponseParameters(responseParameters); return this; } public MethodResponse 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 MethodResponse 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 MethodResponse withResponseModels( java.util.Map responseModels) { setResponseModels(responseModels); return this; } public MethodResponse 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 MethodResponse 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 (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 MethodResponse == false) return false; MethodResponse other = (MethodResponse) obj; 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 + ((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 MethodResponse clone() { try { return (MethodResponse) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy