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

Breakdown of detected information, seperated into the catagories Type, * LabelDetection, and ValueDetection

See Also:

AWS * API Reference

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

The implied label of a detected element. Present alongside LabelDetection for * explicit elements.

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

The implied label of a detected element. Present alongside LabelDetection for * explicit elements.

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

The implied label of a detected element. Present alongside LabelDetection for * explicit elements.

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

The implied label of a detected element. Present alongside LabelDetection for * explicit elements.

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

The implied label of a detected element. Present alongside LabelDetection for * explicit elements.

*/ inline ExpenseField& WithType(const ExpenseType& value) { SetType(value); return *this;} /** *

The implied label of a detected element. Present alongside LabelDetection for * explicit elements.

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

The explicitly stated label of a detected element.

*/ inline const ExpenseDetection& GetLabelDetection() const{ return m_labelDetection; } /** *

The explicitly stated label of a detected element.

*/ inline bool LabelDetectionHasBeenSet() const { return m_labelDetectionHasBeenSet; } /** *

The explicitly stated label of a detected element.

*/ inline void SetLabelDetection(const ExpenseDetection& value) { m_labelDetectionHasBeenSet = true; m_labelDetection = value; } /** *

The explicitly stated label of a detected element.

*/ inline void SetLabelDetection(ExpenseDetection&& value) { m_labelDetectionHasBeenSet = true; m_labelDetection = std::move(value); } /** *

The explicitly stated label of a detected element.

*/ inline ExpenseField& WithLabelDetection(const ExpenseDetection& value) { SetLabelDetection(value); return *this;} /** *

The explicitly stated label of a detected element.

*/ inline ExpenseField& WithLabelDetection(ExpenseDetection&& value) { SetLabelDetection(std::move(value)); return *this;} /** *

The value of a detected element. Present in explicit and implicit * elements.

*/ inline const ExpenseDetection& GetValueDetection() const{ return m_valueDetection; } /** *

The value of a detected element. Present in explicit and implicit * elements.

*/ inline bool ValueDetectionHasBeenSet() const { return m_valueDetectionHasBeenSet; } /** *

The value of a detected element. Present in explicit and implicit * elements.

*/ inline void SetValueDetection(const ExpenseDetection& value) { m_valueDetectionHasBeenSet = true; m_valueDetection = value; } /** *

The value of a detected element. Present in explicit and implicit * elements.

*/ inline void SetValueDetection(ExpenseDetection&& value) { m_valueDetectionHasBeenSet = true; m_valueDetection = std::move(value); } /** *

The value of a detected element. Present in explicit and implicit * elements.

*/ inline ExpenseField& WithValueDetection(const ExpenseDetection& value) { SetValueDetection(value); return *this;} /** *

The value of a detected element. Present in explicit and implicit * elements.

*/ inline ExpenseField& WithValueDetection(ExpenseDetection&& value) { SetValueDetection(std::move(value)); return *this;} /** *

The page number the value was detected on.

*/ inline int GetPageNumber() const{ return m_pageNumber; } /** *

The page number the value was detected on.

*/ inline bool PageNumberHasBeenSet() const { return m_pageNumberHasBeenSet; } /** *

The page number the value was detected on.

*/ inline void SetPageNumber(int value) { m_pageNumberHasBeenSet = true; m_pageNumber = value; } /** *

The page number the value was detected on.

*/ inline ExpenseField& WithPageNumber(int value) { SetPageNumber(value); return *this;} /** *

Shows the kind of currency, both the code and confidence associated with any * monatary value detected.

*/ inline const ExpenseCurrency& GetCurrency() const{ return m_currency; } /** *

Shows the kind of currency, both the code and confidence associated with any * monatary value detected.

*/ inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } /** *

Shows the kind of currency, both the code and confidence associated with any * monatary value detected.

*/ inline void SetCurrency(const ExpenseCurrency& value) { m_currencyHasBeenSet = true; m_currency = value; } /** *

Shows the kind of currency, both the code and confidence associated with any * monatary value detected.

*/ inline void SetCurrency(ExpenseCurrency&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } /** *

Shows the kind of currency, both the code and confidence associated with any * monatary value detected.

*/ inline ExpenseField& WithCurrency(const ExpenseCurrency& value) { SetCurrency(value); return *this;} /** *

Shows the kind of currency, both the code and confidence associated with any * monatary value detected.

*/ inline ExpenseField& WithCurrency(ExpenseCurrency&& value) { SetCurrency(std::move(value)); return *this;} /** *

Shows which group a response object belongs to, such as whether an address * line belongs to the vendor's address or the recipent's address.

*/ inline const Aws::Vector& GetGroupProperties() const{ return m_groupProperties; } /** *

Shows which group a response object belongs to, such as whether an address * line belongs to the vendor's address or the recipent's address.

*/ inline bool GroupPropertiesHasBeenSet() const { return m_groupPropertiesHasBeenSet; } /** *

Shows which group a response object belongs to, such as whether an address * line belongs to the vendor's address or the recipent's address.

*/ inline void SetGroupProperties(const Aws::Vector& value) { m_groupPropertiesHasBeenSet = true; m_groupProperties = value; } /** *

Shows which group a response object belongs to, such as whether an address * line belongs to the vendor's address or the recipent's address.

*/ inline void SetGroupProperties(Aws::Vector&& value) { m_groupPropertiesHasBeenSet = true; m_groupProperties = std::move(value); } /** *

Shows which group a response object belongs to, such as whether an address * line belongs to the vendor's address or the recipent's address.

*/ inline ExpenseField& WithGroupProperties(const Aws::Vector& value) { SetGroupProperties(value); return *this;} /** *

Shows which group a response object belongs to, such as whether an address * line belongs to the vendor's address or the recipent's address.

*/ inline ExpenseField& WithGroupProperties(Aws::Vector&& value) { SetGroupProperties(std::move(value)); return *this;} /** *

Shows which group a response object belongs to, such as whether an address * line belongs to the vendor's address or the recipent's address.

*/ inline ExpenseField& AddGroupProperties(const ExpenseGroupProperty& value) { m_groupPropertiesHasBeenSet = true; m_groupProperties.push_back(value); return *this; } /** *

Shows which group a response object belongs to, such as whether an address * line belongs to the vendor's address or the recipent's address.

*/ inline ExpenseField& AddGroupProperties(ExpenseGroupProperty&& value) { m_groupPropertiesHasBeenSet = true; m_groupProperties.push_back(std::move(value)); return *this; } private: ExpenseType m_type; bool m_typeHasBeenSet = false; ExpenseDetection m_labelDetection; bool m_labelDetectionHasBeenSet = false; ExpenseDetection m_valueDetection; bool m_valueDetectionHasBeenSet = false; int m_pageNumber; bool m_pageNumberHasBeenSet = false; ExpenseCurrency m_currency; bool m_currencyHasBeenSet = false; Aws::Vector m_groupProperties; bool m_groupPropertiesHasBeenSet = false; }; } // namespace Model } // namespace Textract } // namespace Aws