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

Information about one of the entities found by targeted sentiment * analysis.

For more information about targeted sentiment, see Targeted * sentiment.

See Also:

AWS * API Reference

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

One or more index into the Mentions array that provides the best name for the * entity group.

*/ inline const Aws::Vector& GetDescriptiveMentionIndex() const{ return m_descriptiveMentionIndex; } /** *

One or more index into the Mentions array that provides the best name for the * entity group.

*/ inline bool DescriptiveMentionIndexHasBeenSet() const { return m_descriptiveMentionIndexHasBeenSet; } /** *

One or more index into the Mentions array that provides the best name for the * entity group.

*/ inline void SetDescriptiveMentionIndex(const Aws::Vector& value) { m_descriptiveMentionIndexHasBeenSet = true; m_descriptiveMentionIndex = value; } /** *

One or more index into the Mentions array that provides the best name for the * entity group.

*/ inline void SetDescriptiveMentionIndex(Aws::Vector&& value) { m_descriptiveMentionIndexHasBeenSet = true; m_descriptiveMentionIndex = std::move(value); } /** *

One or more index into the Mentions array that provides the best name for the * entity group.

*/ inline TargetedSentimentEntity& WithDescriptiveMentionIndex(const Aws::Vector& value) { SetDescriptiveMentionIndex(value); return *this;} /** *

One or more index into the Mentions array that provides the best name for the * entity group.

*/ inline TargetedSentimentEntity& WithDescriptiveMentionIndex(Aws::Vector&& value) { SetDescriptiveMentionIndex(std::move(value)); return *this;} /** *

One or more index into the Mentions array that provides the best name for the * entity group.

*/ inline TargetedSentimentEntity& AddDescriptiveMentionIndex(int value) { m_descriptiveMentionIndexHasBeenSet = true; m_descriptiveMentionIndex.push_back(value); return *this; } /** *

An array of mentions of the entity in the document. The array represents a * co-reference group. See * Co-reference group for an example.

*/ inline const Aws::Vector& GetMentions() const{ return m_mentions; } /** *

An array of mentions of the entity in the document. The array represents a * co-reference group. See * Co-reference group for an example.

*/ inline bool MentionsHasBeenSet() const { return m_mentionsHasBeenSet; } /** *

An array of mentions of the entity in the document. The array represents a * co-reference group. See * Co-reference group for an example.

*/ inline void SetMentions(const Aws::Vector& value) { m_mentionsHasBeenSet = true; m_mentions = value; } /** *

An array of mentions of the entity in the document. The array represents a * co-reference group. See * Co-reference group for an example.

*/ inline void SetMentions(Aws::Vector&& value) { m_mentionsHasBeenSet = true; m_mentions = std::move(value); } /** *

An array of mentions of the entity in the document. The array represents a * co-reference group. See * Co-reference group for an example.

*/ inline TargetedSentimentEntity& WithMentions(const Aws::Vector& value) { SetMentions(value); return *this;} /** *

An array of mentions of the entity in the document. The array represents a * co-reference group. See * Co-reference group for an example.

*/ inline TargetedSentimentEntity& WithMentions(Aws::Vector&& value) { SetMentions(std::move(value)); return *this;} /** *

An array of mentions of the entity in the document. The array represents a * co-reference group. See * Co-reference group for an example.

*/ inline TargetedSentimentEntity& AddMentions(const TargetedSentimentMention& value) { m_mentionsHasBeenSet = true; m_mentions.push_back(value); return *this; } /** *

An array of mentions of the entity in the document. The array represents a * co-reference group. See * Co-reference group for an example.

*/ inline TargetedSentimentEntity& AddMentions(TargetedSentimentMention&& value) { m_mentionsHasBeenSet = true; m_mentions.push_back(std::move(value)); return *this; } private: Aws::Vector m_descriptiveMentionIndex; bool m_descriptiveMentionIndexHasBeenSet = false; Aws::Vector m_mentions; bool m_mentionsHasBeenSet = false; }; } // namespace Model } // namespace Comprehend } // namespace Aws