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

Information about how blocks are related to each other. A Block * object contains 0 or more Relation objects in a list, * Relationships. For more information, see Block.

The * Type element provides the type of the relationship for all blocks * in the IDs array.

See Also:

AWS * API Reference

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

The type of relationship between the blocks in the IDs array and the current * block. The following list describes the relationship types that can be returned. *

  • VALUE - A list that contains the ID of the VALUE block * that's associated with the KEY of a key-value pair.

  • * CHILD - A list of IDs that identify blocks found within the current block * object. For example, WORD blocks have a CHILD relationship to the LINE block * type.

  • MERGED_CELL - A list of IDs that identify each * of the MERGED_CELL block types in a table.

  • ANSWER - A * list that contains the ID of the QUERY_RESULT block that’s associated with the * corresponding QUERY block.

  • TABLE - A list of IDs that * identify associated TABLE block types.

  • TABLE_TITLE - * A list that contains the ID for the TABLE_TITLE block type in a table.

    *
  • TABLE_FOOTER - A list of IDs that identify the * TABLE_FOOTER block types in a table.

*/ inline const RelationshipType& GetType() const{ return m_type; } /** *

The type of relationship between the blocks in the IDs array and the current * block. The following list describes the relationship types that can be returned. *

  • VALUE - A list that contains the ID of the VALUE block * that's associated with the KEY of a key-value pair.

  • * CHILD - A list of IDs that identify blocks found within the current block * object. For example, WORD blocks have a CHILD relationship to the LINE block * type.

  • MERGED_CELL - A list of IDs that identify each * of the MERGED_CELL block types in a table.

  • ANSWER - A * list that contains the ID of the QUERY_RESULT block that’s associated with the * corresponding QUERY block.

  • TABLE - A list of IDs that * identify associated TABLE block types.

  • TABLE_TITLE - * A list that contains the ID for the TABLE_TITLE block type in a table.

    *
  • TABLE_FOOTER - A list of IDs that identify the * TABLE_FOOTER block types in a table.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of relationship between the blocks in the IDs array and the current * block. The following list describes the relationship types that can be returned. *

  • VALUE - A list that contains the ID of the VALUE block * that's associated with the KEY of a key-value pair.

  • * CHILD - A list of IDs that identify blocks found within the current block * object. For example, WORD blocks have a CHILD relationship to the LINE block * type.

  • MERGED_CELL - A list of IDs that identify each * of the MERGED_CELL block types in a table.

  • ANSWER - A * list that contains the ID of the QUERY_RESULT block that’s associated with the * corresponding QUERY block.

  • TABLE - A list of IDs that * identify associated TABLE block types.

  • TABLE_TITLE - * A list that contains the ID for the TABLE_TITLE block type in a table.

    *
  • TABLE_FOOTER - A list of IDs that identify the * TABLE_FOOTER block types in a table.

*/ inline void SetType(const RelationshipType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of relationship between the blocks in the IDs array and the current * block. The following list describes the relationship types that can be returned. *

  • VALUE - A list that contains the ID of the VALUE block * that's associated with the KEY of a key-value pair.

  • * CHILD - A list of IDs that identify blocks found within the current block * object. For example, WORD blocks have a CHILD relationship to the LINE block * type.

  • MERGED_CELL - A list of IDs that identify each * of the MERGED_CELL block types in a table.

  • ANSWER - A * list that contains the ID of the QUERY_RESULT block that’s associated with the * corresponding QUERY block.

  • TABLE - A list of IDs that * identify associated TABLE block types.

  • TABLE_TITLE - * A list that contains the ID for the TABLE_TITLE block type in a table.

    *
  • TABLE_FOOTER - A list of IDs that identify the * TABLE_FOOTER block types in a table.

*/ inline void SetType(RelationshipType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of relationship between the blocks in the IDs array and the current * block. The following list describes the relationship types that can be returned. *

  • VALUE - A list that contains the ID of the VALUE block * that's associated with the KEY of a key-value pair.

  • * CHILD - A list of IDs that identify blocks found within the current block * object. For example, WORD blocks have a CHILD relationship to the LINE block * type.

  • MERGED_CELL - A list of IDs that identify each * of the MERGED_CELL block types in a table.

  • ANSWER - A * list that contains the ID of the QUERY_RESULT block that’s associated with the * corresponding QUERY block.

  • TABLE - A list of IDs that * identify associated TABLE block types.

  • TABLE_TITLE - * A list that contains the ID for the TABLE_TITLE block type in a table.

    *
  • TABLE_FOOTER - A list of IDs that identify the * TABLE_FOOTER block types in a table.

*/ inline Relationship& WithType(const RelationshipType& value) { SetType(value); return *this;} /** *

The type of relationship between the blocks in the IDs array and the current * block. The following list describes the relationship types that can be returned. *

  • VALUE - A list that contains the ID of the VALUE block * that's associated with the KEY of a key-value pair.

  • * CHILD - A list of IDs that identify blocks found within the current block * object. For example, WORD blocks have a CHILD relationship to the LINE block * type.

  • MERGED_CELL - A list of IDs that identify each * of the MERGED_CELL block types in a table.

  • ANSWER - A * list that contains the ID of the QUERY_RESULT block that’s associated with the * corresponding QUERY block.

  • TABLE - A list of IDs that * identify associated TABLE block types.

  • TABLE_TITLE - * A list that contains the ID for the TABLE_TITLE block type in a table.

    *
  • TABLE_FOOTER - A list of IDs that identify the * TABLE_FOOTER block types in a table.

*/ inline Relationship& WithType(RelationshipType&& value) { SetType(std::move(value)); return *this;} /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline const Aws::Vector& GetIds() const{ return m_ids; } /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline bool IdsHasBeenSet() const { return m_idsHasBeenSet; } /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline void SetIds(const Aws::Vector& value) { m_idsHasBeenSet = true; m_ids = value; } /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline void SetIds(Aws::Vector&& value) { m_idsHasBeenSet = true; m_ids = std::move(value); } /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline Relationship& WithIds(const Aws::Vector& value) { SetIds(value); return *this;} /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline Relationship& WithIds(Aws::Vector&& value) { SetIds(std::move(value)); return *this;} /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline Relationship& AddIds(const Aws::String& value) { m_idsHasBeenSet = true; m_ids.push_back(value); return *this; } /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline Relationship& AddIds(Aws::String&& value) { m_idsHasBeenSet = true; m_ids.push_back(std::move(value)); return *this; } /** *

An array of IDs for related blocks. You can get the type of the relationship * from the Type element.

*/ inline Relationship& AddIds(const char* value) { m_idsHasBeenSet = true; m_ids.push_back(value); return *this; } private: RelationshipType m_type; bool m_typeHasBeenSet = false; Aws::Vector m_ids; bool m_idsHasBeenSet = false; }; } // namespace Model } // namespace Textract } // namespace Aws