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

The structure holding all the information returned by * AnalyzeExpense

See Also:

AWS * API Reference

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

Denotes which invoice or receipt in the document the information is coming * from. First document will be 1, the second 2, and so on.

*/ inline int GetExpenseIndex() const{ return m_expenseIndex; } /** *

Denotes which invoice or receipt in the document the information is coming * from. First document will be 1, the second 2, and so on.

*/ inline bool ExpenseIndexHasBeenSet() const { return m_expenseIndexHasBeenSet; } /** *

Denotes which invoice or receipt in the document the information is coming * from. First document will be 1, the second 2, and so on.

*/ inline void SetExpenseIndex(int value) { m_expenseIndexHasBeenSet = true; m_expenseIndex = value; } /** *

Denotes which invoice or receipt in the document the information is coming * from. First document will be 1, the second 2, and so on.

*/ inline ExpenseDocument& WithExpenseIndex(int value) { SetExpenseIndex(value); return *this;} /** *

Any information found outside of a table by Amazon Textract.

*/ inline const Aws::Vector& GetSummaryFields() const{ return m_summaryFields; } /** *

Any information found outside of a table by Amazon Textract.

*/ inline bool SummaryFieldsHasBeenSet() const { return m_summaryFieldsHasBeenSet; } /** *

Any information found outside of a table by Amazon Textract.

*/ inline void SetSummaryFields(const Aws::Vector& value) { m_summaryFieldsHasBeenSet = true; m_summaryFields = value; } /** *

Any information found outside of a table by Amazon Textract.

*/ inline void SetSummaryFields(Aws::Vector&& value) { m_summaryFieldsHasBeenSet = true; m_summaryFields = std::move(value); } /** *

Any information found outside of a table by Amazon Textract.

*/ inline ExpenseDocument& WithSummaryFields(const Aws::Vector& value) { SetSummaryFields(value); return *this;} /** *

Any information found outside of a table by Amazon Textract.

*/ inline ExpenseDocument& WithSummaryFields(Aws::Vector&& value) { SetSummaryFields(std::move(value)); return *this;} /** *

Any information found outside of a table by Amazon Textract.

*/ inline ExpenseDocument& AddSummaryFields(const ExpenseField& value) { m_summaryFieldsHasBeenSet = true; m_summaryFields.push_back(value); return *this; } /** *

Any information found outside of a table by Amazon Textract.

*/ inline ExpenseDocument& AddSummaryFields(ExpenseField&& value) { m_summaryFieldsHasBeenSet = true; m_summaryFields.push_back(std::move(value)); return *this; } /** *

Information detected on each table of a document, seperated into * LineItems.

*/ inline const Aws::Vector& GetLineItemGroups() const{ return m_lineItemGroups; } /** *

Information detected on each table of a document, seperated into * LineItems.

*/ inline bool LineItemGroupsHasBeenSet() const { return m_lineItemGroupsHasBeenSet; } /** *

Information detected on each table of a document, seperated into * LineItems.

*/ inline void SetLineItemGroups(const Aws::Vector& value) { m_lineItemGroupsHasBeenSet = true; m_lineItemGroups = value; } /** *

Information detected on each table of a document, seperated into * LineItems.

*/ inline void SetLineItemGroups(Aws::Vector&& value) { m_lineItemGroupsHasBeenSet = true; m_lineItemGroups = std::move(value); } /** *

Information detected on each table of a document, seperated into * LineItems.

*/ inline ExpenseDocument& WithLineItemGroups(const Aws::Vector& value) { SetLineItemGroups(value); return *this;} /** *

Information detected on each table of a document, seperated into * LineItems.

*/ inline ExpenseDocument& WithLineItemGroups(Aws::Vector&& value) { SetLineItemGroups(std::move(value)); return *this;} /** *

Information detected on each table of a document, seperated into * LineItems.

*/ inline ExpenseDocument& AddLineItemGroups(const LineItemGroup& value) { m_lineItemGroupsHasBeenSet = true; m_lineItemGroups.push_back(value); return *this; } /** *

Information detected on each table of a document, seperated into * LineItems.

*/ inline ExpenseDocument& AddLineItemGroups(LineItemGroup&& value) { m_lineItemGroupsHasBeenSet = true; m_lineItemGroups.push_back(std::move(value)); return *this; } /** *

This is a block object, the same as reported when DetectDocumentText is run * on a document. It provides word level recognition of text.

*/ inline const Aws::Vector& GetBlocks() const{ return m_blocks; } /** *

This is a block object, the same as reported when DetectDocumentText is run * on a document. It provides word level recognition of text.

*/ inline bool BlocksHasBeenSet() const { return m_blocksHasBeenSet; } /** *

This is a block object, the same as reported when DetectDocumentText is run * on a document. It provides word level recognition of text.

*/ inline void SetBlocks(const Aws::Vector& value) { m_blocksHasBeenSet = true; m_blocks = value; } /** *

This is a block object, the same as reported when DetectDocumentText is run * on a document. It provides word level recognition of text.

*/ inline void SetBlocks(Aws::Vector&& value) { m_blocksHasBeenSet = true; m_blocks = std::move(value); } /** *

This is a block object, the same as reported when DetectDocumentText is run * on a document. It provides word level recognition of text.

*/ inline ExpenseDocument& WithBlocks(const Aws::Vector& value) { SetBlocks(value); return *this;} /** *

This is a block object, the same as reported when DetectDocumentText is run * on a document. It provides word level recognition of text.

*/ inline ExpenseDocument& WithBlocks(Aws::Vector&& value) { SetBlocks(std::move(value)); return *this;} /** *

This is a block object, the same as reported when DetectDocumentText is run * on a document. It provides word level recognition of text.

*/ inline ExpenseDocument& AddBlocks(const Block& value) { m_blocksHasBeenSet = true; m_blocks.push_back(value); return *this; } /** *

This is a block object, the same as reported when DetectDocumentText is run * on a document. It provides word level recognition of text.

*/ inline ExpenseDocument& AddBlocks(Block&& value) { m_blocksHasBeenSet = true; m_blocks.push_back(std::move(value)); return *this; } private: int m_expenseIndex; bool m_expenseIndexHasBeenSet = false; Aws::Vector m_summaryFields; bool m_summaryFieldsHasBeenSet = false; Aws::Vector m_lineItemGroups; bool m_lineItemGroupsHasBeenSet = false; Aws::Vector m_blocks; bool m_blocksHasBeenSet = false; }; } // namespace Model } // namespace Textract } // namespace Aws