
com.amazonaws.services.apigateway.model.UpdateMethodResponseResult Maven / Gradle / Ivy
/*
* Copyright 2017-2022 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 javax.annotation.Generated;
/**
*
* Represents a method response of a given HTTP status code returned to the client. The method response is passed from
* the back end through the associated integration response that can be transformed using a mapping template.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class UpdateMethodResponseResult extends com.amazonaws.AmazonWebServiceResult implements Serializable, Cloneable {
/**
*
* The method response's status code.
*
*/
private String statusCode;
/**
*
* A key-value map specifying required or optional response parameters that API Gateway can send back to the caller.
* A key defines a method response header and the value specifies whether the associated method response header is
* required or not. The expression of the key must match the pattern method.response.header.{name}
,
* where name
is a valid and unique header name. API Gateway passes certain integration response data
* to the method response headers specified here according to the mapping you prescribe in the API's
* IntegrationResponse. The integration response data that can be mapped include an integration response header
* expressed in integration.response.header.{name}
, a static value enclosed within a pair of single
* quotes (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the
* form of integration.response.body.{JSON-expression}
, where JSON-expression
is a valid
* JSON expression without the $
prefix.)
*
*/
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 UpdateMethodResponseResult withStatusCode(String statusCode) {
setStatusCode(statusCode);
return this;
}
/**
*
* A key-value map specifying required or optional response parameters that API Gateway can send back to the caller.
* A key defines a method response header and the value specifies whether the associated method response header is
* required or not. The expression of the key must match the pattern method.response.header.{name}
,
* where name
is a valid and unique header name. API Gateway passes certain integration response data
* to the method response headers specified here according to the mapping you prescribe in the API's
* IntegrationResponse. The integration response data that can be mapped include an integration response header
* expressed in integration.response.header.{name}
, a static value enclosed within a pair of single
* quotes (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the
* form of integration.response.body.{JSON-expression}
, where JSON-expression
is a valid
* JSON expression without the $
prefix.)
*
*
* @return A key-value map specifying required or optional response parameters that API Gateway can send back to the
* caller. A key defines a method response header and the value specifies whether the associated method
* response header is required or not. The expression of the key must match the pattern
* method.response.header.{name}
, where name
is a valid and unique header name.
* API Gateway passes certain integration response data to the method response headers specified here
* according to the mapping you prescribe in the API's IntegrationResponse. The integration response data
* that can be mapped include an integration response header expressed in
* integration.response.header.{name}
, a static value enclosed within a pair of single quotes
* (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the
* form of integration.response.body.{JSON-expression}
, where JSON-expression
is a
* valid JSON expression without the $
prefix.)
*/
public java.util.Map getResponseParameters() {
return responseParameters;
}
/**
*
* A key-value map specifying required or optional response parameters that API Gateway can send back to the caller.
* A key defines a method response header and the value specifies whether the associated method response header is
* required or not. The expression of the key must match the pattern method.response.header.{name}
,
* where name
is a valid and unique header name. API Gateway passes certain integration response data
* to the method response headers specified here according to the mapping you prescribe in the API's
* IntegrationResponse. The integration response data that can be mapped include an integration response header
* expressed in integration.response.header.{name}
, a static value enclosed within a pair of single
* quotes (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the
* form of integration.response.body.{JSON-expression}
, where JSON-expression
is a valid
* JSON expression without the $
prefix.)
*
*
* @param responseParameters
* A key-value map specifying required or optional response parameters that API Gateway can send back to the
* caller. A key defines a method response header and the value specifies whether the associated method
* response header is required or not. The expression of the key must match the pattern
* method.response.header.{name}
, where name
is a valid and unique header name. API
* Gateway passes certain integration response data to the method response headers specified here according
* to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be
* mapped include an integration response header expressed in integration.response.header.{name}
* , a static value enclosed within a pair of single quotes (e.g., 'application/json'
), or a
* JSON expression from the back-end response payload in the form of
* integration.response.body.{JSON-expression}
, where 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 required or optional response parameters that API Gateway can send back to the caller.
* A key defines a method response header and the value specifies whether the associated method response header is
* required or not. The expression of the key must match the pattern method.response.header.{name}
,
* where name
is a valid and unique header name. API Gateway passes certain integration response data
* to the method response headers specified here according to the mapping you prescribe in the API's
* IntegrationResponse. The integration response data that can be mapped include an integration response header
* expressed in integration.response.header.{name}
, a static value enclosed within a pair of single
* quotes (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the
* form of integration.response.body.{JSON-expression}
, where JSON-expression
is a valid
* JSON expression without the $
prefix.)
*
*
* @param responseParameters
* A key-value map specifying required or optional response parameters that API Gateway can send back to the
* caller. A key defines a method response header and the value specifies whether the associated method
* response header is required or not. The expression of the key must match the pattern
* method.response.header.{name}
, where name
is a valid and unique header name. API
* Gateway passes certain integration response data to the method response headers specified here according
* to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be
* mapped include an integration response header expressed in integration.response.header.{name}
* , a static value enclosed within a pair of single quotes (e.g., 'application/json'
), or a
* JSON expression from the back-end response payload in the form of
* integration.response.body.{JSON-expression}
, where 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 UpdateMethodResponseResult withResponseParameters(java.util.Map responseParameters) {
setResponseParameters(responseParameters);
return this;
}
/**
* Add a single ResponseParameters entry
*
* @see UpdateMethodResponseResult#withResponseParameters
* @returns a reference to this object so that method calls can be chained together.
*/
public UpdateMethodResponseResult 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.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateMethodResponseResult 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 UpdateMethodResponseResult withResponseModels(java.util.Map responseModels) {
setResponseModels(responseModels);
return this;
}
/**
* Add a single ResponseModels entry
*
* @see UpdateMethodResponseResult#withResponseModels
* @returns a reference to this object so that method calls can be chained together.
*/
public UpdateMethodResponseResult 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.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateMethodResponseResult clearResponseModelsEntries() {
this.responseModels = null;
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @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: ").append(getStatusCode()).append(",");
if (getResponseParameters() != null)
sb.append("ResponseParameters: ").append(getResponseParameters()).append(",");
if (getResponseModels() != null)
sb.append("ResponseModels: ").append(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 UpdateMethodResponseResult == false)
return false;
UpdateMethodResponseResult other = (UpdateMethodResponseResult) 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 UpdateMethodResponseResult clone() {
try {
return (UpdateMethodResponseResult) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}