/* * 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.connect.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 SubmitContactEvaluationRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The identifier of the Amazon Connect instance. You can find the instance ID in * the Amazon Resource Name (ARN) of the instance. *

*/ private String instanceId; /** *

* A unique identifier for the contact evaluation. *

*/ private String evaluationId; /** *

* A map of question identifiers to answer value. *

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

* A map of question identifiers to note value. *

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

* The identifier of the Amazon Connect instance. You can find the instance ID in * the Amazon Resource Name (ARN) of the instance. *

* * @param instanceId * The identifier of the Amazon Connect instance. You can find the instance * ID in the Amazon Resource Name (ARN) of the instance. */ public void setInstanceId(String instanceId) { this.instanceId = instanceId; } /** *

* The identifier of the Amazon Connect instance. You can find the instance ID in * the Amazon Resource Name (ARN) of the instance. *

* * @return The identifier of the Amazon Connect instance. You can find the instance * ID in the Amazon Resource Name (ARN) of the instance. */ public String getInstanceId() { return this.instanceId; } /** *

* The identifier of the Amazon Connect instance. You can find the instance ID in * the Amazon Resource Name (ARN) of the instance. *

* * @param instanceId * The identifier of the Amazon Connect instance. You can find the instance * ID in the Amazon Resource Name (ARN) of the instance. * @return Returns a reference to this object so that method calls can be chained together. */ public SubmitContactEvaluationRequest withInstanceId(String instanceId) { setInstanceId(instanceId); return this; } /** *

* A unique identifier for the contact evaluation. *

* * @param evaluationId * A unique identifier for the contact evaluation. */ public void setEvaluationId(String evaluationId) { this.evaluationId = evaluationId; } /** *

* A unique identifier for the contact evaluation. *

* * @return A unique identifier for the contact evaluation. */ public String getEvaluationId() { return this.evaluationId; } /** *

* A unique identifier for the contact evaluation. *

* * @param evaluationId * A unique identifier for the contact evaluation. * @return Returns a reference to this object so that method calls can be chained together. */ public SubmitContactEvaluationRequest withEvaluationId(String evaluationId) { setEvaluationId(evaluationId); return this; } /** *

* A map of question identifiers to answer value. *

* * @return A map of question identifiers to answer value. */ public java.util.Map getAnswers() { return answers; } /** *

* A map of question identifiers to answer value. *

* * @param answers * A map of question identifiers to answer value. */ public void setAnswers(java.util.Map answers) { this.answers = answers; } /** *

* A map of question identifiers to answer value. *

* * @param answers * A map of question identifiers to answer value. * @return Returns a reference to this object so that method calls can be chained together. */ public SubmitContactEvaluationRequest withAnswers(java.util.Map answers) { setAnswers(answers); return this; } /** * Add a single Answers entry * * @see SubmitContactEvaluationRequest#withAnswers * @returns a reference to this object so that method calls can be chained together. */ public SubmitContactEvaluationRequest addAnswersEntry(String key, EvaluationAnswerInput value) { if (null == this.answers) { this.answers = new java.util.HashMap(); } if (this.answers.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.answers.put(key, value); return this; } /** * Removes all the entries added into Answers. * * @return Returns a reference to this object so that method calls can be chained together. */ public SubmitContactEvaluationRequest clearAnswersEntries() { this.answers = null; return this; } /** *

* A map of question identifiers to note value. *

* * @return A map of question identifiers to note value. */ public java.util.Map getNotes() { return notes; } /** *

* A map of question identifiers to note value. *

* * @param notes * A map of question identifiers to note value. */ public void setNotes(java.util.Map notes) { this.notes = notes; } /** *

* A map of question identifiers to note value. *

* * @param notes * A map of question identifiers to note value. * @return Returns a reference to this object so that method calls can be chained together. */ public SubmitContactEvaluationRequest withNotes(java.util.Map notes) { setNotes(notes); return this; } /** * Add a single Notes entry * * @see SubmitContactEvaluationRequest#withNotes * @returns a reference to this object so that method calls can be chained together. */ public SubmitContactEvaluationRequest addNotesEntry(String key, EvaluationNote value) { if (null == this.notes) { this.notes = new java.util.HashMap(); } if (this.notes.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.notes.put(key, value); return this; } /** * Removes all the entries added into Notes. * * @return Returns a reference to this object so that method calls can be chained together. */ public SubmitContactEvaluationRequest clearNotesEntries() { this.notes = 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 (getInstanceId() != null) sb.append("InstanceId: ").append(getInstanceId()).append(","); if (getEvaluationId() != null) sb.append("EvaluationId: ").append(getEvaluationId()).append(","); if (getAnswers() != null) sb.append("Answers: ").append(getAnswers()).append(","); if (getNotes() != null) sb.append("Notes: ").append(getNotes()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SubmitContactEvaluationRequest == false) return false; SubmitContactEvaluationRequest other = (SubmitContactEvaluationRequest) obj; if (other.getInstanceId() == null ^ this.getInstanceId() == null) return false; if (other.getInstanceId() != null && other.getInstanceId().equals(this.getInstanceId()) == false) return false; if (other.getEvaluationId() == null ^ this.getEvaluationId() == null) return false; if (other.getEvaluationId() != null && other.getEvaluationId().equals(this.getEvaluationId()) == false) return false; if (other.getAnswers() == null ^ this.getAnswers() == null) return false; if (other.getAnswers() != null && other.getAnswers().equals(this.getAnswers()) == false) return false; if (other.getNotes() == null ^ this.getNotes() == null) return false; if (other.getNotes() != null && other.getNotes().equals(this.getNotes()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getInstanceId() == null) ? 0 : getInstanceId().hashCode()); hashCode = prime * hashCode + ((getEvaluationId() == null) ? 0 : getEvaluationId().hashCode()); hashCode = prime * hashCode + ((getAnswers() == null) ? 0 : getAnswers().hashCode()); hashCode = prime * hashCode + ((getNotes() == null) ? 0 : getNotes().hashCode()); return hashCode; } @Override public SubmitContactEvaluationRequest clone() { return (SubmitContactEvaluationRequest) super.clone(); } }