/* * Copyright 2018-2023 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.apigatewayv2.model; import java.io.Serializable; import javax.annotation.Generated; @Generated("com.amazonaws:aws-java-sdk-code-generator") public class GetRouteResult extends com.amazonaws.AmazonWebServiceResult implements Serializable, Cloneable { /** *

* Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *

*/ private Boolean apiGatewayManaged; /** *

* Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *

*/ private Boolean apiKeyRequired; /** *

* A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client * must provide an access token instead of an identity token for authorization purposes. *

*/ private java.util.List authorizationScopes; /** *

* The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *

*/ private String authorizationType; /** *

* The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. *

*/ private String authorizerId; /** *

* The model selection expression for the route. Supported only for WebSocket APIs. *

*/ private String modelSelectionExpression; /** *

* The operation name for the route. *

*/ private String operationName; /** *

* The request models for the route. Supported only for WebSocket APIs. *

*/ private java.util.Map requestModels; /** *

* The request parameters for the route. Supported only for WebSocket APIs. *

*/ private java.util.Map requestParameters; /** *

* The route ID. *

*/ private String routeId; /** *

* The route key for the route. *

*/ private String routeKey; /** *

* The route response selection expression for the route. Supported only for WebSocket APIs. *

*/ private String routeResponseSelectionExpression; /** *

* The target for the route. *

*/ private String target; /** *

* Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *

* * @param apiGatewayManaged * Specifies whether a route is managed by API Gateway. If you created an API using quick create, the * $default route is managed by API Gateway. You can't modify the $default route key. */ public void setApiGatewayManaged(Boolean apiGatewayManaged) { this.apiGatewayManaged = apiGatewayManaged; } /** *

* Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *

* * @return Specifies whether a route is managed by API Gateway. If you created an API using quick create, the * $default route is managed by API Gateway. You can't modify the $default route key. */ public Boolean getApiGatewayManaged() { return this.apiGatewayManaged; } /** *

* Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *

* * @param apiGatewayManaged * Specifies whether a route is managed by API Gateway. If you created an API using quick create, the * $default route is managed by API Gateway. You can't modify the $default route key. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withApiGatewayManaged(Boolean apiGatewayManaged) { setApiGatewayManaged(apiGatewayManaged); return this; } /** *

* Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *

* * @return Specifies whether a route is managed by API Gateway. If you created an API using quick create, the * $default route is managed by API Gateway. You can't modify the $default route key. */ public Boolean isApiGatewayManaged() { return this.apiGatewayManaged; } /** *

* Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *

* * @param apiKeyRequired * Specifies whether an API key is required for this route. Supported only for WebSocket APIs. */ public void setApiKeyRequired(Boolean apiKeyRequired) { this.apiKeyRequired = apiKeyRequired; } /** *

* Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *

* * @return Specifies whether an API key is required for this route. Supported only for WebSocket APIs. */ public Boolean getApiKeyRequired() { return this.apiKeyRequired; } /** *

* Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *

* * @param apiKeyRequired * Specifies whether an API key is required for this route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withApiKeyRequired(Boolean apiKeyRequired) { setApiKeyRequired(apiKeyRequired); return this; } /** *

* Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *

* * @return Specifies whether an API key is required for this route. Supported only for WebSocket APIs. */ public Boolean isApiKeyRequired() { return this.apiKeyRequired; } /** *

* A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client * must provide an access token instead of an identity token for authorization purposes. *

* * @return A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to * authorize the method invocation. The authorization works by matching the route scopes against the scopes * parsed from the access token in the incoming request. The method invocation is authorized if any route * scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the * route scope is configured, the client must provide an access token instead of an identity token for * authorization purposes. */ public java.util.List getAuthorizationScopes() { return authorizationScopes; } /** *

* A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client * must provide an access token instead of an identity token for authorization purposes. *

* * @param authorizationScopes * A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to * authorize the method invocation. The authorization works by matching the route scopes against the scopes * parsed from the access token in the incoming request. The method invocation is authorized if any route * scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the * route scope is configured, the client must provide an access token instead of an identity token for * authorization purposes. */ public void setAuthorizationScopes(java.util.Collection authorizationScopes) { if (authorizationScopes == null) { this.authorizationScopes = null; return; } this.authorizationScopes = new java.util.ArrayList(authorizationScopes); } /** *

* A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client * must provide an access token instead of an identity token for authorization purposes. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAuthorizationScopes(java.util.Collection)} or {@link #withAuthorizationScopes(java.util.Collection)} * if you want to override the existing values. *

* * @param authorizationScopes * A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to * authorize the method invocation. The authorization works by matching the route scopes against the scopes * parsed from the access token in the incoming request. The method invocation is authorized if any route * scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the * route scope is configured, the client must provide an access token instead of an identity token for * authorization purposes. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withAuthorizationScopes(String... authorizationScopes) { if (this.authorizationScopes == null) { setAuthorizationScopes(new java.util.ArrayList(authorizationScopes.length)); } for (String ele : authorizationScopes) { this.authorizationScopes.add(ele); } return this; } /** *

* A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client * must provide an access token instead of an identity token for authorization purposes. *

* * @param authorizationScopes * A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to * authorize the method invocation. The authorization works by matching the route scopes against the scopes * parsed from the access token in the incoming request. The method invocation is authorized if any route * scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the * route scope is configured, the client must provide an access token instead of an identity token for * authorization purposes. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withAuthorizationScopes(java.util.Collection authorizationScopes) { setAuthorizationScopes(authorizationScopes); return this; } /** *

* The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *

* * @param authorizationType * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are * NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for * using a Lambda authorizer. * @see AuthorizationType */ public void setAuthorizationType(String authorizationType) { this.authorizationType = authorizationType; } /** *

* The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *

* * @return The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are * NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM * for using a Lambda authorizer. * @see AuthorizationType */ public String getAuthorizationType() { return this.authorizationType; } /** *

* The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *

* * @param authorizationType * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are * NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for * using a Lambda authorizer. * @return Returns a reference to this object so that method calls can be chained together. * @see AuthorizationType */ public GetRouteResult withAuthorizationType(String authorizationType) { setAuthorizationType(authorizationType); return this; } /** *

* The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *

* * @param authorizationType * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are * NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for * using a Lambda authorizer. * @return Returns a reference to this object so that method calls can be chained together. * @see AuthorizationType */ public GetRouteResult withAuthorizationType(AuthorizationType authorizationType) { this.authorizationType = authorizationType.toString(); return this; } /** *

* The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. *

* * @param authorizerId * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. */ public void setAuthorizerId(String authorizerId) { this.authorizerId = authorizerId; } /** *

* The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. *

* * @return The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. */ public String getAuthorizerId() { return this.authorizerId; } /** *

* The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. *

* * @param authorizerId * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withAuthorizerId(String authorizerId) { setAuthorizerId(authorizerId); return this; } /** *

* The model selection expression for the route. Supported only for WebSocket APIs. *

* * @param modelSelectionExpression * The model selection expression for the route. Supported only for WebSocket APIs. */ public void setModelSelectionExpression(String modelSelectionExpression) { this.modelSelectionExpression = modelSelectionExpression; } /** *

* The model selection expression for the route. Supported only for WebSocket APIs. *

* * @return The model selection expression for the route. Supported only for WebSocket APIs. */ public String getModelSelectionExpression() { return this.modelSelectionExpression; } /** *

* The model selection expression for the route. Supported only for WebSocket APIs. *

* * @param modelSelectionExpression * The model selection expression for the route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withModelSelectionExpression(String modelSelectionExpression) { setModelSelectionExpression(modelSelectionExpression); return this; } /** *

* The operation name for the route. *

* * @param operationName * The operation name for the route. */ public void setOperationName(String operationName) { this.operationName = operationName; } /** *

* The operation name for the route. *

* * @return The operation name for the route. */ public String getOperationName() { return this.operationName; } /** *

* The operation name for the route. *

* * @param operationName * The operation name for the route. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withOperationName(String operationName) { setOperationName(operationName); return this; } /** *

* The request models for the route. Supported only for WebSocket APIs. *

* * @return The request models for the route. Supported only for WebSocket APIs. */ public java.util.Map getRequestModels() { return requestModels; } /** *

* The request models for the route. Supported only for WebSocket APIs. *

* * @param requestModels * The request models for the route. Supported only for WebSocket APIs. */ public void setRequestModels(java.util.Map requestModels) { this.requestModels = requestModels; } /** *

* The request models for the route. Supported only for WebSocket APIs. *

* * @param requestModels * The request models for the route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withRequestModels(java.util.Map requestModels) { setRequestModels(requestModels); return this; } /** * Add a single RequestModels entry * * @see GetRouteResult#withRequestModels * @returns a reference to this object so that method calls can be chained together. */ public GetRouteResult addRequestModelsEntry(String key, String value) { if (null == this.requestModels) { this.requestModels = new java.util.HashMap(); } if (this.requestModels.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.requestModels.put(key, value); return this; } /** * Removes all the entries added into RequestModels. * * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult clearRequestModelsEntries() { this.requestModels = null; return this; } /** *

* The request parameters for the route. Supported only for WebSocket APIs. *

* * @return The request parameters for the route. Supported only for WebSocket APIs. */ public java.util.Map getRequestParameters() { return requestParameters; } /** *

* The request parameters for the route. Supported only for WebSocket APIs. *

* * @param requestParameters * The request parameters for the route. Supported only for WebSocket APIs. */ public void setRequestParameters(java.util.Map requestParameters) { this.requestParameters = requestParameters; } /** *

* The request parameters for the route. Supported only for WebSocket APIs. *

* * @param requestParameters * The request parameters for the route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withRequestParameters(java.util.Map requestParameters) { setRequestParameters(requestParameters); return this; } /** * Add a single RequestParameters entry * * @see GetRouteResult#withRequestParameters * @returns a reference to this object so that method calls can be chained together. */ public GetRouteResult addRequestParametersEntry(String key, ParameterConstraints 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. * * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult clearRequestParametersEntries() { this.requestParameters = null; return this; } /** *

* The route ID. *

* * @param routeId * The route ID. */ public void setRouteId(String routeId) { this.routeId = routeId; } /** *

* The route ID. *

* * @return The route ID. */ public String getRouteId() { return this.routeId; } /** *

* The route ID. *

* * @param routeId * The route ID. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withRouteId(String routeId) { setRouteId(routeId); return this; } /** *

* The route key for the route. *

* * @param routeKey * The route key for the route. */ public void setRouteKey(String routeKey) { this.routeKey = routeKey; } /** *

* The route key for the route. *

* * @return The route key for the route. */ public String getRouteKey() { return this.routeKey; } /** *

* The route key for the route. *

* * @param routeKey * The route key for the route. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withRouteKey(String routeKey) { setRouteKey(routeKey); return this; } /** *

* The route response selection expression for the route. Supported only for WebSocket APIs. *

* * @param routeResponseSelectionExpression * The route response selection expression for the route. Supported only for WebSocket APIs. */ public void setRouteResponseSelectionExpression(String routeResponseSelectionExpression) { this.routeResponseSelectionExpression = routeResponseSelectionExpression; } /** *

* The route response selection expression for the route. Supported only for WebSocket APIs. *

* * @return The route response selection expression for the route. Supported only for WebSocket APIs. */ public String getRouteResponseSelectionExpression() { return this.routeResponseSelectionExpression; } /** *

* The route response selection expression for the route. Supported only for WebSocket APIs. *

* * @param routeResponseSelectionExpression * The route response selection expression for the route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withRouteResponseSelectionExpression(String routeResponseSelectionExpression) { setRouteResponseSelectionExpression(routeResponseSelectionExpression); return this; } /** *

* The target for the route. *

* * @param target * The target for the route. */ public void setTarget(String target) { this.target = target; } /** *

* The target for the route. *

* * @return The target for the route. */ public String getTarget() { return this.target; } /** *

* The target for the route. *

* * @param target * The target for the route. * @return Returns a reference to this object so that method calls can be chained together. */ public GetRouteResult withTarget(String target) { setTarget(target); 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 (getApiGatewayManaged() != null) sb.append("ApiGatewayManaged: ").append(getApiGatewayManaged()).append(","); if (getApiKeyRequired() != null) sb.append("ApiKeyRequired: ").append(getApiKeyRequired()).append(","); if (getAuthorizationScopes() != null) sb.append("AuthorizationScopes: ").append(getAuthorizationScopes()).append(","); if (getAuthorizationType() != null) sb.append("AuthorizationType: ").append(getAuthorizationType()).append(","); if (getAuthorizerId() != null) sb.append("AuthorizerId: ").append(getAuthorizerId()).append(","); if (getModelSelectionExpression() != null) sb.append("ModelSelectionExpression: ").append(getModelSelectionExpression()).append(","); if (getOperationName() != null) sb.append("OperationName: ").append(getOperationName()).append(","); if (getRequestModels() != null) sb.append("RequestModels: ").append(getRequestModels()).append(","); if (getRequestParameters() != null) sb.append("RequestParameters: ").append(getRequestParameters()).append(","); if (getRouteId() != null) sb.append("RouteId: ").append(getRouteId()).append(","); if (getRouteKey() != null) sb.append("RouteKey: ").append(getRouteKey()).append(","); if (getRouteResponseSelectionExpression() != null) sb.append("RouteResponseSelectionExpression: ").append(getRouteResponseSelectionExpression()).append(","); if (getTarget() != null) sb.append("Target: ").append(getTarget()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GetRouteResult == false) return false; GetRouteResult other = (GetRouteResult) obj; if (other.getApiGatewayManaged() == null ^ this.getApiGatewayManaged() == null) return false; if (other.getApiGatewayManaged() != null && other.getApiGatewayManaged().equals(this.getApiGatewayManaged()) == false) return false; if (other.getApiKeyRequired() == null ^ this.getApiKeyRequired() == null) return false; if (other.getApiKeyRequired() != null && other.getApiKeyRequired().equals(this.getApiKeyRequired()) == false) return false; if (other.getAuthorizationScopes() == null ^ this.getAuthorizationScopes() == null) return false; if (other.getAuthorizationScopes() != null && other.getAuthorizationScopes().equals(this.getAuthorizationScopes()) == false) return false; if (other.getAuthorizationType() == null ^ this.getAuthorizationType() == null) return false; if (other.getAuthorizationType() != null && other.getAuthorizationType().equals(this.getAuthorizationType()) == false) return false; if (other.getAuthorizerId() == null ^ this.getAuthorizerId() == null) return false; if (other.getAuthorizerId() != null && other.getAuthorizerId().equals(this.getAuthorizerId()) == false) return false; if (other.getModelSelectionExpression() == null ^ this.getModelSelectionExpression() == null) return false; if (other.getModelSelectionExpression() != null && other.getModelSelectionExpression().equals(this.getModelSelectionExpression()) == false) return false; if (other.getOperationName() == null ^ this.getOperationName() == null) return false; if (other.getOperationName() != null && other.getOperationName().equals(this.getOperationName()) == false) return false; if (other.getRequestModels() == null ^ this.getRequestModels() == null) return false; if (other.getRequestModels() != null && other.getRequestModels().equals(this.getRequestModels()) == 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.getRouteId() == null ^ this.getRouteId() == null) return false; if (other.getRouteId() != null && other.getRouteId().equals(this.getRouteId()) == false) return false; if (other.getRouteKey() == null ^ this.getRouteKey() == null) return false; if (other.getRouteKey() != null && other.getRouteKey().equals(this.getRouteKey()) == false) return false; if (other.getRouteResponseSelectionExpression() == null ^ this.getRouteResponseSelectionExpression() == null) return false; if (other.getRouteResponseSelectionExpression() != null && other.getRouteResponseSelectionExpression().equals(this.getRouteResponseSelectionExpression()) == false) return false; if (other.getTarget() == null ^ this.getTarget() == null) return false; if (other.getTarget() != null && other.getTarget().equals(this.getTarget()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getApiGatewayManaged() == null) ? 0 : getApiGatewayManaged().hashCode()); hashCode = prime * hashCode + ((getApiKeyRequired() == null) ? 0 : getApiKeyRequired().hashCode()); hashCode = prime * hashCode + ((getAuthorizationScopes() == null) ? 0 : getAuthorizationScopes().hashCode()); hashCode = prime * hashCode + ((getAuthorizationType() == null) ? 0 : getAuthorizationType().hashCode()); hashCode = prime * hashCode + ((getAuthorizerId() == null) ? 0 : getAuthorizerId().hashCode()); hashCode = prime * hashCode + ((getModelSelectionExpression() == null) ? 0 : getModelSelectionExpression().hashCode()); hashCode = prime * hashCode + ((getOperationName() == null) ? 0 : getOperationName().hashCode()); hashCode = prime * hashCode + ((getRequestModels() == null) ? 0 : getRequestModels().hashCode()); hashCode = prime * hashCode + ((getRequestParameters() == null) ? 0 : getRequestParameters().hashCode()); hashCode = prime * hashCode + ((getRouteId() == null) ? 0 : getRouteId().hashCode()); hashCode = prime * hashCode + ((getRouteKey() == null) ? 0 : getRouteKey().hashCode()); hashCode = prime * hashCode + ((getRouteResponseSelectionExpression() == null) ? 0 : getRouteResponseSelectionExpression().hashCode()); hashCode = prime * hashCode + ((getTarget() == null) ? 0 : getTarget().hashCode()); return hashCode; } @Override public GetRouteResult clone() { try { return (GetRouteResult) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }