/** * 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 #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Textract { namespace Model { /** *

A Block represents items that are recognized in a document * within a group of pixels close to each other. The information returned in a * Block object depends on the type of operation. In text detection * for documents (for example DetectDocumentText), you get information about * the detected words and lines of text. In text analysis (for example * AnalyzeDocument), you can also get information about the fields, tables, * and selection elements that are detected in the document.

An array of * Block objects is returned by both synchronous and asynchronous * operations. In synchronous operations, such as DetectDocumentText, the * array of Block objects is the entire set of results. In * asynchronous operations, such as GetDocumentAnalysis, the array is * returned over one or more responses.

For more information, see How * Amazon Textract Works.

See Also:

AWS API * Reference

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

The type of text item that's recognized. In operations for text detection, * the following types are returned:

  • PAGE - Contains a * list of the LINE Block objects that are detected on a document * page.

  • WORD - A word 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.

In text analysis * operations, the following types are returned:

  • PAGE - * Contains a list of child Block objects that are detected on a * document page.

  • KEY_VALUE_SET - Stores the KEY and * VALUE Block objects for linked text that's detected on a document * page. Use the EntityType field to determine if a KEY_VALUE_SET * object is a KEY Block object or a VALUE Block object. *

  • 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.

  • TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *

  • TABLE_TITLE - The title of a table. A title is * typically a line of text above or below a table, or embedded as the first row of * a table.

  • TABLE_FOOTER - The footer associated with a * table. A footer is typically a line or lines of text below a table or embedded * as the last row of a table.

  • CELL - A cell within a * detected table. The cell is the parent of the block that contains the text in * the cell.

  • MERGED_CELL - A cell in a table whose * content spans more than one row or column. The Relationships array * for this cell contain data from individual cells.

  • * SELECTION_ELEMENT - A selection element such as an option button (radio * button) or a check box that's detected on a document page. Use the value of * SelectionStatus to determine the status of the selection * element.

  • SIGNATURE - The location and confidene score * of a signature detected on a document page. Can be returned as part of a * Key-Value pair or a detected cell.

  • QUERY - A question * asked during the call of AnalyzeDocument. Contains an alias and an ID that * attaches it to its answer.

  • QUERY_RESULT - A response * to a question asked during the call of analyze document. Comes with an alias and * ID for ease of locating in a response. Also contains location and confidence * score.

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

The type of text item that's recognized. In operations for text detection, * the following types are returned:

  • PAGE - Contains a * list of the LINE Block objects that are detected on a document * page.

  • WORD - A word 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.

In text analysis * operations, the following types are returned:

  • PAGE - * Contains a list of child Block objects that are detected on a * document page.

  • KEY_VALUE_SET - Stores the KEY and * VALUE Block objects for linked text that's detected on a document * page. Use the EntityType field to determine if a KEY_VALUE_SET * object is a KEY Block object or a VALUE Block object. *

  • 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.

  • TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *

  • TABLE_TITLE - The title of a table. A title is * typically a line of text above or below a table, or embedded as the first row of * a table.

  • TABLE_FOOTER - The footer associated with a * table. A footer is typically a line or lines of text below a table or embedded * as the last row of a table.

  • CELL - A cell within a * detected table. The cell is the parent of the block that contains the text in * the cell.

  • MERGED_CELL - A cell in a table whose * content spans more than one row or column. The Relationships array * for this cell contain data from individual cells.

  • * SELECTION_ELEMENT - A selection element such as an option button (radio * button) or a check box that's detected on a document page. Use the value of * SelectionStatus to determine the status of the selection * element.

  • SIGNATURE - The location and confidene score * of a signature detected on a document page. Can be returned as part of a * Key-Value pair or a detected cell.

  • QUERY - A question * asked during the call of AnalyzeDocument. Contains an alias and an ID that * attaches it to its answer.

  • QUERY_RESULT - A response * to a question asked during the call of analyze document. Comes with an alias and * ID for ease of locating in a response. Also contains location and confidence * score.

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

The type of text item that's recognized. In operations for text detection, * the following types are returned:

  • PAGE - Contains a * list of the LINE Block objects that are detected on a document * page.

  • WORD - A word 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.

In text analysis * operations, the following types are returned:

  • PAGE - * Contains a list of child Block objects that are detected on a * document page.

  • KEY_VALUE_SET - Stores the KEY and * VALUE Block objects for linked text that's detected on a document * page. Use the EntityType field to determine if a KEY_VALUE_SET * object is a KEY Block object or a VALUE Block object. *

  • 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.

  • TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *

  • TABLE_TITLE - The title of a table. A title is * typically a line of text above or below a table, or embedded as the first row of * a table.

  • TABLE_FOOTER - The footer associated with a * table. A footer is typically a line or lines of text below a table or embedded * as the last row of a table.

  • CELL - A cell within a * detected table. The cell is the parent of the block that contains the text in * the cell.

  • MERGED_CELL - A cell in a table whose * content spans more than one row or column. The Relationships array * for this cell contain data from individual cells.

  • * SELECTION_ELEMENT - A selection element such as an option button (radio * button) or a check box that's detected on a document page. Use the value of * SelectionStatus to determine the status of the selection * element.

  • SIGNATURE - The location and confidene score * of a signature detected on a document page. Can be returned as part of a * Key-Value pair or a detected cell.

  • QUERY - A question * asked during the call of AnalyzeDocument. Contains an alias and an ID that * attaches it to its answer.

  • QUERY_RESULT - A response * to a question asked during the call of analyze document. Comes with an alias and * ID for ease of locating in a response. Also contains location and confidence * score.

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

The type of text item that's recognized. In operations for text detection, * the following types are returned:

  • PAGE - Contains a * list of the LINE Block objects that are detected on a document * page.

  • WORD - A word 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.

In text analysis * operations, the following types are returned:

  • PAGE - * Contains a list of child Block objects that are detected on a * document page.

  • KEY_VALUE_SET - Stores the KEY and * VALUE Block objects for linked text that's detected on a document * page. Use the EntityType field to determine if a KEY_VALUE_SET * object is a KEY Block object or a VALUE Block object. *

  • 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.

  • TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *

  • TABLE_TITLE - The title of a table. A title is * typically a line of text above or below a table, or embedded as the first row of * a table.

  • TABLE_FOOTER - The footer associated with a * table. A footer is typically a line or lines of text below a table or embedded * as the last row of a table.

  • CELL - A cell within a * detected table. The cell is the parent of the block that contains the text in * the cell.

  • MERGED_CELL - A cell in a table whose * content spans more than one row or column. The Relationships array * for this cell contain data from individual cells.

  • * SELECTION_ELEMENT - A selection element such as an option button (radio * button) or a check box that's detected on a document page. Use the value of * SelectionStatus to determine the status of the selection * element.

  • SIGNATURE - The location and confidene score * of a signature detected on a document page. Can be returned as part of a * Key-Value pair or a detected cell.

  • QUERY - A question * asked during the call of AnalyzeDocument. Contains an alias and an ID that * attaches it to its answer.

  • QUERY_RESULT - A response * to a question asked during the call of analyze document. Comes with an alias and * ID for ease of locating in a response. Also contains location and confidence * score.

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

The type of text item that's recognized. In operations for text detection, * the following types are returned:

  • PAGE - Contains a * list of the LINE Block objects that are detected on a document * page.

  • WORD - A word 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.

In text analysis * operations, the following types are returned:

  • PAGE - * Contains a list of child Block objects that are detected on a * document page.

  • KEY_VALUE_SET - Stores the KEY and * VALUE Block objects for linked text that's detected on a document * page. Use the EntityType field to determine if a KEY_VALUE_SET * object is a KEY Block object or a VALUE Block object. *

  • 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.

  • TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *

  • TABLE_TITLE - The title of a table. A title is * typically a line of text above or below a table, or embedded as the first row of * a table.

  • TABLE_FOOTER - The footer associated with a * table. A footer is typically a line or lines of text below a table or embedded * as the last row of a table.

  • CELL - A cell within a * detected table. The cell is the parent of the block that contains the text in * the cell.

  • MERGED_CELL - A cell in a table whose * content spans more than one row or column. The Relationships array * for this cell contain data from individual cells.

  • * SELECTION_ELEMENT - A selection element such as an option button (radio * button) or a check box that's detected on a document page. Use the value of * SelectionStatus to determine the status of the selection * element.

  • SIGNATURE - The location and confidene score * of a signature detected on a document page. Can be returned as part of a * Key-Value pair or a detected cell.

  • QUERY - A question * asked during the call of AnalyzeDocument. Contains an alias and an ID that * attaches it to its answer.

  • QUERY_RESULT - A response * to a question asked during the call of analyze document. Comes with an alias and * ID for ease of locating in a response. Also contains location and confidence * score.

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

The type of text item that's recognized. In operations for text detection, * the following types are returned:

  • PAGE - Contains a * list of the LINE Block objects that are detected on a document * page.

  • WORD - A word 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.

In text analysis * operations, the following types are returned:

  • PAGE - * Contains a list of child Block objects that are detected on a * document page.

  • KEY_VALUE_SET - Stores the KEY and * VALUE Block objects for linked text that's detected on a document * page. Use the EntityType field to determine if a KEY_VALUE_SET * object is a KEY Block object or a VALUE Block object. *

  • 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.

  • TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *

  • TABLE_TITLE - The title of a table. A title is * typically a line of text above or below a table, or embedded as the first row of * a table.

  • TABLE_FOOTER - The footer associated with a * table. A footer is typically a line or lines of text below a table or embedded * as the last row of a table.

  • CELL - A cell within a * detected table. The cell is the parent of the block that contains the text in * the cell.

  • MERGED_CELL - A cell in a table whose * content spans more than one row or column. The Relationships array * for this cell contain data from individual cells.

  • * SELECTION_ELEMENT - A selection element such as an option button (radio * button) or a check box that's detected on a document page. Use the value of * SelectionStatus to determine the status of the selection * element.

  • SIGNATURE - The location and confidene score * of a signature detected on a document page. Can be returned as part of a * Key-Value pair or a detected cell.

  • QUERY - A question * asked during the call of AnalyzeDocument. Contains an alias and an ID that * attaches it to its answer.

  • QUERY_RESULT - A response * to a question asked during the call of analyze document. Comes with an alias and * ID for ease of locating in a response. Also contains location and confidence * score.

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

The confidence score that Amazon Textract has in the accuracy of the * recognized text and the accuracy of the geometry points around the recognized * text.

*/ inline double GetConfidence() const{ return m_confidence; } /** *

The confidence score that Amazon Textract has in the accuracy of the * recognized text and the accuracy of the geometry points around the recognized * text.

*/ inline bool ConfidenceHasBeenSet() const { return m_confidenceHasBeenSet; } /** *

The confidence score that Amazon Textract has in the accuracy of the * recognized text and the accuracy of the geometry points around the recognized * text.

*/ inline void SetConfidence(double value) { m_confidenceHasBeenSet = true; m_confidence = value; } /** *

The confidence score that Amazon Textract has in the accuracy of the * recognized text and the accuracy of the geometry points around the recognized * text.

*/ inline Block& WithConfidence(double value) { SetConfidence(value); return *this;} /** *

The word or line of text that's recognized by Amazon Textract.

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

The word or line of text that's recognized by Amazon Textract.

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

The word or line of text that's recognized by Amazon Textract.

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

The word or line of text that's recognized by Amazon Textract.

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

The word or line of text that's recognized by Amazon Textract.

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

The word or line of text that's recognized by Amazon Textract.

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

The word or line of text that's recognized by Amazon Textract.

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

The word or line of text that's recognized by Amazon Textract.

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

The kind of text that Amazon Textract has detected. Can check for handwritten * text and printed text.

*/ inline const TextType& GetTextType() const{ return m_textType; } /** *

The kind of text that Amazon Textract has detected. Can check for handwritten * text and printed text.

*/ inline bool TextTypeHasBeenSet() const { return m_textTypeHasBeenSet; } /** *

The kind of text that Amazon Textract has detected. Can check for handwritten * text and printed text.

*/ inline void SetTextType(const TextType& value) { m_textTypeHasBeenSet = true; m_textType = value; } /** *

The kind of text that Amazon Textract has detected. Can check for handwritten * text and printed text.

*/ inline void SetTextType(TextType&& value) { m_textTypeHasBeenSet = true; m_textType = std::move(value); } /** *

The kind of text that Amazon Textract has detected. Can check for handwritten * text and printed text.

*/ inline Block& WithTextType(const TextType& value) { SetTextType(value); return *this;} /** *

The kind of text that Amazon Textract has detected. Can check for handwritten * text and printed text.

*/ inline Block& WithTextType(TextType&& value) { SetTextType(std::move(value)); return *this;} /** *

The row in which a table cell is located. The first row position is 1. * RowIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline int GetRowIndex() const{ return m_rowIndex; } /** *

The row in which a table cell is located. The first row position is 1. * RowIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline bool RowIndexHasBeenSet() const { return m_rowIndexHasBeenSet; } /** *

The row in which a table cell is located. The first row position is 1. * RowIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline void SetRowIndex(int value) { m_rowIndexHasBeenSet = true; m_rowIndex = value; } /** *

The row in which a table cell is located. The first row position is 1. * RowIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline Block& WithRowIndex(int value) { SetRowIndex(value); return *this;} /** *

The column in which a table cell appears. The first column position is 1. * ColumnIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline int GetColumnIndex() const{ return m_columnIndex; } /** *

The column in which a table cell appears. The first column position is 1. * ColumnIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline bool ColumnIndexHasBeenSet() const { return m_columnIndexHasBeenSet; } /** *

The column in which a table cell appears. The first column position is 1. * ColumnIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline void SetColumnIndex(int value) { m_columnIndexHasBeenSet = true; m_columnIndex = value; } /** *

The column in which a table cell appears. The first column position is 1. * ColumnIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline Block& WithColumnIndex(int value) { SetColumnIndex(value); return *this;} /** *

The number of rows that a table cell spans. RowSpan isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline int GetRowSpan() const{ return m_rowSpan; } /** *

The number of rows that a table cell spans. RowSpan isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline bool RowSpanHasBeenSet() const { return m_rowSpanHasBeenSet; } /** *

The number of rows that a table cell spans. RowSpan isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline void SetRowSpan(int value) { m_rowSpanHasBeenSet = true; m_rowSpan = value; } /** *

The number of rows that a table cell spans. RowSpan isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline Block& WithRowSpan(int value) { SetRowSpan(value); return *this;} /** *

The number of columns that a table cell spans. ColumnSpan isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline int GetColumnSpan() const{ return m_columnSpan; } /** *

The number of columns that a table cell spans. ColumnSpan isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline bool ColumnSpanHasBeenSet() const { return m_columnSpanHasBeenSet; } /** *

The number of columns that a table cell spans. ColumnSpan isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline void SetColumnSpan(int value) { m_columnSpanHasBeenSet = true; m_columnSpan = value; } /** *

The number of columns that a table cell spans. ColumnSpan isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline Block& WithColumnSpan(int value) { SetColumnSpan(value); return *this;} /** *

The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.

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

The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.

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

The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.

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

The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.

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

The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.

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

The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.

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

The identifier for the recognized text. The identifier is only unique for a * single operation.

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

The identifier for the recognized text. The identifier is only unique for a * single operation.

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

The identifier for the recognized text. The identifier is only unique for a * single operation.

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

The identifier for the recognized text. The identifier is only unique for a * single operation.

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

The identifier for the recognized text. The identifier is only unique for a * single operation.

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

The identifier for the recognized text. The identifier is only unique for a * single operation.

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

The identifier for the recognized text. The identifier is only unique for a * single operation.

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

The identifier for the recognized text. The identifier is only unique for a * single operation.

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

A list of relationship objects that describe how blocks are related to each * other. For example, a LINE block object contains a CHILD relationship type with * the WORD blocks that make up the line of text. There aren't Relationship objects * in the list for relationships that don't exist, such as when the current block * has no child blocks.

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

A list of relationship objects that describe how blocks are related to each * other. For example, a LINE block object contains a CHILD relationship type with * the WORD blocks that make up the line of text. There aren't Relationship objects * in the list for relationships that don't exist, such as when the current block * has no child blocks.

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

A list of relationship objects that describe how blocks are related to each * other. For example, a LINE block object contains a CHILD relationship type with * the WORD blocks that make up the line of text. There aren't Relationship objects * in the list for relationships that don't exist, such as when the current block * has no child blocks.

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

A list of relationship objects that describe how blocks are related to each * other. For example, a LINE block object contains a CHILD relationship type with * the WORD blocks that make up the line of text. There aren't Relationship objects * in the list for relationships that don't exist, such as when the current block * has no child blocks.

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

A list of relationship objects that describe how blocks are related to each * other. For example, a LINE block object contains a CHILD relationship type with * the WORD blocks that make up the line of text. There aren't Relationship objects * in the list for relationships that don't exist, such as when the current block * has no child blocks.

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

A list of relationship objects that describe how blocks are related to each * other. For example, a LINE block object contains a CHILD relationship type with * the WORD blocks that make up the line of text. There aren't Relationship objects * in the list for relationships that don't exist, such as when the current block * has no child blocks.

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

A list of relationship objects that describe how blocks are related to each * other. For example, a LINE block object contains a CHILD relationship type with * the WORD blocks that make up the line of text. There aren't Relationship objects * in the list for relationships that don't exist, such as when the current block * has no child blocks.

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

A list of relationship objects that describe how blocks are related to each * other. For example, a LINE block object contains a CHILD relationship type with * the WORD blocks that make up the line of text. There aren't Relationship objects * in the list for relationships that don't exist, such as when the current block * has no child blocks.

*/ inline Block& AddRelationships(Relationship&& value) { m_relationshipsHasBeenSet = true; m_relationships.push_back(std::move(value)); return *this; } /** *

The type of entity.

The following entity types can be returned by * FORMS analysis:

  • KEY - An identifier for a field on the * document.

  • VALUE - The field text.

*

The following entity types can be returned by TABLES analysis:

  • *

    COLUMN_HEADER - Identifies a cell that is a header of a column.

    *
  • TABLE_TITLE - Identifies a cell that is a title within the * table.

  • TABLE_SECTION_TITLE - Identifies a cell that * is a title of a section within a table. A section title is a cell that typically * spans an entire row above a section.

  • TABLE_FOOTER - * Identifies a cell that is a footer of a table.

  • * TABLE_SUMMARY - Identifies a summary cell of a table. A summary cell can * be a row of a table or an additional, smaller table that contains summary * information for another table.

  • STRUCTURED_TABLE - * Identifies a table with column headers where the content of each row corresponds * to the headers.

  • SEMI_STRUCTURED_TABLE - Identifies a * non-structured table.

EntityTypes isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline const Aws::Vector& GetEntityTypes() const{ return m_entityTypes; } /** *

The type of entity.

The following entity types can be returned by * FORMS analysis:

  • KEY - An identifier for a field on the * document.

  • VALUE - The field text.

*

The following entity types can be returned by TABLES analysis:

  • *

    COLUMN_HEADER - Identifies a cell that is a header of a column.

    *
  • TABLE_TITLE - Identifies a cell that is a title within the * table.

  • TABLE_SECTION_TITLE - Identifies a cell that * is a title of a section within a table. A section title is a cell that typically * spans an entire row above a section.

  • TABLE_FOOTER - * Identifies a cell that is a footer of a table.

  • * TABLE_SUMMARY - Identifies a summary cell of a table. A summary cell can * be a row of a table or an additional, smaller table that contains summary * information for another table.

  • STRUCTURED_TABLE - * Identifies a table with column headers where the content of each row corresponds * to the headers.

  • SEMI_STRUCTURED_TABLE - Identifies a * non-structured table.

EntityTypes isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline bool EntityTypesHasBeenSet() const { return m_entityTypesHasBeenSet; } /** *

The type of entity.

The following entity types can be returned by * FORMS analysis:

  • KEY - An identifier for a field on the * document.

  • VALUE - The field text.

*

The following entity types can be returned by TABLES analysis:

  • *

    COLUMN_HEADER - Identifies a cell that is a header of a column.

    *
  • TABLE_TITLE - Identifies a cell that is a title within the * table.

  • TABLE_SECTION_TITLE - Identifies a cell that * is a title of a section within a table. A section title is a cell that typically * spans an entire row above a section.

  • TABLE_FOOTER - * Identifies a cell that is a footer of a table.

  • * TABLE_SUMMARY - Identifies a summary cell of a table. A summary cell can * be a row of a table or an additional, smaller table that contains summary * information for another table.

  • STRUCTURED_TABLE - * Identifies a table with column headers where the content of each row corresponds * to the headers.

  • SEMI_STRUCTURED_TABLE - Identifies a * non-structured table.

EntityTypes isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline void SetEntityTypes(const Aws::Vector& value) { m_entityTypesHasBeenSet = true; m_entityTypes = value; } /** *

The type of entity.

The following entity types can be returned by * FORMS analysis:

  • KEY - An identifier for a field on the * document.

  • VALUE - The field text.

*

The following entity types can be returned by TABLES analysis:

  • *

    COLUMN_HEADER - Identifies a cell that is a header of a column.

    *
  • TABLE_TITLE - Identifies a cell that is a title within the * table.

  • TABLE_SECTION_TITLE - Identifies a cell that * is a title of a section within a table. A section title is a cell that typically * spans an entire row above a section.

  • TABLE_FOOTER - * Identifies a cell that is a footer of a table.

  • * TABLE_SUMMARY - Identifies a summary cell of a table. A summary cell can * be a row of a table or an additional, smaller table that contains summary * information for another table.

  • STRUCTURED_TABLE - * Identifies a table with column headers where the content of each row corresponds * to the headers.

  • SEMI_STRUCTURED_TABLE - Identifies a * non-structured table.

EntityTypes isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline void SetEntityTypes(Aws::Vector&& value) { m_entityTypesHasBeenSet = true; m_entityTypes = std::move(value); } /** *

The type of entity.

The following entity types can be returned by * FORMS analysis:

  • KEY - An identifier for a field on the * document.

  • VALUE - The field text.

*

The following entity types can be returned by TABLES analysis:

  • *

    COLUMN_HEADER - Identifies a cell that is a header of a column.

    *
  • TABLE_TITLE - Identifies a cell that is a title within the * table.

  • TABLE_SECTION_TITLE - Identifies a cell that * is a title of a section within a table. A section title is a cell that typically * spans an entire row above a section.

  • TABLE_FOOTER - * Identifies a cell that is a footer of a table.

  • * TABLE_SUMMARY - Identifies a summary cell of a table. A summary cell can * be a row of a table or an additional, smaller table that contains summary * information for another table.

  • STRUCTURED_TABLE - * Identifies a table with column headers where the content of each row corresponds * to the headers.

  • SEMI_STRUCTURED_TABLE - Identifies a * non-structured table.

EntityTypes isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

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

The type of entity.

The following entity types can be returned by * FORMS analysis:

  • KEY - An identifier for a field on the * document.

  • VALUE - The field text.

*

The following entity types can be returned by TABLES analysis:

  • *

    COLUMN_HEADER - Identifies a cell that is a header of a column.

    *
  • TABLE_TITLE - Identifies a cell that is a title within the * table.

  • TABLE_SECTION_TITLE - Identifies a cell that * is a title of a section within a table. A section title is a cell that typically * spans an entire row above a section.

  • TABLE_FOOTER - * Identifies a cell that is a footer of a table.

  • * TABLE_SUMMARY - Identifies a summary cell of a table. A summary cell can * be a row of a table or an additional, smaller table that contains summary * information for another table.

  • STRUCTURED_TABLE - * Identifies a table with column headers where the content of each row corresponds * to the headers.

  • SEMI_STRUCTURED_TABLE - Identifies a * non-structured table.

EntityTypes isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

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

The type of entity.

The following entity types can be returned by * FORMS analysis:

  • KEY - An identifier for a field on the * document.

  • VALUE - The field text.

*

The following entity types can be returned by TABLES analysis:

  • *

    COLUMN_HEADER - Identifies a cell that is a header of a column.

    *
  • TABLE_TITLE - Identifies a cell that is a title within the * table.

  • TABLE_SECTION_TITLE - Identifies a cell that * is a title of a section within a table. A section title is a cell that typically * spans an entire row above a section.

  • TABLE_FOOTER - * Identifies a cell that is a footer of a table.

  • * TABLE_SUMMARY - Identifies a summary cell of a table. A summary cell can * be a row of a table or an additional, smaller table that contains summary * information for another table.

  • STRUCTURED_TABLE - * Identifies a table with column headers where the content of each row corresponds * to the headers.

  • SEMI_STRUCTURED_TABLE - Identifies a * non-structured table.

EntityTypes isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline Block& AddEntityTypes(const EntityType& value) { m_entityTypesHasBeenSet = true; m_entityTypes.push_back(value); return *this; } /** *

The type of entity.

The following entity types can be returned by * FORMS analysis:

  • KEY - An identifier for a field on the * document.

  • VALUE - The field text.

*

The following entity types can be returned by TABLES analysis:

  • *

    COLUMN_HEADER - Identifies a cell that is a header of a column.

    *
  • TABLE_TITLE - Identifies a cell that is a title within the * table.

  • TABLE_SECTION_TITLE - Identifies a cell that * is a title of a section within a table. A section title is a cell that typically * spans an entire row above a section.

  • TABLE_FOOTER - * Identifies a cell that is a footer of a table.

  • * TABLE_SUMMARY - Identifies a summary cell of a table. A summary cell can * be a row of a table or an additional, smaller table that contains summary * information for another table.

  • STRUCTURED_TABLE - * Identifies a table with column headers where the content of each row corresponds * to the headers.

  • SEMI_STRUCTURED_TABLE - Identifies a * non-structured table.

EntityTypes isn't * returned by DetectDocumentText and * GetDocumentTextDetection.

*/ inline Block& AddEntityTypes(EntityType&& value) { m_entityTypesHasBeenSet = true; m_entityTypes.push_back(std::move(value)); return *this; } /** *

The selection status of a selection element, such as an option button or * check box.

*/ inline const SelectionStatus& GetSelectionStatus() const{ return m_selectionStatus; } /** *

The selection status of a selection element, such as an option button or * check box.

*/ inline bool SelectionStatusHasBeenSet() const { return m_selectionStatusHasBeenSet; } /** *

The selection status of a selection element, such as an option button or * check box.

*/ inline void SetSelectionStatus(const SelectionStatus& value) { m_selectionStatusHasBeenSet = true; m_selectionStatus = value; } /** *

The selection status of a selection element, such as an option button or * check box.

*/ inline void SetSelectionStatus(SelectionStatus&& value) { m_selectionStatusHasBeenSet = true; m_selectionStatus = std::move(value); } /** *

The selection status of a selection element, such as an option button or * check box.

*/ inline Block& WithSelectionStatus(const SelectionStatus& value) { SetSelectionStatus(value); return *this;} /** *

The selection status of a selection element, such as an option button or * check box.

*/ inline Block& WithSelectionStatus(SelectionStatus&& value) { SetSelectionStatus(std::move(value)); return *this;} /** *

The page on which a block was detected. Page is returned by * synchronous and asynchronous operations. Page values greater than 1 are only * returned for multipage documents that are in PDF or TIFF format. A scanned image * (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple * document pages, is considered a single-page document. This means that for * scanned images the value of Page is always 1. Synchronous * operations will also return a Page value of 1 because every input * document is considered to be a single-page document.

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

The page on which a block was detected. Page is returned by * synchronous and asynchronous operations. Page values greater than 1 are only * returned for multipage documents that are in PDF or TIFF format. A scanned image * (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple * document pages, is considered a single-page document. This means that for * scanned images the value of Page is always 1. Synchronous * operations will also return a Page value of 1 because every input * document is considered to be a single-page document.

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

The page on which a block was detected. Page is returned by * synchronous and asynchronous operations. Page values greater than 1 are only * returned for multipage documents that are in PDF or TIFF format. A scanned image * (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple * document pages, is considered a single-page document. This means that for * scanned images the value of Page is always 1. Synchronous * operations will also return a Page value of 1 because every input * document is considered to be a single-page document.

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

The page on which a block was detected. Page is returned by * synchronous and asynchronous operations. Page values greater than 1 are only * returned for multipage documents that are in PDF or TIFF format. A scanned image * (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple * document pages, is considered a single-page document. This means that for * scanned images the value of Page is always 1. Synchronous * operations will also return a Page value of 1 because every input * document is considered to be a single-page document.

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

*/ inline const Query& GetQuery() const{ return m_query; } /** *

*/ inline bool QueryHasBeenSet() const { return m_queryHasBeenSet; } /** *

*/ inline void SetQuery(const Query& value) { m_queryHasBeenSet = true; m_query = value; } /** *

*/ inline void SetQuery(Query&& value) { m_queryHasBeenSet = true; m_query = std::move(value); } /** *

*/ inline Block& WithQuery(const Query& value) { SetQuery(value); return *this;} /** *

*/ inline Block& WithQuery(Query&& value) { SetQuery(std::move(value)); return *this;} private: BlockType m_blockType; bool m_blockTypeHasBeenSet = false; double m_confidence; bool m_confidenceHasBeenSet = false; Aws::String m_text; bool m_textHasBeenSet = false; TextType m_textType; bool m_textTypeHasBeenSet = false; int m_rowIndex; bool m_rowIndexHasBeenSet = false; int m_columnIndex; bool m_columnIndexHasBeenSet = false; int m_rowSpan; bool m_rowSpanHasBeenSet = false; int m_columnSpan; bool m_columnSpanHasBeenSet = false; Geometry m_geometry; bool m_geometryHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::Vector m_relationships; bool m_relationshipsHasBeenSet = false; Aws::Vector m_entityTypes; bool m_entityTypesHasBeenSet = false; SelectionStatus m_selectionStatus; bool m_selectionStatusHasBeenSet = false; int m_page; bool m_pageHasBeenSet = false; Query m_query; bool m_queryHasBeenSet = false; }; } // namespace Model } // namespace Textract } // namespace Aws