/* * 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.simplesystemsmanagement.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Information about a reviewer's response to a document review request. *
* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DocumentReviewerResponseSource implements Serializable, Cloneable, StructuredPojo { /** ** The date and time that a reviewer entered a response to a document review request. *
*/ private java.util.Date createTime; /** ** The date and time that a reviewer last updated a response to a document review request. *
*/ private java.util.Date updatedTime; /** ** The current review status of a new custom SSM document created by a member of your organization, or of the latest * version of an existing SSM document. *
** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the status * of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. *
*/ private String reviewStatus; /** ** The comment entered by a reviewer as part of their document review response. *
*/ private com.amazonaws.internal.SdkInternalList* The user in your organization assigned to review a document request. *
*/ private String reviewer; /** ** The date and time that a reviewer entered a response to a document review request. *
* * @param createTime * The date and time that a reviewer entered a response to a document review request. */ public void setCreateTime(java.util.Date createTime) { this.createTime = createTime; } /** ** The date and time that a reviewer entered a response to a document review request. *
* * @return The date and time that a reviewer entered a response to a document review request. */ public java.util.Date getCreateTime() { return this.createTime; } /** ** The date and time that a reviewer entered a response to a document review request. *
* * @param createTime * The date and time that a reviewer entered a response to a document review request. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentReviewerResponseSource withCreateTime(java.util.Date createTime) { setCreateTime(createTime); return this; } /** ** The date and time that a reviewer last updated a response to a document review request. *
* * @param updatedTime * The date and time that a reviewer last updated a response to a document review request. */ public void setUpdatedTime(java.util.Date updatedTime) { this.updatedTime = updatedTime; } /** ** The date and time that a reviewer last updated a response to a document review request. *
* * @return The date and time that a reviewer last updated a response to a document review request. */ public java.util.Date getUpdatedTime() { return this.updatedTime; } /** ** The date and time that a reviewer last updated a response to a document review request. *
* * @param updatedTime * The date and time that a reviewer last updated a response to a document review request. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentReviewerResponseSource withUpdatedTime(java.util.Date updatedTime) { setUpdatedTime(updatedTime); return this; } /** ** The current review status of a new custom SSM document created by a member of your organization, or of the latest * version of an existing SSM document. *
** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the status * of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. *
* * @param reviewStatus * The current review status of a new custom SSM document created by a member of your organization, or of the * latest version of an existing SSM document. ** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the * status of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. * @see ReviewStatus */ public void setReviewStatus(String reviewStatus) { this.reviewStatus = reviewStatus; } /** *
* The current review status of a new custom SSM document created by a member of your organization, or of the latest * version of an existing SSM document. *
** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the status * of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. *
* * @return The current review status of a new custom SSM document created by a member of your organization, or of * the latest version of an existing SSM document. ** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, * the status of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. * @see ReviewStatus */ public String getReviewStatus() { return this.reviewStatus; } /** *
* The current review status of a new custom SSM document created by a member of your organization, or of the latest * version of an existing SSM document. *
** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the status * of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. *
* * @param reviewStatus * The current review status of a new custom SSM document created by a member of your organization, or of the * latest version of an existing SSM document. ** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the * status of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. * @return Returns a reference to this object so that method calls can be chained together. * @see ReviewStatus */ public DocumentReviewerResponseSource withReviewStatus(String reviewStatus) { setReviewStatus(reviewStatus); return this; } /** *
* The current review status of a new custom SSM document created by a member of your organization, or of the latest * version of an existing SSM document. *
** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the status * of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. *
* * @param reviewStatus * The current review status of a new custom SSM document created by a member of your organization, or of the * latest version of an existing SSM document. ** Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the * status of the previous version changes to REJECTED. *
** Only one version of a document can be in review, or PENDING, at a time. * @return Returns a reference to this object so that method calls can be chained together. * @see ReviewStatus */ public DocumentReviewerResponseSource withReviewStatus(ReviewStatus reviewStatus) { this.reviewStatus = reviewStatus.toString(); return this; } /** *
* The comment entered by a reviewer as part of their document review response. *
* * @return The comment entered by a reviewer as part of their document review response. */ public java.util.List* The comment entered by a reviewer as part of their document review response. *
* * @param comment * The comment entered by a reviewer as part of their document review response. */ public void setComment(java.util.Collection* The comment entered by a reviewer as part of their document review response. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setComment(java.util.Collection)} or {@link #withComment(java.util.Collection)} if you want to override * the existing values. *
* * @param comment * The comment entered by a reviewer as part of their document review response. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentReviewerResponseSource withComment(DocumentReviewCommentSource... comment) { if (this.comment == null) { setComment(new com.amazonaws.internal.SdkInternalList* The comment entered by a reviewer as part of their document review response. *
* * @param comment * The comment entered by a reviewer as part of their document review response. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentReviewerResponseSource withComment(java.util.Collection* The user in your organization assigned to review a document request. *
* * @param reviewer * The user in your organization assigned to review a document request. */ public void setReviewer(String reviewer) { this.reviewer = reviewer; } /** ** The user in your organization assigned to review a document request. *
* * @return The user in your organization assigned to review a document request. */ public String getReviewer() { return this.reviewer; } /** ** The user in your organization assigned to review a document request. *
* * @param reviewer * The user in your organization assigned to review a document request. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentReviewerResponseSource withReviewer(String reviewer) { setReviewer(reviewer); 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 (getCreateTime() != null) sb.append("CreateTime: ").append(getCreateTime()).append(","); if (getUpdatedTime() != null) sb.append("UpdatedTime: ").append(getUpdatedTime()).append(","); if (getReviewStatus() != null) sb.append("ReviewStatus: ").append(getReviewStatus()).append(","); if (getComment() != null) sb.append("Comment: ").append(getComment()).append(","); if (getReviewer() != null) sb.append("Reviewer: ").append(getReviewer()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DocumentReviewerResponseSource == false) return false; DocumentReviewerResponseSource other = (DocumentReviewerResponseSource) obj; if (other.getCreateTime() == null ^ this.getCreateTime() == null) return false; if (other.getCreateTime() != null && other.getCreateTime().equals(this.getCreateTime()) == false) return false; if (other.getUpdatedTime() == null ^ this.getUpdatedTime() == null) return false; if (other.getUpdatedTime() != null && other.getUpdatedTime().equals(this.getUpdatedTime()) == false) return false; if (other.getReviewStatus() == null ^ this.getReviewStatus() == null) return false; if (other.getReviewStatus() != null && other.getReviewStatus().equals(this.getReviewStatus()) == false) return false; if (other.getComment() == null ^ this.getComment() == null) return false; if (other.getComment() != null && other.getComment().equals(this.getComment()) == false) return false; if (other.getReviewer() == null ^ this.getReviewer() == null) return false; if (other.getReviewer() != null && other.getReviewer().equals(this.getReviewer()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); hashCode = prime * hashCode + ((getUpdatedTime() == null) ? 0 : getUpdatedTime().hashCode()); hashCode = prime * hashCode + ((getReviewStatus() == null) ? 0 : getReviewStatus().hashCode()); hashCode = prime * hashCode + ((getComment() == null) ? 0 : getComment().hashCode()); hashCode = prime * hashCode + ((getReviewer() == null) ? 0 : getReviewer().hashCode()); return hashCode; } @Override public DocumentReviewerResponseSource clone() { try { return (DocumentReviewerResponseSource) 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.simplesystemsmanagement.model.transform.DocumentReviewerResponseSourceMarshaller.getInstance() .marshall(this, protocolMarshaller); } }