
com.amazonaws.services.apigateway.model.GetIntegrationResponseResult Maven / Gradle / Ivy
Show all versions of aws-java-sdk-api-gateway Show documentation
/*
* 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 an integration response. The status code must map to an existing MethodResponse, and parameters and
* templates can be used to transform the back-end response.
*
*
*/
public class GetIntegrationResponseResult extends com.amazonaws.AmazonWebServiceResult implements Serializable, Cloneable {
/**
*
* Specifies the status code that is used to map the integration response to an existing MethodResponse.
*
*/
private String statusCode;
/**
*
* Specifies the regular expression (regex) pattern used to choose an integration response based on the response
* from the back end. For example, if the success response returns nothing and the error response returns some
* string, you could use the .+
regex to match error response. However, make sure that the error
* response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda
* function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status
* code is matched.
*
*/
private String selectionPattern;
/**
*
* A key-value map specifying response parameters that are passed to the method response from the back end. The key
* is a method response header parameter name and the mapped value is an integration response header value, a static
* value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The
* mapping key must match the pattern of method.response.header.{name}
, where name
is a
* valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or integration.response.body.{JSON-expression}
,
* where name
is a valid and unique response header name and JSON-expression
is a valid
* JSON expression without the $
prefix.
*
*/
private java.util.Map responseParameters;
/**
*
* Specifies the templates used to transform the integration response body. Response templates are represented as a
* key/value map, with a content-type as the key and a template as the value.
*
*/
private java.util.Map responseTemplates;
/**
*
* Specifies the status code that is used to map the integration response to an existing MethodResponse.
*
*
* @param statusCode
* Specifies the status code that is used to map the integration response to an existing
* MethodResponse.
*/
public void setStatusCode(String statusCode) {
this.statusCode = statusCode;
}
/**
*
* Specifies the status code that is used to map the integration response to an existing MethodResponse.
*
*
* @return Specifies the status code that is used to map the integration response to an existing
* MethodResponse.
*/
public String getStatusCode() {
return this.statusCode;
}
/**
*
* Specifies the status code that is used to map the integration response to an existing MethodResponse.
*
*
* @param statusCode
* Specifies the status code that is used to map the integration response to an existing
* MethodResponse.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GetIntegrationResponseResult withStatusCode(String statusCode) {
setStatusCode(statusCode);
return this;
}
/**
*
* Specifies the regular expression (regex) pattern used to choose an integration response based on the response
* from the back end. For example, if the success response returns nothing and the error response returns some
* string, you could use the .+
regex to match error response. However, make sure that the error
* response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda
* function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status
* code is matched.
*
*
* @param selectionPattern
* Specifies the regular expression (regex) pattern used to choose an integration response based on the
* response from the back end. For example, if the success response returns nothing and the error response
* returns some string, you could use the .+
regex to match error response. However, make sure
* that the error response does not contain any newline (\n
) character in such cases. If the
* back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP
* and AWS back ends, the HTTP status code is matched.
*/
public void setSelectionPattern(String selectionPattern) {
this.selectionPattern = selectionPattern;
}
/**
*
* Specifies the regular expression (regex) pattern used to choose an integration response based on the response
* from the back end. For example, if the success response returns nothing and the error response returns some
* string, you could use the .+
regex to match error response. However, make sure that the error
* response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda
* function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status
* code is matched.
*
*
* @return Specifies the regular expression (regex) pattern used to choose an integration response based on the
* response from the back end. For example, if the success response returns nothing and the error response
* returns some string, you could use the .+
regex to match error response. However, make sure
* that the error response does not contain any newline (\n
) character in such cases. If the
* back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP
* and AWS back ends, the HTTP status code is matched.
*/
public String getSelectionPattern() {
return this.selectionPattern;
}
/**
*
* Specifies the regular expression (regex) pattern used to choose an integration response based on the response
* from the back end. For example, if the success response returns nothing and the error response returns some
* string, you could use the .+
regex to match error response. However, make sure that the error
* response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda
* function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status
* code is matched.
*
*
* @param selectionPattern
* Specifies the regular expression (regex) pattern used to choose an integration response based on the
* response from the back end. For example, if the success response returns nothing and the error response
* returns some string, you could use the .+
regex to match error response. However, make sure
* that the error response does not contain any newline (\n
) character in such cases. If the
* back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP
* and AWS back ends, the HTTP status code is matched.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GetIntegrationResponseResult withSelectionPattern(String selectionPattern) {
setSelectionPattern(selectionPattern);
return this;
}
/**
*
* A key-value map specifying response parameters that are passed to the method response from the back end. The key
* is a method response header parameter name and the mapped value is an integration response header value, a static
* value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The
* mapping key must match the pattern of method.response.header.{name}
, where name
is a
* valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or integration.response.body.{JSON-expression}
,
* where name
is a valid and unique response header name and JSON-expression
is a valid
* JSON expression without the $
prefix.
*
*
* @return A key-value map specifying response parameters that are passed to the method response from the back end.
* The key is a method response header parameter name and the mapped value is an integration response header
* value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration
* response body. The mapping key must match the pattern of method.response.header.{name}
,
* where name
is a valid and unique header name. The mapped non-static value must match the
* pattern of integration.response.header.{name}
or
* integration.response.body.{JSON-expression}
, where name
is a valid and unique
* response header name and JSON-expression
is a valid JSON expression without the
* $
prefix.
*/
public java.util.Map getResponseParameters() {
return responseParameters;
}
/**
*
* A key-value map specifying response parameters that are passed to the method response from the back end. The key
* is a method response header parameter name and the mapped value is an integration response header value, a static
* value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The
* mapping key must match the pattern of method.response.header.{name}
, where name
is a
* valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or integration.response.body.{JSON-expression}
,
* where name
is a valid and unique response header name and JSON-expression
is a valid
* JSON expression without the $
prefix.
*
*
* @param responseParameters
* A key-value map specifying response parameters that are passed to the method response from the back end.
* The key is a method response header parameter name and the mapped value is an integration response header
* value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration
* response body. The mapping key must match the pattern of method.response.header.{name}
, where
* name
is a valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or
* integration.response.body.{JSON-expression}
, where name
is a valid and unique
* response header name and JSON-expression
is a valid JSON expression without the
* $
prefix.
*/
public void setResponseParameters(java.util.Map responseParameters) {
this.responseParameters = responseParameters;
}
/**
*
* A key-value map specifying response parameters that are passed to the method response from the back end. The key
* is a method response header parameter name and the mapped value is an integration response header value, a static
* value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The
* mapping key must match the pattern of method.response.header.{name}
, where name
is a
* valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or integration.response.body.{JSON-expression}
,
* where name
is a valid and unique response header name and JSON-expression
is a valid
* JSON expression without the $
prefix.
*
*
* @param responseParameters
* A key-value map specifying response parameters that are passed to the method response from the back end.
* The key is a method response header parameter name and the mapped value is an integration response header
* value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration
* response body. The mapping key must match the pattern of method.response.header.{name}
, where
* name
is a valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or
* integration.response.body.{JSON-expression}
, where name
is a valid and unique
* response header name and JSON-expression
is a valid JSON expression without the
* $
prefix.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GetIntegrationResponseResult withResponseParameters(java.util.Map responseParameters) {
setResponseParameters(responseParameters);
return this;
}
public GetIntegrationResponseResult addResponseParametersEntry(String key, String 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 GetIntegrationResponseResult clearResponseParametersEntries() {
this.responseParameters = null;
return this;
}
/**
*
* Specifies the templates used to transform the integration response body. Response templates are represented as a
* key/value map, with a content-type as the key and a template as the value.
*
*
* @return Specifies the templates used to transform the integration response body. Response templates are
* represented as a key/value map, with a content-type as the key and a template as the value.
*/
public java.util.Map getResponseTemplates() {
return responseTemplates;
}
/**
*
* Specifies the templates used to transform the integration response body. Response templates are represented as a
* key/value map, with a content-type as the key and a template as the value.
*
*
* @param responseTemplates
* Specifies the templates used to transform the integration response body. Response templates are
* represented as a key/value map, with a content-type as the key and a template as the value.
*/
public void setResponseTemplates(java.util.Map responseTemplates) {
this.responseTemplates = responseTemplates;
}
/**
*
* Specifies the templates used to transform the integration response body. Response templates are represented as a
* key/value map, with a content-type as the key and a template as the value.
*
*
* @param responseTemplates
* Specifies the templates used to transform the integration response body. Response templates are
* represented as a key/value map, with a content-type as the key and a template as the value.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GetIntegrationResponseResult withResponseTemplates(java.util.Map responseTemplates) {
setResponseTemplates(responseTemplates);
return this;
}
public GetIntegrationResponseResult addResponseTemplatesEntry(String key, String value) {
if (null == this.responseTemplates) {
this.responseTemplates = new java.util.HashMap();
}
if (this.responseTemplates.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.responseTemplates.put(key, value);
return this;
}
/**
* Removes all the entries added into ResponseTemplates. <p> Returns a reference to this object so that method
* calls can be chained together.
*/
public GetIntegrationResponseResult clearResponseTemplatesEntries() {
this.responseTemplates = 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 (getSelectionPattern() != null)
sb.append("SelectionPattern: " + getSelectionPattern() + ",");
if (getResponseParameters() != null)
sb.append("ResponseParameters: " + getResponseParameters() + ",");
if (getResponseTemplates() != null)
sb.append("ResponseTemplates: " + getResponseTemplates());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof GetIntegrationResponseResult == false)
return false;
GetIntegrationResponseResult other = (GetIntegrationResponseResult) obj;
if (other.getStatusCode() == null ^ this.getStatusCode() == null)
return false;
if (other.getStatusCode() != null && other.getStatusCode().equals(this.getStatusCode()) == false)
return false;
if (other.getSelectionPattern() == null ^ this.getSelectionPattern() == null)
return false;
if (other.getSelectionPattern() != null && other.getSelectionPattern().equals(this.getSelectionPattern()) == 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.getResponseTemplates() == null ^ this.getResponseTemplates() == null)
return false;
if (other.getResponseTemplates() != null && other.getResponseTemplates().equals(this.getResponseTemplates()) == 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 + ((getSelectionPattern() == null) ? 0 : getSelectionPattern().hashCode());
hashCode = prime * hashCode + ((getResponseParameters() == null) ? 0 : getResponseParameters().hashCode());
hashCode = prime * hashCode + ((getResponseTemplates() == null) ? 0 : getResponseTemplates().hashCode());
return hashCode;
}
@Override
public GetIntegrationResponseResult clone() {
try {
return (GetIntegrationResponseResult) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}