/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace WorkDocs { namespace Model { /** *

Describes a comment.

See Also:

AWS * API Reference

*/ class Comment { public: AWS_WORKDOCS_API Comment(); AWS_WORKDOCS_API Comment(Aws::Utils::Json::JsonView jsonValue); AWS_WORKDOCS_API Comment& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_WORKDOCS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ID of the comment.

*/ inline const Aws::String& GetCommentId() const{ return m_commentId; } /** *

The ID of the comment.

*/ inline bool CommentIdHasBeenSet() const { return m_commentIdHasBeenSet; } /** *

The ID of the comment.

*/ inline void SetCommentId(const Aws::String& value) { m_commentIdHasBeenSet = true; m_commentId = value; } /** *

The ID of the comment.

*/ inline void SetCommentId(Aws::String&& value) { m_commentIdHasBeenSet = true; m_commentId = std::move(value); } /** *

The ID of the comment.

*/ inline void SetCommentId(const char* value) { m_commentIdHasBeenSet = true; m_commentId.assign(value); } /** *

The ID of the comment.

*/ inline Comment& WithCommentId(const Aws::String& value) { SetCommentId(value); return *this;} /** *

The ID of the comment.

*/ inline Comment& WithCommentId(Aws::String&& value) { SetCommentId(std::move(value)); return *this;} /** *

The ID of the comment.

*/ inline Comment& WithCommentId(const char* value) { SetCommentId(value); return *this;} /** *

The ID of the parent comment.

*/ inline const Aws::String& GetParentId() const{ return m_parentId; } /** *

The ID of the parent comment.

*/ inline bool ParentIdHasBeenSet() const { return m_parentIdHasBeenSet; } /** *

The ID of the parent comment.

*/ inline void SetParentId(const Aws::String& value) { m_parentIdHasBeenSet = true; m_parentId = value; } /** *

The ID of the parent comment.

*/ inline void SetParentId(Aws::String&& value) { m_parentIdHasBeenSet = true; m_parentId = std::move(value); } /** *

The ID of the parent comment.

*/ inline void SetParentId(const char* value) { m_parentIdHasBeenSet = true; m_parentId.assign(value); } /** *

The ID of the parent comment.

*/ inline Comment& WithParentId(const Aws::String& value) { SetParentId(value); return *this;} /** *

The ID of the parent comment.

*/ inline Comment& WithParentId(Aws::String&& value) { SetParentId(std::move(value)); return *this;} /** *

The ID of the parent comment.

*/ inline Comment& WithParentId(const char* value) { SetParentId(value); return *this;} /** *

The ID of the root comment in the thread.

*/ inline const Aws::String& GetThreadId() const{ return m_threadId; } /** *

The ID of the root comment in the thread.

*/ inline bool ThreadIdHasBeenSet() const { return m_threadIdHasBeenSet; } /** *

The ID of the root comment in the thread.

*/ inline void SetThreadId(const Aws::String& value) { m_threadIdHasBeenSet = true; m_threadId = value; } /** *

The ID of the root comment in the thread.

*/ inline void SetThreadId(Aws::String&& value) { m_threadIdHasBeenSet = true; m_threadId = std::move(value); } /** *

The ID of the root comment in the thread.

*/ inline void SetThreadId(const char* value) { m_threadIdHasBeenSet = true; m_threadId.assign(value); } /** *

The ID of the root comment in the thread.

*/ inline Comment& WithThreadId(const Aws::String& value) { SetThreadId(value); return *this;} /** *

The ID of the root comment in the thread.

*/ inline Comment& WithThreadId(Aws::String&& value) { SetThreadId(std::move(value)); return *this;} /** *

The ID of the root comment in the thread.

*/ inline Comment& WithThreadId(const char* value) { SetThreadId(value); return *this;} /** *

The text of the comment.

*/ inline const Aws::String& GetText() const{ return m_text; } /** *

The text of the comment.

*/ inline bool TextHasBeenSet() const { return m_textHasBeenSet; } /** *

The text of the comment.

*/ inline void SetText(const Aws::String& value) { m_textHasBeenSet = true; m_text = value; } /** *

The text of the comment.

*/ inline void SetText(Aws::String&& value) { m_textHasBeenSet = true; m_text = std::move(value); } /** *

The text of the comment.

*/ inline void SetText(const char* value) { m_textHasBeenSet = true; m_text.assign(value); } /** *

The text of the comment.

*/ inline Comment& WithText(const Aws::String& value) { SetText(value); return *this;} /** *

The text of the comment.

*/ inline Comment& WithText(Aws::String&& value) { SetText(std::move(value)); return *this;} /** *

The text of the comment.

*/ inline Comment& WithText(const char* value) { SetText(value); return *this;} /** *

The details of the user who made the comment.

*/ inline const User& GetContributor() const{ return m_contributor; } /** *

The details of the user who made the comment.

*/ inline bool ContributorHasBeenSet() const { return m_contributorHasBeenSet; } /** *

The details of the user who made the comment.

*/ inline void SetContributor(const User& value) { m_contributorHasBeenSet = true; m_contributor = value; } /** *

The details of the user who made the comment.

*/ inline void SetContributor(User&& value) { m_contributorHasBeenSet = true; m_contributor = std::move(value); } /** *

The details of the user who made the comment.

*/ inline Comment& WithContributor(const User& value) { SetContributor(value); return *this;} /** *

The details of the user who made the comment.

*/ inline Comment& WithContributor(User&& value) { SetContributor(std::move(value)); return *this;} /** *

The time that the comment was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *

The time that the comment was created.

*/ inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } /** *

The time that the comment was created.

*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } /** *

The time that the comment was created.

*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } /** *

The time that the comment was created.

*/ inline Comment& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *

The time that the comment was created.

*/ inline Comment& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} /** *

The status of the comment.

*/ inline const CommentStatusType& GetStatus() const{ return m_status; } /** *

The status of the comment.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the comment.

*/ inline void SetStatus(const CommentStatusType& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the comment.

*/ inline void SetStatus(CommentStatusType&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the comment.

*/ inline Comment& WithStatus(const CommentStatusType& value) { SetStatus(value); return *this;} /** *

The status of the comment.

*/ inline Comment& WithStatus(CommentStatusType&& value) { SetStatus(std::move(value)); return *this;} /** *

The visibility of the comment. Options are either PRIVATE, where the comment * is visible only to the comment author and document owner and co-owners, or * PUBLIC, where the comment is visible to document owners, co-owners, and * contributors.

*/ inline const CommentVisibilityType& GetVisibility() const{ return m_visibility; } /** *

The visibility of the comment. Options are either PRIVATE, where the comment * is visible only to the comment author and document owner and co-owners, or * PUBLIC, where the comment is visible to document owners, co-owners, and * contributors.

*/ inline bool VisibilityHasBeenSet() const { return m_visibilityHasBeenSet; } /** *

The visibility of the comment. Options are either PRIVATE, where the comment * is visible only to the comment author and document owner and co-owners, or * PUBLIC, where the comment is visible to document owners, co-owners, and * contributors.

*/ inline void SetVisibility(const CommentVisibilityType& value) { m_visibilityHasBeenSet = true; m_visibility = value; } /** *

The visibility of the comment. Options are either PRIVATE, where the comment * is visible only to the comment author and document owner and co-owners, or * PUBLIC, where the comment is visible to document owners, co-owners, and * contributors.

*/ inline void SetVisibility(CommentVisibilityType&& value) { m_visibilityHasBeenSet = true; m_visibility = std::move(value); } /** *

The visibility of the comment. Options are either PRIVATE, where the comment * is visible only to the comment author and document owner and co-owners, or * PUBLIC, where the comment is visible to document owners, co-owners, and * contributors.

*/ inline Comment& WithVisibility(const CommentVisibilityType& value) { SetVisibility(value); return *this;} /** *

The visibility of the comment. Options are either PRIVATE, where the comment * is visible only to the comment author and document owner and co-owners, or * PUBLIC, where the comment is visible to document owners, co-owners, and * contributors.

*/ inline Comment& WithVisibility(CommentVisibilityType&& value) { SetVisibility(std::move(value)); return *this;} /** *

If the comment is a reply to another user's comment, this field contains the * user ID of the user being replied to.

*/ inline const Aws::String& GetRecipientId() const{ return m_recipientId; } /** *

If the comment is a reply to another user's comment, this field contains the * user ID of the user being replied to.

*/ inline bool RecipientIdHasBeenSet() const { return m_recipientIdHasBeenSet; } /** *

If the comment is a reply to another user's comment, this field contains the * user ID of the user being replied to.

*/ inline void SetRecipientId(const Aws::String& value) { m_recipientIdHasBeenSet = true; m_recipientId = value; } /** *

If the comment is a reply to another user's comment, this field contains the * user ID of the user being replied to.

*/ inline void SetRecipientId(Aws::String&& value) { m_recipientIdHasBeenSet = true; m_recipientId = std::move(value); } /** *

If the comment is a reply to another user's comment, this field contains the * user ID of the user being replied to.

*/ inline void SetRecipientId(const char* value) { m_recipientIdHasBeenSet = true; m_recipientId.assign(value); } /** *

If the comment is a reply to another user's comment, this field contains the * user ID of the user being replied to.

*/ inline Comment& WithRecipientId(const Aws::String& value) { SetRecipientId(value); return *this;} /** *

If the comment is a reply to another user's comment, this field contains the * user ID of the user being replied to.

*/ inline Comment& WithRecipientId(Aws::String&& value) { SetRecipientId(std::move(value)); return *this;} /** *

If the comment is a reply to another user's comment, this field contains the * user ID of the user being replied to.

*/ inline Comment& WithRecipientId(const char* value) { SetRecipientId(value); return *this;} private: Aws::String m_commentId; bool m_commentIdHasBeenSet = false; Aws::String m_parentId; bool m_parentIdHasBeenSet = false; Aws::String m_threadId; bool m_threadIdHasBeenSet = false; Aws::String m_text; bool m_textHasBeenSet = false; User m_contributor; bool m_contributorHasBeenSet = false; Aws::Utils::DateTime m_createdTimestamp; bool m_createdTimestampHasBeenSet = false; CommentStatusType m_status; bool m_statusHasBeenSet = false; CommentVisibilityType m_visibility; bool m_visibilityHasBeenSet = false; Aws::String m_recipientId; bool m_recipientIdHasBeenSet = false; }; } // namespace Model } // namespace WorkDocs } // namespace Aws