/** * 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 Comprehend { namespace Model { /** *

Information about each word or line of text in the input document.

For * additional information, see Block * in the Amazon Textract API reference.

See Also:

AWS * API Reference

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

Unique identifier for the block.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

Unique identifier for the block.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

Unique identifier for the block.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

Unique identifier for the block.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

Unique identifier for the block.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

Unique identifier for the block.

*/ inline Block& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

Unique identifier for the block.

*/ inline Block& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

Unique identifier for the block.

*/ inline Block& WithId(const char* value) { SetId(value); return *this;} /** *

The block represents a line of text or one word of text.

  • *

    WORD - A word that's detected on a document page. A word is one or more ISO * basic Latin script characters that aren't separated by spaces.

  • *

    LINE - A string of tab-delimited, contiguous words that are detected on a * document page

*/ inline const BlockType& GetBlockType() const{ return m_blockType; } /** *

The block represents a line of text or one word of text.

  • *

    WORD - A word that's detected on a document page. A word is one or more ISO * basic Latin script characters that aren't separated by spaces.

  • *

    LINE - A string of tab-delimited, contiguous words that are detected on a * document page

*/ inline bool BlockTypeHasBeenSet() const { return m_blockTypeHasBeenSet; } /** *

The block represents a line of text or one word of text.

  • *

    WORD - A word that's detected on a document page. A word is one or more ISO * basic Latin script characters that aren't separated by spaces.

  • *

    LINE - A string of tab-delimited, contiguous words that are detected on a * document page

*/ inline void SetBlockType(const BlockType& value) { m_blockTypeHasBeenSet = true; m_blockType = value; } /** *

The block represents a line of text or one word of text.

  • *

    WORD - A word that's detected on a document page. A word is one or more ISO * basic Latin script characters that aren't separated by spaces.

  • *

    LINE - A string of tab-delimited, contiguous words that are detected on a * document page

*/ inline void SetBlockType(BlockType&& value) { m_blockTypeHasBeenSet = true; m_blockType = std::move(value); } /** *

The block represents a line of text or one word of text.

  • *

    WORD - A word that's detected on a document page. A word is one or more ISO * basic Latin script characters that aren't separated by spaces.

  • *

    LINE - A string of tab-delimited, contiguous words that are detected on a * document page

*/ inline Block& WithBlockType(const BlockType& value) { SetBlockType(value); return *this;} /** *

The block represents a line of text or one word of text.

  • *

    WORD - A word that's detected on a document page. A word is one or more ISO * basic Latin script characters that aren't separated by spaces.

  • *

    LINE - A string of tab-delimited, contiguous words that are detected on a * document page

*/ inline Block& WithBlockType(BlockType&& value) { SetBlockType(std::move(value)); return *this;} /** *

The word or line of text extracted from the block.

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

The word or line of text extracted from the block.

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

The word or line of text extracted from the block.

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

The word or line of text extracted from the block.

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

The word or line of text extracted from the block.

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

The word or line of text extracted from the block.

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

The word or line of text extracted from the block.

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

The word or line of text extracted from the block.

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

Page number where the block appears.

*/ inline int GetPage() const{ return m_page; } /** *

Page number where the block appears.

*/ inline bool PageHasBeenSet() const { return m_pageHasBeenSet; } /** *

Page number where the block appears.

*/ inline void SetPage(int value) { m_pageHasBeenSet = true; m_page = value; } /** *

Page number where the block appears.

*/ inline Block& WithPage(int value) { SetPage(value); return *this;} /** *

Co-ordinates of the rectangle or polygon that contains the text.

*/ inline const Geometry& GetGeometry() const{ return m_geometry; } /** *

Co-ordinates of the rectangle or polygon that contains the text.

*/ inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } /** *

Co-ordinates of the rectangle or polygon that contains the text.

*/ inline void SetGeometry(const Geometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } /** *

Co-ordinates of the rectangle or polygon that contains the text.

*/ inline void SetGeometry(Geometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } /** *

Co-ordinates of the rectangle or polygon that contains the text.

*/ inline Block& WithGeometry(const Geometry& value) { SetGeometry(value); return *this;} /** *

Co-ordinates of the rectangle or polygon that contains the text.

*/ inline Block& WithGeometry(Geometry&& value) { SetGeometry(std::move(value)); return *this;} /** *

A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text.

*/ inline const Aws::Vector& GetRelationships() const{ return m_relationships; } /** *

A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text.

*/ inline bool RelationshipsHasBeenSet() const { return m_relationshipsHasBeenSet; } /** *

A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text.

*/ inline void SetRelationships(const Aws::Vector& value) { m_relationshipsHasBeenSet = true; m_relationships = value; } /** *

A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text.

*/ inline void SetRelationships(Aws::Vector&& value) { m_relationshipsHasBeenSet = true; m_relationships = std::move(value); } /** *

A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text.

*/ inline Block& WithRelationships(const Aws::Vector& value) { SetRelationships(value); return *this;} /** *

A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text.

*/ inline Block& WithRelationships(Aws::Vector&& value) { SetRelationships(std::move(value)); return *this;} /** *

A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text.

*/ inline Block& AddRelationships(const RelationshipsListItem& value) { m_relationshipsHasBeenSet = true; m_relationships.push_back(value); return *this; } /** *

A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text.

*/ inline Block& AddRelationships(RelationshipsListItem&& value) { m_relationshipsHasBeenSet = true; m_relationships.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; BlockType m_blockType; bool m_blockTypeHasBeenSet = false; Aws::String m_text; bool m_textHasBeenSet = false; int m_page; bool m_pageHasBeenSet = false; Geometry m_geometry; bool m_geometryHasBeenSet = false; Aws::Vector m_relationships; bool m_relationshipsHasBeenSet = false; }; } // namespace Model } // namespace Comprehend } // namespace Aws