/* * 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.customerprofiles.model; import java.io.Serializable; import javax.annotation.Generated; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateCalculatedAttributeDefinitionResult extends com.amazonaws.AmazonWebServiceResult implements Serializable, Cloneable { /** *

* The unique name of the calculated attribute. *

*/ private String calculatedAttributeName; /** *

* The display name of the calculated attribute. *

*/ private String displayName; /** *

* The description of the calculated attribute. *

*/ private String description; /** *

* Mathematical expression and a list of attribute items specified in that expression. *

*/ private AttributeDetails attributeDetails; /** *

* The conditions including range, object count, and threshold for the calculated attribute. *

*/ private Conditions conditions; /** *

* The aggregation operation to perform for the calculated attribute. *

*/ private String statistic; /** *

* The timestamp of when the calculated attribute definition was created. *

*/ private java.util.Date createdAt; /** *

* The timestamp of when the calculated attribute definition was most recently edited. *

*/ private java.util.Date lastUpdatedAt; /** *

* The tags used to organize, track, or control access for this resource. *

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

* The unique name of the calculated attribute. *

* * @param calculatedAttributeName * The unique name of the calculated attribute. */ public void setCalculatedAttributeName(String calculatedAttributeName) { this.calculatedAttributeName = calculatedAttributeName; } /** *

* The unique name of the calculated attribute. *

* * @return The unique name of the calculated attribute. */ public String getCalculatedAttributeName() { return this.calculatedAttributeName; } /** *

* The unique name of the calculated attribute. *

* * @param calculatedAttributeName * The unique name of the calculated attribute. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult withCalculatedAttributeName(String calculatedAttributeName) { setCalculatedAttributeName(calculatedAttributeName); return this; } /** *

* The display name of the calculated attribute. *

* * @param displayName * The display name of the calculated attribute. */ public void setDisplayName(String displayName) { this.displayName = displayName; } /** *

* The display name of the calculated attribute. *

* * @return The display name of the calculated attribute. */ public String getDisplayName() { return this.displayName; } /** *

* The display name of the calculated attribute. *

* * @param displayName * The display name of the calculated attribute. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult withDisplayName(String displayName) { setDisplayName(displayName); return this; } /** *

* The description of the calculated attribute. *

* * @param description * The description of the calculated attribute. */ public void setDescription(String description) { this.description = description; } /** *

* The description of the calculated attribute. *

* * @return The description of the calculated attribute. */ public String getDescription() { return this.description; } /** *

* The description of the calculated attribute. *

* * @param description * The description of the calculated attribute. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult withDescription(String description) { setDescription(description); return this; } /** *

* Mathematical expression and a list of attribute items specified in that expression. *

* * @param attributeDetails * Mathematical expression and a list of attribute items specified in that expression. */ public void setAttributeDetails(AttributeDetails attributeDetails) { this.attributeDetails = attributeDetails; } /** *

* Mathematical expression and a list of attribute items specified in that expression. *

* * @return Mathematical expression and a list of attribute items specified in that expression. */ public AttributeDetails getAttributeDetails() { return this.attributeDetails; } /** *

* Mathematical expression and a list of attribute items specified in that expression. *

* * @param attributeDetails * Mathematical expression and a list of attribute items specified in that expression. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult withAttributeDetails(AttributeDetails attributeDetails) { setAttributeDetails(attributeDetails); return this; } /** *

* The conditions including range, object count, and threshold for the calculated attribute. *

* * @param conditions * The conditions including range, object count, and threshold for the calculated attribute. */ public void setConditions(Conditions conditions) { this.conditions = conditions; } /** *

* The conditions including range, object count, and threshold for the calculated attribute. *

* * @return The conditions including range, object count, and threshold for the calculated attribute. */ public Conditions getConditions() { return this.conditions; } /** *

* The conditions including range, object count, and threshold for the calculated attribute. *

* * @param conditions * The conditions including range, object count, and threshold for the calculated attribute. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult withConditions(Conditions conditions) { setConditions(conditions); return this; } /** *

* The aggregation operation to perform for the calculated attribute. *

* * @param statistic * The aggregation operation to perform for the calculated attribute. * @see Statistic */ public void setStatistic(String statistic) { this.statistic = statistic; } /** *

* The aggregation operation to perform for the calculated attribute. *

* * @return The aggregation operation to perform for the calculated attribute. * @see Statistic */ public String getStatistic() { return this.statistic; } /** *

* The aggregation operation to perform for the calculated attribute. *

* * @param statistic * The aggregation operation to perform for the calculated attribute. * @return Returns a reference to this object so that method calls can be chained together. * @see Statistic */ public CreateCalculatedAttributeDefinitionResult withStatistic(String statistic) { setStatistic(statistic); return this; } /** *

* The aggregation operation to perform for the calculated attribute. *

* * @param statistic * The aggregation operation to perform for the calculated attribute. * @return Returns a reference to this object so that method calls can be chained together. * @see Statistic */ public CreateCalculatedAttributeDefinitionResult withStatistic(Statistic statistic) { this.statistic = statistic.toString(); return this; } /** *

* The timestamp of when the calculated attribute definition was created. *

* * @param createdAt * The timestamp of when the calculated attribute definition was created. */ public void setCreatedAt(java.util.Date createdAt) { this.createdAt = createdAt; } /** *

* The timestamp of when the calculated attribute definition was created. *

* * @return The timestamp of when the calculated attribute definition was created. */ public java.util.Date getCreatedAt() { return this.createdAt; } /** *

* The timestamp of when the calculated attribute definition was created. *

* * @param createdAt * The timestamp of when the calculated attribute definition was created. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult withCreatedAt(java.util.Date createdAt) { setCreatedAt(createdAt); return this; } /** *

* The timestamp of when the calculated attribute definition was most recently edited. *

* * @param lastUpdatedAt * The timestamp of when the calculated attribute definition was most recently edited. */ public void setLastUpdatedAt(java.util.Date lastUpdatedAt) { this.lastUpdatedAt = lastUpdatedAt; } /** *

* The timestamp of when the calculated attribute definition was most recently edited. *

* * @return The timestamp of when the calculated attribute definition was most recently edited. */ public java.util.Date getLastUpdatedAt() { return this.lastUpdatedAt; } /** *

* The timestamp of when the calculated attribute definition was most recently edited. *

* * @param lastUpdatedAt * The timestamp of when the calculated attribute definition was most recently edited. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult withLastUpdatedAt(java.util.Date lastUpdatedAt) { setLastUpdatedAt(lastUpdatedAt); return this; } /** *

* The tags used to organize, track, or control access for this resource. *

* * @return The tags used to organize, track, or control access for this resource. */ public java.util.Map getTags() { return tags; } /** *

* The tags used to organize, track, or control access for this resource. *

* * @param tags * The tags used to organize, track, or control access for this resource. */ public void setTags(java.util.Map tags) { this.tags = tags; } /** *

* The tags used to organize, track, or control access for this resource. *

* * @param tags * The tags used to organize, track, or control access for this resource. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult withTags(java.util.Map tags) { setTags(tags); return this; } /** * Add a single Tags entry * * @see CreateCalculatedAttributeDefinitionResult#withTags * @returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult addTagsEntry(String key, String value) { if (null == this.tags) { this.tags = new java.util.HashMap(); } if (this.tags.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.tags.put(key, value); return this; } /** * Removes all the entries added into Tags. * * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionResult clearTagsEntries() { this.tags = 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 (getCalculatedAttributeName() != null) sb.append("CalculatedAttributeName: ").append(getCalculatedAttributeName()).append(","); if (getDisplayName() != null) sb.append("DisplayName: ").append(getDisplayName()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getAttributeDetails() != null) sb.append("AttributeDetails: ").append(getAttributeDetails()).append(","); if (getConditions() != null) sb.append("Conditions: ").append(getConditions()).append(","); if (getStatistic() != null) sb.append("Statistic: ").append(getStatistic()).append(","); if (getCreatedAt() != null) sb.append("CreatedAt: ").append(getCreatedAt()).append(","); if (getLastUpdatedAt() != null) sb.append("LastUpdatedAt: ").append(getLastUpdatedAt()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateCalculatedAttributeDefinitionResult == false) return false; CreateCalculatedAttributeDefinitionResult other = (CreateCalculatedAttributeDefinitionResult) obj; if (other.getCalculatedAttributeName() == null ^ this.getCalculatedAttributeName() == null) return false; if (other.getCalculatedAttributeName() != null && other.getCalculatedAttributeName().equals(this.getCalculatedAttributeName()) == false) return false; if (other.getDisplayName() == null ^ this.getDisplayName() == null) return false; if (other.getDisplayName() != null && other.getDisplayName().equals(this.getDisplayName()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getAttributeDetails() == null ^ this.getAttributeDetails() == null) return false; if (other.getAttributeDetails() != null && other.getAttributeDetails().equals(this.getAttributeDetails()) == false) return false; if (other.getConditions() == null ^ this.getConditions() == null) return false; if (other.getConditions() != null && other.getConditions().equals(this.getConditions()) == false) return false; if (other.getStatistic() == null ^ this.getStatistic() == null) return false; if (other.getStatistic() != null && other.getStatistic().equals(this.getStatistic()) == false) return false; if (other.getCreatedAt() == null ^ this.getCreatedAt() == null) return false; if (other.getCreatedAt() != null && other.getCreatedAt().equals(this.getCreatedAt()) == false) return false; if (other.getLastUpdatedAt() == null ^ this.getLastUpdatedAt() == null) return false; if (other.getLastUpdatedAt() != null && other.getLastUpdatedAt().equals(this.getLastUpdatedAt()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCalculatedAttributeName() == null) ? 0 : getCalculatedAttributeName().hashCode()); hashCode = prime * hashCode + ((getDisplayName() == null) ? 0 : getDisplayName().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getAttributeDetails() == null) ? 0 : getAttributeDetails().hashCode()); hashCode = prime * hashCode + ((getConditions() == null) ? 0 : getConditions().hashCode()); hashCode = prime * hashCode + ((getStatistic() == null) ? 0 : getStatistic().hashCode()); hashCode = prime * hashCode + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode()); hashCode = prime * hashCode + ((getLastUpdatedAt() == null) ? 0 : getLastUpdatedAt().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public CreateCalculatedAttributeDefinitionResult clone() { try { return (CreateCalculatedAttributeDefinitionResult) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }