/* * Copyright 2010-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 com.amazonaws.AmazonWebServiceRequest; /** *

* Updates details about a contact evaluation in the specified Amazon Connect * instance. A contact evaluation must be in draft state. Answers included in * the request are merged with existing answers for the given evaluation. An * answer or note can be deleted by passing an empty object ({}) to * the question identifier. *

*/ public class UpdateContactEvaluationRequest extends AmazonWebServiceRequest implements Serializable { /** *

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

*

* Constraints:
* Length: 1 - 100
*/ private String instanceId; /** *

* A unique identifier for the contact evaluation. *

*

* Constraints:
* Length: 1 - 500
*/ 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. *

*

* Constraints:
* Length: 1 - 100
* * @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 instanceId; } /** *

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

*

* Constraints:
* Length: 1 - 100
* * @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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 100
* * @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 A reference to this updated object so that method calls can be * chained together. */ public UpdateContactEvaluationRequest withInstanceId(String instanceId) { this.instanceId = instanceId; return this; } /** *

* A unique identifier for the contact evaluation. *

*

* Constraints:
* Length: 1 - 500
* * @return

* A unique identifier for the contact evaluation. *

*/ public String getEvaluationId() { return evaluationId; } /** *

* A unique identifier for the contact evaluation. *

*

* Constraints:
* Length: 1 - 500
* * @param evaluationId

* A unique identifier for the contact evaluation. *

*/ public void setEvaluationId(String evaluationId) { this.evaluationId = evaluationId; } /** *

* A unique identifier for the contact evaluation. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 500
* * @param evaluationId

* A unique identifier for the contact evaluation. *

* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateContactEvaluationRequest withEvaluationId(String evaluationId) { this.evaluationId = 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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param answers

* A map of question identifiers to answer value. *

* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateContactEvaluationRequest withAnswers( java.util.Map answers) { this.answers = answers; return this; } /** *

* A map of question identifiers to answer value. *

*

* The method adds a new key-value pair into Answers parameter, and returns * a reference to this object so that method calls can be chained together. * * @param key The key of the entry to be added into Answers. * @param value The corresponding value of the entry to be added into * Answers. * @return A reference to this updated object so that method calls can be * chained together. */ public UpdateContactEvaluationRequest 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. *

* Returns a reference to this object so that method calls can be chained * together. */ public UpdateContactEvaluationRequest 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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param notes

* A map of question identifiers to note value. *

* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateContactEvaluationRequest withNotes(java.util.Map notes) { this.notes = notes; return this; } /** *

* A map of question identifiers to note value. *

*

* The method adds a new key-value pair into Notes parameter, and returns a * reference to this object so that method calls can be chained together. * * @param key The key of the entry to be added into Notes. * @param value The corresponding value of the entry to be added into Notes. * @return A reference to this updated object so that method calls can be * chained together. */ public UpdateContactEvaluationRequest 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. *

* Returns a reference to this object so that method calls can be chained * together. */ public UpdateContactEvaluationRequest clearNotesEntries() { this.notes = null; 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 (getInstanceId() != null) sb.append("InstanceId: " + getInstanceId() + ","); if (getEvaluationId() != null) sb.append("EvaluationId: " + getEvaluationId() + ","); if (getAnswers() != null) sb.append("Answers: " + getAnswers() + ","); if (getNotes() != null) sb.append("Notes: " + getNotes()); sb.append("}"); return sb.toString(); } @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 boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateContactEvaluationRequest == false) return false; UpdateContactEvaluationRequest other = (UpdateContactEvaluationRequest) 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; } }