
com.amazonaws.services.apigateway.model.GetIntegrationResult 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 a HTTP, AWS, or Mock integration.
*
*/
public class GetIntegrationResult implements Serializable, Cloneable {
/**
*
* Specifies the integration's type. The valid value is HTTP
,
* AWS
, or MOCK
.
*
*/
private String type;
/**
*
* Specifies the integration's HTTP method type.
*
*/
private String httpMethod;
/**
*
* Specifies the integration's Uniform Resource Identifier (URI). For HTTP
* integrations, the URI must be a fully formed, encoded HTTP(S) URL
* according to the RFC-3986 specification. For AWS integrations, the URI
* should be of the form
* arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
. Region
, subdomain
and service
* are used to determine the right endpoint. For AWS services that use the
* Action=
query string parameter, service_api
* should be a valid action for the desired service. For RESTful AWS service
* APIs, path
is used to indicate that the remaining substring
* in the URI should be treated as the path to the resource, including the
* initial /
.
*
*/
private String uri;
/**
*
* Specifies the credentials required for the integration, if any. For AWS
* integrations, three options are available. To specify an IAM Role for
* Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN).
* To require that the caller's identity be passed through from the request,
* specify the string arn:aws:iam::\*:user/\*
. To use
* resource-based permissions on supported AWS services, specify null.
*
*/
private String credentials;
/**
*
* Represents requests parameters that are sent with the backend request.
* Request parameters are represented as a key/value map, with a destination
* as the key and a source as the value. A source must match an existing
* method request parameter, or a static value. Static values must be
* enclosed with single quotes, and be pre-encoded based on their
* destination in the request. The destination must match the pattern
* integration.request.{location}.{name}
, where
* location
is either querystring, path, or header.
* name
must be a valid, unique parameter name.
*
*/
private java.util.Map requestParameters;
/**
*
* Represents a map of Velocity templates that are applied on the request
* payload based on the value of the Content-Type header sent by the client.
* The content type value is the key in this map, and the template (as a
* String) is the value.
*
*/
private java.util.Map requestTemplates;
/**
*
* Specifies the pass-through behavior for incoming requests based on the
* Content-Type header in the request, and the available requestTemplates
* defined on the Integration. There are three valid values:
* WHEN_NO_MATCH
, WHEN_NO_TEMPLATES
, and
* NEVER
.
*
*
*
* WHEN_NO_MATCH
passes the request body for unmapped content
* types through to the Integration backend without transformation.
*
*
* NEVER
rejects unmapped content types with an HTTP 415
* 'Unsupported Media Type' response.
*
*
* WHEN_NO_TEMPLATES
will allow pass-through when the
* Integration has NO content types mapped to templates. However if there is
* at least one content type defined, unmapped content types will be
* rejected with the same 415 response.
*
*/
private String passthroughBehavior;
/**
*
* Specifies the integration's cache namespace.
*
*/
private String cacheNamespace;
/**
*
* Specifies the integration's cache key parameters.
*
*/
private java.util.List cacheKeyParameters;
/**
*
* Specifies the integration's responses.
*
*/
private java.util.Map integrationResponses;
/**
*
* Specifies the integration's type. The valid value is HTTP
,
* AWS
, or MOCK
.
*
*
* @param type
* Specifies the integration's type. The valid value is
* HTTP
, AWS
, or MOCK
.
* @see IntegrationType
*/
public void setType(String type) {
this.type = type;
}
/**
*
* Specifies the integration's type. The valid value is HTTP
,
* AWS
, or MOCK
.
*
*
* @return Specifies the integration's type. The valid value is
* HTTP
, AWS
, or MOCK
.
* @see IntegrationType
*/
public String getType() {
return this.type;
}
/**
*
* Specifies the integration's type. The valid value is HTTP
,
* AWS
, or MOCK
.
*
*
* @param type
* Specifies the integration's type. The valid value is
* HTTP
, AWS
, or MOCK
.
* @return Returns a reference to this object so that method calls can be
* chained together.
* @see IntegrationType
*/
public GetIntegrationResult withType(String type) {
setType(type);
return this;
}
/**
*
* Specifies the integration's type. The valid value is HTTP
,
* AWS
, or MOCK
.
*
*
* @param type
* Specifies the integration's type. The valid value is
* HTTP
, AWS
, or MOCK
.
* @see IntegrationType
*/
public void setType(IntegrationType type) {
this.type = type.toString();
}
/**
*
* Specifies the integration's type. The valid value is HTTP
,
* AWS
, or MOCK
.
*
*
* @param type
* Specifies the integration's type. The valid value is
* HTTP
, AWS
, or MOCK
.
* @return Returns a reference to this object so that method calls can be
* chained together.
* @see IntegrationType
*/
public GetIntegrationResult withType(IntegrationType type) {
setType(type);
return this;
}
/**
*
* Specifies the integration's HTTP method type.
*
*
* @param httpMethod
* Specifies the integration's HTTP method type.
*/
public void setHttpMethod(String httpMethod) {
this.httpMethod = httpMethod;
}
/**
*
* Specifies the integration's HTTP method type.
*
*
* @return Specifies the integration's HTTP method type.
*/
public String getHttpMethod() {
return this.httpMethod;
}
/**
*
* Specifies the integration's HTTP method type.
*
*
* @param httpMethod
* Specifies the integration's HTTP method type.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withHttpMethod(String httpMethod) {
setHttpMethod(httpMethod);
return this;
}
/**
*
* Specifies the integration's Uniform Resource Identifier (URI). For HTTP
* integrations, the URI must be a fully formed, encoded HTTP(S) URL
* according to the RFC-3986 specification. For AWS integrations, the URI
* should be of the form
* arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
. Region
, subdomain
and service
* are used to determine the right endpoint. For AWS services that use the
* Action=
query string parameter, service_api
* should be a valid action for the desired service. For RESTful AWS service
* APIs, path
is used to indicate that the remaining substring
* in the URI should be treated as the path to the resource, including the
* initial /
.
*
*
* @param uri
* Specifies the integration's Uniform Resource Identifier (URI). For
* HTTP integrations, the URI must be a fully formed, encoded HTTP(S)
* URL according to the RFC-3986 specification. For AWS integrations,
* the URI should be of the form
* arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
* . Region
, subdomain
and
* service
are used to determine the right endpoint. For
* AWS services that use the Action=
query string
* parameter, service_api
should be a valid action for
* the desired service. For RESTful AWS service APIs,
* path
is used to indicate that the remaining substring
* in the URI should be treated as the path to the resource,
* including the initial /
.
*/
public void setUri(String uri) {
this.uri = uri;
}
/**
*
* Specifies the integration's Uniform Resource Identifier (URI). For HTTP
* integrations, the URI must be a fully formed, encoded HTTP(S) URL
* according to the RFC-3986 specification. For AWS integrations, the URI
* should be of the form
* arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
. Region
, subdomain
and service
* are used to determine the right endpoint. For AWS services that use the
* Action=
query string parameter, service_api
* should be a valid action for the desired service. For RESTful AWS service
* APIs, path
is used to indicate that the remaining substring
* in the URI should be treated as the path to the resource, including the
* initial /
.
*
*
* @return Specifies the integration's Uniform Resource Identifier (URI).
* For HTTP integrations, the URI must be a fully formed, encoded
* HTTP(S) URL according to the RFC-3986 specification. For AWS integrations,
* the URI should be of the form
* arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
* . Region
, subdomain
and
* service
are used to determine the right endpoint.
* For AWS services that use the Action=
query string
* parameter, service_api
should be a valid action for
* the desired service. For RESTful AWS service APIs,
* path
is used to indicate that the remaining
* substring in the URI should be treated as the path to the
* resource, including the initial /
.
*/
public String getUri() {
return this.uri;
}
/**
*
* Specifies the integration's Uniform Resource Identifier (URI). For HTTP
* integrations, the URI must be a fully formed, encoded HTTP(S) URL
* according to the RFC-3986 specification. For AWS integrations, the URI
* should be of the form
* arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
. Region
, subdomain
and service
* are used to determine the right endpoint. For AWS services that use the
* Action=
query string parameter, service_api
* should be a valid action for the desired service. For RESTful AWS service
* APIs, path
is used to indicate that the remaining substring
* in the URI should be treated as the path to the resource, including the
* initial /
.
*
*
* @param uri
* Specifies the integration's Uniform Resource Identifier (URI). For
* HTTP integrations, the URI must be a fully formed, encoded HTTP(S)
* URL according to the RFC-3986 specification. For AWS integrations,
* the URI should be of the form
* arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
* . Region
, subdomain
and
* service
are used to determine the right endpoint. For
* AWS services that use the Action=
query string
* parameter, service_api
should be a valid action for
* the desired service. For RESTful AWS service APIs,
* path
is used to indicate that the remaining substring
* in the URI should be treated as the path to the resource,
* including the initial /
.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withUri(String uri) {
setUri(uri);
return this;
}
/**
*
* Specifies the credentials required for the integration, if any. For AWS
* integrations, three options are available. To specify an IAM Role for
* Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN).
* To require that the caller's identity be passed through from the request,
* specify the string arn:aws:iam::\*:user/\*
. To use
* resource-based permissions on supported AWS services, specify null.
*
*
* @param credentials
* Specifies the credentials required for the integration, if any.
* For AWS integrations, three options are available. To specify an
* IAM Role for Amazon API Gateway to assume, use the role's Amazon
* Resource Name (ARN). To require that the caller's identity be
* passed through from the request, specify the string
* arn:aws:iam::\*:user/\*
. To use resource-based
* permissions on supported AWS services, specify null.
*/
public void setCredentials(String credentials) {
this.credentials = credentials;
}
/**
*
* Specifies the credentials required for the integration, if any. For AWS
* integrations, three options are available. To specify an IAM Role for
* Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN).
* To require that the caller's identity be passed through from the request,
* specify the string arn:aws:iam::\*:user/\*
. To use
* resource-based permissions on supported AWS services, specify null.
*
*
* @return Specifies the credentials required for the integration, if any.
* For AWS integrations, three options are available. To specify an
* IAM Role for Amazon API Gateway to assume, use the role's Amazon
* Resource Name (ARN). To require that the caller's identity be
* passed through from the request, specify the string
* arn:aws:iam::\*:user/\*
. To use resource-based
* permissions on supported AWS services, specify null.
*/
public String getCredentials() {
return this.credentials;
}
/**
*
* Specifies the credentials required for the integration, if any. For AWS
* integrations, three options are available. To specify an IAM Role for
* Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN).
* To require that the caller's identity be passed through from the request,
* specify the string arn:aws:iam::\*:user/\*
. To use
* resource-based permissions on supported AWS services, specify null.
*
*
* @param credentials
* Specifies the credentials required for the integration, if any.
* For AWS integrations, three options are available. To specify an
* IAM Role for Amazon API Gateway to assume, use the role's Amazon
* Resource Name (ARN). To require that the caller's identity be
* passed through from the request, specify the string
* arn:aws:iam::\*:user/\*
. To use resource-based
* permissions on supported AWS services, specify null.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withCredentials(String credentials) {
setCredentials(credentials);
return this;
}
/**
*
* Represents requests parameters that are sent with the backend request.
* Request parameters are represented as a key/value map, with a destination
* as the key and a source as the value. A source must match an existing
* method request parameter, or a static value. Static values must be
* enclosed with single quotes, and be pre-encoded based on their
* destination in the request. The destination must match the pattern
* integration.request.{location}.{name}
, where
* location
is either querystring, path, or header.
* name
must be a valid, unique parameter name.
*
*
* @return Represents requests parameters that are sent with the backend
* request. Request parameters are represented as a key/value map,
* with a destination as the key and a source as the value. A source
* must match an existing method request parameter, or a static
* value. Static values must be enclosed with single quotes, and be
* pre-encoded based on their destination in the request. The
* destination must match the pattern
* integration.request.{location}.{name}
, where
* location
is either querystring, path, or header.
* name
must be a valid, unique parameter name.
*/
public java.util.Map getRequestParameters() {
return requestParameters;
}
/**
*
* Represents requests parameters that are sent with the backend request.
* Request parameters are represented as a key/value map, with a destination
* as the key and a source as the value. A source must match an existing
* method request parameter, or a static value. Static values must be
* enclosed with single quotes, and be pre-encoded based on their
* destination in the request. The destination must match the pattern
* integration.request.{location}.{name}
, where
* location
is either querystring, path, or header.
* name
must be a valid, unique parameter name.
*
*
* @param requestParameters
* Represents requests parameters that are sent with the backend
* request. Request parameters are represented as a key/value map,
* with a destination as the key and a source as the value. A source
* must match an existing method request parameter, or a static
* value. Static values must be enclosed with single quotes, and be
* pre-encoded based on their destination in the request. The
* destination must match the pattern
* integration.request.{location}.{name}
, where
* location
is either querystring, path, or header.
* name
must be a valid, unique parameter name.
*/
public void setRequestParameters(
java.util.Map requestParameters) {
this.requestParameters = requestParameters;
}
/**
*
* Represents requests parameters that are sent with the backend request.
* Request parameters are represented as a key/value map, with a destination
* as the key and a source as the value. A source must match an existing
* method request parameter, or a static value. Static values must be
* enclosed with single quotes, and be pre-encoded based on their
* destination in the request. The destination must match the pattern
* integration.request.{location}.{name}
, where
* location
is either querystring, path, or header.
* name
must be a valid, unique parameter name.
*
*
* @param requestParameters
* Represents requests parameters that are sent with the backend
* request. Request parameters are represented as a key/value map,
* with a destination as the key and a source as the value. A source
* must match an existing method request parameter, or a static
* value. Static values must be enclosed with single quotes, and be
* pre-encoded based on their destination in the request. The
* destination must match the pattern
* integration.request.{location}.{name}
, where
* location
is either querystring, path, or header.
* name
must be a valid, unique parameter name.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withRequestParameters(
java.util.Map requestParameters) {
setRequestParameters(requestParameters);
return this;
}
public GetIntegrationResult addRequestParametersEntry(String key,
String value) {
if (null == this.requestParameters) {
this.requestParameters = new java.util.HashMap();
}
if (this.requestParameters.containsKey(key))
throw new IllegalArgumentException("Duplicated keys ("
+ key.toString() + ") are provided.");
this.requestParameters.put(key, value);
return this;
}
/**
* Removes all the entries added into RequestParameters. <p> Returns a
* reference to this object so that method calls can be chained together.
*/
public GetIntegrationResult clearRequestParametersEntries() {
this.requestParameters = null;
return this;
}
/**
*
* Represents a map of Velocity templates that are applied on the request
* payload based on the value of the Content-Type header sent by the client.
* The content type value is the key in this map, and the template (as a
* String) is the value.
*
*
* @return Represents a map of Velocity templates that are applied on the
* request payload based on the value of the Content-Type header
* sent by the client. The content type value is the key in this
* map, and the template (as a String) is the value.
*/
public java.util.Map getRequestTemplates() {
return requestTemplates;
}
/**
*
* Represents a map of Velocity templates that are applied on the request
* payload based on the value of the Content-Type header sent by the client.
* The content type value is the key in this map, and the template (as a
* String) is the value.
*
*
* @param requestTemplates
* Represents a map of Velocity templates that are applied on the
* request payload based on the value of the Content-Type header sent
* by the client. The content type value is the key in this map, and
* the template (as a String) is the value.
*/
public void setRequestTemplates(
java.util.Map requestTemplates) {
this.requestTemplates = requestTemplates;
}
/**
*
* Represents a map of Velocity templates that are applied on the request
* payload based on the value of the Content-Type header sent by the client.
* The content type value is the key in this map, and the template (as a
* String) is the value.
*
*
* @param requestTemplates
* Represents a map of Velocity templates that are applied on the
* request payload based on the value of the Content-Type header sent
* by the client. The content type value is the key in this map, and
* the template (as a String) is the value.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withRequestTemplates(
java.util.Map requestTemplates) {
setRequestTemplates(requestTemplates);
return this;
}
public GetIntegrationResult addRequestTemplatesEntry(String key,
String value) {
if (null == this.requestTemplates) {
this.requestTemplates = new java.util.HashMap();
}
if (this.requestTemplates.containsKey(key))
throw new IllegalArgumentException("Duplicated keys ("
+ key.toString() + ") are provided.");
this.requestTemplates.put(key, value);
return this;
}
/**
* Removes all the entries added into RequestTemplates. <p> Returns a
* reference to this object so that method calls can be chained together.
*/
public GetIntegrationResult clearRequestTemplatesEntries() {
this.requestTemplates = null;
return this;
}
/**
*
* Specifies the pass-through behavior for incoming requests based on the
* Content-Type header in the request, and the available requestTemplates
* defined on the Integration. There are three valid values:
* WHEN_NO_MATCH
, WHEN_NO_TEMPLATES
, and
* NEVER
.
*
*
*
* WHEN_NO_MATCH
passes the request body for unmapped content
* types through to the Integration backend without transformation.
*
*
* NEVER
rejects unmapped content types with an HTTP 415
* 'Unsupported Media Type' response.
*
*
* WHEN_NO_TEMPLATES
will allow pass-through when the
* Integration has NO content types mapped to templates. However if there is
* at least one content type defined, unmapped content types will be
* rejected with the same 415 response.
*
*
* @param passthroughBehavior
* Specifies the pass-through behavior for incoming requests based on
* the Content-Type header in the request, and the available
* requestTemplates defined on the Integration. There are three valid
* values: WHEN_NO_MATCH
, WHEN_NO_TEMPLATES
* , and NEVER
.
*
*
* WHEN_NO_MATCH
passes the request body for unmapped
* content types through to the Integration backend without
* transformation.
*
*
* NEVER
rejects unmapped content types with an HTTP 415
* 'Unsupported Media Type' response.
*
*
* WHEN_NO_TEMPLATES
will allow pass-through when the
* Integration has NO content types mapped to templates. However if
* there is at least one content type defined, unmapped content types
* will be rejected with the same 415 response.
*/
public void setPassthroughBehavior(String passthroughBehavior) {
this.passthroughBehavior = passthroughBehavior;
}
/**
*
* Specifies the pass-through behavior for incoming requests based on the
* Content-Type header in the request, and the available requestTemplates
* defined on the Integration. There are three valid values:
* WHEN_NO_MATCH
, WHEN_NO_TEMPLATES
, and
* NEVER
.
*
*
*
* WHEN_NO_MATCH
passes the request body for unmapped content
* types through to the Integration backend without transformation.
*
*
* NEVER
rejects unmapped content types with an HTTP 415
* 'Unsupported Media Type' response.
*
*
* WHEN_NO_TEMPLATES
will allow pass-through when the
* Integration has NO content types mapped to templates. However if there is
* at least one content type defined, unmapped content types will be
* rejected with the same 415 response.
*
*
* @return Specifies the pass-through behavior for incoming requests based
* on the Content-Type header in the request, and the available
* requestTemplates defined on the Integration. There are three
* valid values: WHEN_NO_MATCH
,
* WHEN_NO_TEMPLATES
, and NEVER
.
*
*
* WHEN_NO_MATCH
passes the request body for unmapped
* content types through to the Integration backend without
* transformation.
*
*
* NEVER
rejects unmapped content types with an HTTP
* 415 'Unsupported Media Type' response.
*
*
* WHEN_NO_TEMPLATES
will allow pass-through when the
* Integration has NO content types mapped to templates. However if
* there is at least one content type defined, unmapped content
* types will be rejected with the same 415 response.
*/
public String getPassthroughBehavior() {
return this.passthroughBehavior;
}
/**
*
* Specifies the pass-through behavior for incoming requests based on the
* Content-Type header in the request, and the available requestTemplates
* defined on the Integration. There are three valid values:
* WHEN_NO_MATCH
, WHEN_NO_TEMPLATES
, and
* NEVER
.
*
*
*
* WHEN_NO_MATCH
passes the request body for unmapped content
* types through to the Integration backend without transformation.
*
*
* NEVER
rejects unmapped content types with an HTTP 415
* 'Unsupported Media Type' response.
*
*
* WHEN_NO_TEMPLATES
will allow pass-through when the
* Integration has NO content types mapped to templates. However if there is
* at least one content type defined, unmapped content types will be
* rejected with the same 415 response.
*
*
* @param passthroughBehavior
* Specifies the pass-through behavior for incoming requests based on
* the Content-Type header in the request, and the available
* requestTemplates defined on the Integration. There are three valid
* values: WHEN_NO_MATCH
, WHEN_NO_TEMPLATES
* , and NEVER
.
*
*
* WHEN_NO_MATCH
passes the request body for unmapped
* content types through to the Integration backend without
* transformation.
*
*
* NEVER
rejects unmapped content types with an HTTP 415
* 'Unsupported Media Type' response.
*
*
* WHEN_NO_TEMPLATES
will allow pass-through when the
* Integration has NO content types mapped to templates. However if
* there is at least one content type defined, unmapped content types
* will be rejected with the same 415 response.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withPassthroughBehavior(
String passthroughBehavior) {
setPassthroughBehavior(passthroughBehavior);
return this;
}
/**
*
* Specifies the integration's cache namespace.
*
*
* @param cacheNamespace
* Specifies the integration's cache namespace.
*/
public void setCacheNamespace(String cacheNamespace) {
this.cacheNamespace = cacheNamespace;
}
/**
*
* Specifies the integration's cache namespace.
*
*
* @return Specifies the integration's cache namespace.
*/
public String getCacheNamespace() {
return this.cacheNamespace;
}
/**
*
* Specifies the integration's cache namespace.
*
*
* @param cacheNamespace
* Specifies the integration's cache namespace.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withCacheNamespace(String cacheNamespace) {
setCacheNamespace(cacheNamespace);
return this;
}
/**
*
* Specifies the integration's cache key parameters.
*
*
* @return Specifies the integration's cache key parameters.
*/
public java.util.List getCacheKeyParameters() {
return cacheKeyParameters;
}
/**
*
* Specifies the integration's cache key parameters.
*
*
* @param cacheKeyParameters
* Specifies the integration's cache key parameters.
*/
public void setCacheKeyParameters(
java.util.Collection cacheKeyParameters) {
if (cacheKeyParameters == null) {
this.cacheKeyParameters = null;
return;
}
this.cacheKeyParameters = new java.util.ArrayList(
cacheKeyParameters);
}
/**
*
* Specifies the integration's cache key parameters.
*
*
* NOTE: This method appends the values to the existing list (if
* any). Use {@link #setCacheKeyParameters(java.util.Collection)} or
* {@link #withCacheKeyParameters(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param cacheKeyParameters
* Specifies the integration's cache key parameters.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withCacheKeyParameters(
String... cacheKeyParameters) {
if (this.cacheKeyParameters == null) {
setCacheKeyParameters(new java.util.ArrayList(
cacheKeyParameters.length));
}
for (String ele : cacheKeyParameters) {
this.cacheKeyParameters.add(ele);
}
return this;
}
/**
*
* Specifies the integration's cache key parameters.
*
*
* @param cacheKeyParameters
* Specifies the integration's cache key parameters.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withCacheKeyParameters(
java.util.Collection cacheKeyParameters) {
setCacheKeyParameters(cacheKeyParameters);
return this;
}
/**
*
* Specifies the integration's responses.
*
*
* @return Specifies the integration's responses.
*/
public java.util.Map getIntegrationResponses() {
return integrationResponses;
}
/**
*
* Specifies the integration's responses.
*
*
* @param integrationResponses
* Specifies the integration's responses.
*/
public void setIntegrationResponses(
java.util.Map integrationResponses) {
this.integrationResponses = integrationResponses;
}
/**
*
* Specifies the integration's responses.
*
*
* @param integrationResponses
* Specifies the integration's responses.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public GetIntegrationResult withIntegrationResponses(
java.util.Map integrationResponses) {
setIntegrationResponses(integrationResponses);
return this;
}
public GetIntegrationResult addIntegrationResponsesEntry(String key,
IntegrationResponse value) {
if (null == this.integrationResponses) {
this.integrationResponses = new java.util.HashMap();
}
if (this.integrationResponses.containsKey(key))
throw new IllegalArgumentException("Duplicated keys ("
+ key.toString() + ") are provided.");
this.integrationResponses.put(key, value);
return this;
}
/**
* Removes all the entries added into IntegrationResponses. <p> Returns a
* reference to this object so that method calls can be chained together.
*/
public GetIntegrationResult clearIntegrationResponsesEntries() {
this.integrationResponses = 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 (getType() != null)
sb.append("Type: " + getType() + ",");
if (getHttpMethod() != null)
sb.append("HttpMethod: " + getHttpMethod() + ",");
if (getUri() != null)
sb.append("Uri: " + getUri() + ",");
if (getCredentials() != null)
sb.append("Credentials: " + getCredentials() + ",");
if (getRequestParameters() != null)
sb.append("RequestParameters: " + getRequestParameters() + ",");
if (getRequestTemplates() != null)
sb.append("RequestTemplates: " + getRequestTemplates() + ",");
if (getPassthroughBehavior() != null)
sb.append("PassthroughBehavior: " + getPassthroughBehavior() + ",");
if (getCacheNamespace() != null)
sb.append("CacheNamespace: " + getCacheNamespace() + ",");
if (getCacheKeyParameters() != null)
sb.append("CacheKeyParameters: " + getCacheKeyParameters() + ",");
if (getIntegrationResponses() != null)
sb.append("IntegrationResponses: " + getIntegrationResponses());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof GetIntegrationResult == false)
return false;
GetIntegrationResult other = (GetIntegrationResult) obj;
if (other.getType() == null ^ this.getType() == null)
return false;
if (other.getType() != null
&& other.getType().equals(this.getType()) == 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.getUri() == null ^ this.getUri() == null)
return false;
if (other.getUri() != null
&& other.getUri().equals(this.getUri()) == false)
return false;
if (other.getCredentials() == null ^ this.getCredentials() == null)
return false;
if (other.getCredentials() != null
&& other.getCredentials().equals(this.getCredentials()) == false)
return false;
if (other.getRequestParameters() == null
^ this.getRequestParameters() == null)
return false;
if (other.getRequestParameters() != null
&& other.getRequestParameters().equals(
this.getRequestParameters()) == false)
return false;
if (other.getRequestTemplates() == null
^ this.getRequestTemplates() == null)
return false;
if (other.getRequestTemplates() != null
&& other.getRequestTemplates().equals(
this.getRequestTemplates()) == false)
return false;
if (other.getPassthroughBehavior() == null
^ this.getPassthroughBehavior() == null)
return false;
if (other.getPassthroughBehavior() != null
&& other.getPassthroughBehavior().equals(
this.getPassthroughBehavior()) == false)
return false;
if (other.getCacheNamespace() == null
^ this.getCacheNamespace() == null)
return false;
if (other.getCacheNamespace() != null
&& other.getCacheNamespace().equals(this.getCacheNamespace()) == false)
return false;
if (other.getCacheKeyParameters() == null
^ this.getCacheKeyParameters() == null)
return false;
if (other.getCacheKeyParameters() != null
&& other.getCacheKeyParameters().equals(
this.getCacheKeyParameters()) == false)
return false;
if (other.getIntegrationResponses() == null
^ this.getIntegrationResponses() == null)
return false;
if (other.getIntegrationResponses() != null
&& other.getIntegrationResponses().equals(
this.getIntegrationResponses()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode
+ ((getType() == null) ? 0 : getType().hashCode());
hashCode = prime * hashCode
+ ((getHttpMethod() == null) ? 0 : getHttpMethod().hashCode());
hashCode = prime * hashCode
+ ((getUri() == null) ? 0 : getUri().hashCode());
hashCode = prime
* hashCode
+ ((getCredentials() == null) ? 0 : getCredentials().hashCode());
hashCode = prime
* hashCode
+ ((getRequestParameters() == null) ? 0
: getRequestParameters().hashCode());
hashCode = prime
* hashCode
+ ((getRequestTemplates() == null) ? 0 : getRequestTemplates()
.hashCode());
hashCode = prime
* hashCode
+ ((getPassthroughBehavior() == null) ? 0
: getPassthroughBehavior().hashCode());
hashCode = prime
* hashCode
+ ((getCacheNamespace() == null) ? 0 : getCacheNamespace()
.hashCode());
hashCode = prime
* hashCode
+ ((getCacheKeyParameters() == null) ? 0
: getCacheKeyParameters().hashCode());
hashCode = prime
* hashCode
+ ((getIntegrationResponses() == null) ? 0
: getIntegrationResponses().hashCode());
return hashCode;
}
@Override
public GetIntegrationResult clone() {
try {
return (GetIntegrationResult) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException(
"Got a CloneNotSupportedException from Object.clone() "
+ "even though we're Cloneable!", e);
}
}
}