/* * Copyright 2012-2017 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.cognitoidp.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** * <p> * A user pool of the client type. * </p> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UserPoolClientType" target="_top">AWS API * Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UserPoolClientType implements Serializable, Cloneable, StructuredPojo { /** * <p> * The user pool ID for the user pool client. * </p> */ private String userPoolId; /** * <p> * The client name from the user pool request of the client type. * </p> */ private String clientName; /** * <p> * The ID of the client associated with the user pool. * </p> */ private String clientId; /** * <p> * The client secret from the user pool request of the client type. * </p> */ private String clientSecret; /** * <p> * The last modified date from the user pool request of the client type. * </p> */ private java.util.Date lastModifiedDate; /** * <p> * The creation date from the user pool request of the client type. * </p> */ private java.util.Date creationDate; /** * <p> * The validity of the refresh token, in days. * </p> */ private Integer refreshTokenValidity; /** * <p> * The Read-only attributes. * </p> */ private java.util.List<String> readAttributes; /** * <p> * The writeable attributes. * </p> */ private java.util.List<String> writeAttributes; /** * <p> * The explicit authentication flows. * </p> */ private java.util.List<String> explicitAuthFlows; /** * <p> * The user pool ID for the user pool client. * </p> * * @param userPoolId * The user pool ID for the user pool client. */ public void setUserPoolId(String userPoolId) { this.userPoolId = userPoolId; } /** * <p> * The user pool ID for the user pool client. * </p> * * @return The user pool ID for the user pool client. */ public String getUserPoolId() { return this.userPoolId; } /** * <p> * The user pool ID for the user pool client. * </p> * * @param userPoolId * The user pool ID for the user pool client. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withUserPoolId(String userPoolId) { setUserPoolId(userPoolId); return this; } /** * <p> * The client name from the user pool request of the client type. * </p> * * @param clientName * The client name from the user pool request of the client type. */ public void setClientName(String clientName) { this.clientName = clientName; } /** * <p> * The client name from the user pool request of the client type. * </p> * * @return The client name from the user pool request of the client type. */ public String getClientName() { return this.clientName; } /** * <p> * The client name from the user pool request of the client type. * </p> * * @param clientName * The client name from the user pool request of the client type. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withClientName(String clientName) { setClientName(clientName); return this; } /** * <p> * The ID of the client associated with the user pool. * </p> * * @param clientId * The ID of the client associated with the user pool. */ public void setClientId(String clientId) { this.clientId = clientId; } /** * <p> * The ID of the client associated with the user pool. * </p> * * @return The ID of the client associated with the user pool. */ public String getClientId() { return this.clientId; } /** * <p> * The ID of the client associated with the user pool. * </p> * * @param clientId * The ID of the client associated with the user pool. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withClientId(String clientId) { setClientId(clientId); return this; } /** * <p> * The client secret from the user pool request of the client type. * </p> * * @param clientSecret * The client secret from the user pool request of the client type. */ public void setClientSecret(String clientSecret) { this.clientSecret = clientSecret; } /** * <p> * The client secret from the user pool request of the client type. * </p> * * @return The client secret from the user pool request of the client type. */ public String getClientSecret() { return this.clientSecret; } /** * <p> * The client secret from the user pool request of the client type. * </p> * * @param clientSecret * The client secret from the user pool request of the client type. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withClientSecret(String clientSecret) { setClientSecret(clientSecret); return this; } /** * <p> * The last modified date from the user pool request of the client type. * </p> * * @param lastModifiedDate * The last modified date from the user pool request of the client type. */ public void setLastModifiedDate(java.util.Date lastModifiedDate) { this.lastModifiedDate = lastModifiedDate; } /** * <p> * The last modified date from the user pool request of the client type. * </p> * * @return The last modified date from the user pool request of the client type. */ public java.util.Date getLastModifiedDate() { return this.lastModifiedDate; } /** * <p> * The last modified date from the user pool request of the client type. * </p> * * @param lastModifiedDate * The last modified date from the user pool request of the client type. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withLastModifiedDate(java.util.Date lastModifiedDate) { setLastModifiedDate(lastModifiedDate); return this; } /** * <p> * The creation date from the user pool request of the client type. * </p> * * @param creationDate * The creation date from the user pool request of the client type. */ public void setCreationDate(java.util.Date creationDate) { this.creationDate = creationDate; } /** * <p> * The creation date from the user pool request of the client type. * </p> * * @return The creation date from the user pool request of the client type. */ public java.util.Date getCreationDate() { return this.creationDate; } /** * <p> * The creation date from the user pool request of the client type. * </p> * * @param creationDate * The creation date from the user pool request of the client type. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withCreationDate(java.util.Date creationDate) { setCreationDate(creationDate); return this; } /** * <p> * The validity of the refresh token, in days. * </p> * * @param refreshTokenValidity * The validity of the refresh token, in days. */ public void setRefreshTokenValidity(Integer refreshTokenValidity) { this.refreshTokenValidity = refreshTokenValidity; } /** * <p> * The validity of the refresh token, in days. * </p> * * @return The validity of the refresh token, in days. */ public Integer getRefreshTokenValidity() { return this.refreshTokenValidity; } /** * <p> * The validity of the refresh token, in days. * </p> * * @param refreshTokenValidity * The validity of the refresh token, in days. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withRefreshTokenValidity(Integer refreshTokenValidity) { setRefreshTokenValidity(refreshTokenValidity); return this; } /** * <p> * The Read-only attributes. * </p> * * @return The Read-only attributes. */ public java.util.List<String> getReadAttributes() { return readAttributes; } /** * <p> * The Read-only attributes. * </p> * * @param readAttributes * The Read-only attributes. */ public void setReadAttributes(java.util.Collection<String> readAttributes) { if (readAttributes == null) { this.readAttributes = null; return; } this.readAttributes = new java.util.ArrayList<String>(readAttributes); } /** * <p> * The Read-only attributes. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setReadAttributes(java.util.Collection)} or {@link #withReadAttributes(java.util.Collection)} if you want * to override the existing values. * </p> * * @param readAttributes * The Read-only attributes. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withReadAttributes(String... readAttributes) { if (this.readAttributes == null) { setReadAttributes(new java.util.ArrayList<String>(readAttributes.length)); } for (String ele : readAttributes) { this.readAttributes.add(ele); } return this; } /** * <p> * The Read-only attributes. * </p> * * @param readAttributes * The Read-only attributes. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withReadAttributes(java.util.Collection<String> readAttributes) { setReadAttributes(readAttributes); return this; } /** * <p> * The writeable attributes. * </p> * * @return The writeable attributes. */ public java.util.List<String> getWriteAttributes() { return writeAttributes; } /** * <p> * The writeable attributes. * </p> * * @param writeAttributes * The writeable attributes. */ public void setWriteAttributes(java.util.Collection<String> writeAttributes) { if (writeAttributes == null) { this.writeAttributes = null; return; } this.writeAttributes = new java.util.ArrayList<String>(writeAttributes); } /** * <p> * The writeable attributes. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setWriteAttributes(java.util.Collection)} or {@link #withWriteAttributes(java.util.Collection)} if you * want to override the existing values. * </p> * * @param writeAttributes * The writeable attributes. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withWriteAttributes(String... writeAttributes) { if (this.writeAttributes == null) { setWriteAttributes(new java.util.ArrayList<String>(writeAttributes.length)); } for (String ele : writeAttributes) { this.writeAttributes.add(ele); } return this; } /** * <p> * The writeable attributes. * </p> * * @param writeAttributes * The writeable attributes. * @return Returns a reference to this object so that method calls can be chained together. */ public UserPoolClientType withWriteAttributes(java.util.Collection<String> writeAttributes) { setWriteAttributes(writeAttributes); return this; } /** * <p> * The explicit authentication flows. * </p> * * @return The explicit authentication flows. * @see ExplicitAuthFlowsType */ public java.util.List<String> getExplicitAuthFlows() { return explicitAuthFlows; } /** * <p> * The explicit authentication flows. * </p> * * @param explicitAuthFlows * The explicit authentication flows. * @see ExplicitAuthFlowsType */ public void setExplicitAuthFlows(java.util.Collection<String> explicitAuthFlows) { if (explicitAuthFlows == null) { this.explicitAuthFlows = null; return; } this.explicitAuthFlows = new java.util.ArrayList<String>(explicitAuthFlows); } /** * <p> * The explicit authentication flows. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setExplicitAuthFlows(java.util.Collection)} or {@link #withExplicitAuthFlows(java.util.Collection)} if * you want to override the existing values. * </p> * * @param explicitAuthFlows * The explicit authentication flows. * @return Returns a reference to this object so that method calls can be chained together. * @see ExplicitAuthFlowsType */ public UserPoolClientType withExplicitAuthFlows(String... explicitAuthFlows) { if (this.explicitAuthFlows == null) { setExplicitAuthFlows(new java.util.ArrayList<String>(explicitAuthFlows.length)); } for (String ele : explicitAuthFlows) { this.explicitAuthFlows.add(ele); } return this; } /** * <p> * The explicit authentication flows. * </p> * * @param explicitAuthFlows * The explicit authentication flows. * @return Returns a reference to this object so that method calls can be chained together. * @see ExplicitAuthFlowsType */ public UserPoolClientType withExplicitAuthFlows(java.util.Collection<String> explicitAuthFlows) { setExplicitAuthFlows(explicitAuthFlows); return this; } /** * <p> * The explicit authentication flows. * </p> * * @param explicitAuthFlows * The explicit authentication flows. * @return Returns a reference to this object so that method calls can be chained together. * @see ExplicitAuthFlowsType */ public UserPoolClientType withExplicitAuthFlows(ExplicitAuthFlowsType... explicitAuthFlows) { java.util.ArrayList<String> explicitAuthFlowsCopy = new java.util.ArrayList<String>(explicitAuthFlows.length); for (ExplicitAuthFlowsType value : explicitAuthFlows) { explicitAuthFlowsCopy.add(value.toString()); } if (getExplicitAuthFlows() == null) { setExplicitAuthFlows(explicitAuthFlowsCopy); } else { getExplicitAuthFlows().addAll(explicitAuthFlowsCopy); } 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 (getUserPoolId() != null) sb.append("UserPoolId: ").append(getUserPoolId()).append(","); if (getClientName() != null) sb.append("ClientName: ").append(getClientName()).append(","); if (getClientId() != null) sb.append("ClientId: ").append(getClientId()).append(","); if (getClientSecret() != null) sb.append("ClientSecret: ").append(getClientSecret()).append(","); if (getLastModifiedDate() != null) sb.append("LastModifiedDate: ").append(getLastModifiedDate()).append(","); if (getCreationDate() != null) sb.append("CreationDate: ").append(getCreationDate()).append(","); if (getRefreshTokenValidity() != null) sb.append("RefreshTokenValidity: ").append(getRefreshTokenValidity()).append(","); if (getReadAttributes() != null) sb.append("ReadAttributes: ").append(getReadAttributes()).append(","); if (getWriteAttributes() != null) sb.append("WriteAttributes: ").append(getWriteAttributes()).append(","); if (getExplicitAuthFlows() != null) sb.append("ExplicitAuthFlows: ").append(getExplicitAuthFlows()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UserPoolClientType == false) return false; UserPoolClientType other = (UserPoolClientType) obj; if (other.getUserPoolId() == null ^ this.getUserPoolId() == null) return false; if (other.getUserPoolId() != null && other.getUserPoolId().equals(this.getUserPoolId()) == false) return false; if (other.getClientName() == null ^ this.getClientName() == null) return false; if (other.getClientName() != null && other.getClientName().equals(this.getClientName()) == false) return false; if (other.getClientId() == null ^ this.getClientId() == null) return false; if (other.getClientId() != null && other.getClientId().equals(this.getClientId()) == false) return false; if (other.getClientSecret() == null ^ this.getClientSecret() == null) return false; if (other.getClientSecret() != null && other.getClientSecret().equals(this.getClientSecret()) == false) return false; if (other.getLastModifiedDate() == null ^ this.getLastModifiedDate() == null) return false; if (other.getLastModifiedDate() != null && other.getLastModifiedDate().equals(this.getLastModifiedDate()) == false) return false; if (other.getCreationDate() == null ^ this.getCreationDate() == null) return false; if (other.getCreationDate() != null && other.getCreationDate().equals(this.getCreationDate()) == false) return false; if (other.getRefreshTokenValidity() == null ^ this.getRefreshTokenValidity() == null) return false; if (other.getRefreshTokenValidity() != null && other.getRefreshTokenValidity().equals(this.getRefreshTokenValidity()) == false) return false; if (other.getReadAttributes() == null ^ this.getReadAttributes() == null) return false; if (other.getReadAttributes() != null && other.getReadAttributes().equals(this.getReadAttributes()) == false) return false; if (other.getWriteAttributes() == null ^ this.getWriteAttributes() == null) return false; if (other.getWriteAttributes() != null && other.getWriteAttributes().equals(this.getWriteAttributes()) == false) return false; if (other.getExplicitAuthFlows() == null ^ this.getExplicitAuthFlows() == null) return false; if (other.getExplicitAuthFlows() != null && other.getExplicitAuthFlows().equals(this.getExplicitAuthFlows()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getUserPoolId() == null) ? 0 : getUserPoolId().hashCode()); hashCode = prime * hashCode + ((getClientName() == null) ? 0 : getClientName().hashCode()); hashCode = prime * hashCode + ((getClientId() == null) ? 0 : getClientId().hashCode()); hashCode = prime * hashCode + ((getClientSecret() == null) ? 0 : getClientSecret().hashCode()); hashCode = prime * hashCode + ((getLastModifiedDate() == null) ? 0 : getLastModifiedDate().hashCode()); hashCode = prime * hashCode + ((getCreationDate() == null) ? 0 : getCreationDate().hashCode()); hashCode = prime * hashCode + ((getRefreshTokenValidity() == null) ? 0 : getRefreshTokenValidity().hashCode()); hashCode = prime * hashCode + ((getReadAttributes() == null) ? 0 : getReadAttributes().hashCode()); hashCode = prime * hashCode + ((getWriteAttributes() == null) ? 0 : getWriteAttributes().hashCode()); hashCode = prime * hashCode + ((getExplicitAuthFlows() == null) ? 0 : getExplicitAuthFlows().hashCode()); return hashCode; } @Override public UserPoolClientType clone() { try { return (UserPoolClientType) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.cognitoidp.model.transform.UserPoolClientTypeMarshaller.getInstance().marshall(this, protocolMarshaller); } }