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

* The unique name of the domain. *

*/ private String domainName; /** *

* 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 tags used to organize, track, or control access for this resource. *

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

* The unique name of the domain. *

* * @param domainName * The unique name of the domain. */ public void setDomainName(String domainName) { this.domainName = domainName; } /** *

* The unique name of the domain. *

* * @return The unique name of the domain. */ public String getDomainName() { return this.domainName; } /** *

* The unique name of the domain. *

* * @param domainName * The unique name of the domain. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionRequest withDomainName(String domainName) { setDomainName(domainName); return this; } /** *

* 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 CreateCalculatedAttributeDefinitionRequest 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 CreateCalculatedAttributeDefinitionRequest 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 CreateCalculatedAttributeDefinitionRequest 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 CreateCalculatedAttributeDefinitionRequest 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 CreateCalculatedAttributeDefinitionRequest 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 CreateCalculatedAttributeDefinitionRequest 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 CreateCalculatedAttributeDefinitionRequest withStatistic(Statistic statistic) { this.statistic = statistic.toString(); 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 CreateCalculatedAttributeDefinitionRequest withTags(java.util.Map tags) { setTags(tags); return this; } /** * Add a single Tags entry * * @see CreateCalculatedAttributeDefinitionRequest#withTags * @returns a reference to this object so that method calls can be chained together. */ public CreateCalculatedAttributeDefinitionRequest 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 CreateCalculatedAttributeDefinitionRequest 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 (getDomainName() != null) sb.append("DomainName: ").append(getDomainName()).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 (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 CreateCalculatedAttributeDefinitionRequest == false) return false; CreateCalculatedAttributeDefinitionRequest other = (CreateCalculatedAttributeDefinitionRequest) obj; if (other.getDomainName() == null ^ this.getDomainName() == null) return false; if (other.getDomainName() != null && other.getDomainName().equals(this.getDomainName()) == false) return false; 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.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 + ((getDomainName() == null) ? 0 : getDomainName().hashCode()); 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 + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public CreateCalculatedAttributeDefinitionRequest clone() { return (CreateCalculatedAttributeDefinitionRequest) super.clone(); } }