1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/textract/Textract_EXPORTS.h>
8 #include <aws/textract/model/DocumentMetadata.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/textract/model/HumanLoopActivationOutput.h>
11 #include <aws/core/utils/memory/stl/AWSString.h>
12 #include <aws/textract/model/Block.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 template<typename RESULT_TYPE>
18 class AmazonWebServiceResult;
19 
20 namespace Utils
21 {
22 namespace Json
23 {
24   class JsonValue;
25 } // namespace Json
26 } // namespace Utils
27 namespace Textract
28 {
29 namespace Model
30 {
31   class AWS_TEXTRACT_API AnalyzeDocumentResult
32   {
33   public:
34     AnalyzeDocumentResult();
35     AnalyzeDocumentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36     AnalyzeDocumentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
37 
38 
39     /**
40      * <p>Metadata about the analyzed document. An example is the number of pages.</p>
41      */
GetDocumentMetadata()42     inline const DocumentMetadata& GetDocumentMetadata() const{ return m_documentMetadata; }
43 
44     /**
45      * <p>Metadata about the analyzed document. An example is the number of pages.</p>
46      */
SetDocumentMetadata(const DocumentMetadata & value)47     inline void SetDocumentMetadata(const DocumentMetadata& value) { m_documentMetadata = value; }
48 
49     /**
50      * <p>Metadata about the analyzed document. An example is the number of pages.</p>
51      */
SetDocumentMetadata(DocumentMetadata && value)52     inline void SetDocumentMetadata(DocumentMetadata&& value) { m_documentMetadata = std::move(value); }
53 
54     /**
55      * <p>Metadata about the analyzed document. An example is the number of pages.</p>
56      */
WithDocumentMetadata(const DocumentMetadata & value)57     inline AnalyzeDocumentResult& WithDocumentMetadata(const DocumentMetadata& value) { SetDocumentMetadata(value); return *this;}
58 
59     /**
60      * <p>Metadata about the analyzed document. An example is the number of pages.</p>
61      */
WithDocumentMetadata(DocumentMetadata && value)62     inline AnalyzeDocumentResult& WithDocumentMetadata(DocumentMetadata&& value) { SetDocumentMetadata(std::move(value)); return *this;}
63 
64 
65     /**
66      * <p>The items that are detected and analyzed by <code>AnalyzeDocument</code>.</p>
67      */
GetBlocks()68     inline const Aws::Vector<Block>& GetBlocks() const{ return m_blocks; }
69 
70     /**
71      * <p>The items that are detected and analyzed by <code>AnalyzeDocument</code>.</p>
72      */
SetBlocks(const Aws::Vector<Block> & value)73     inline void SetBlocks(const Aws::Vector<Block>& value) { m_blocks = value; }
74 
75     /**
76      * <p>The items that are detected and analyzed by <code>AnalyzeDocument</code>.</p>
77      */
SetBlocks(Aws::Vector<Block> && value)78     inline void SetBlocks(Aws::Vector<Block>&& value) { m_blocks = std::move(value); }
79 
80     /**
81      * <p>The items that are detected and analyzed by <code>AnalyzeDocument</code>.</p>
82      */
WithBlocks(const Aws::Vector<Block> & value)83     inline AnalyzeDocumentResult& WithBlocks(const Aws::Vector<Block>& value) { SetBlocks(value); return *this;}
84 
85     /**
86      * <p>The items that are detected and analyzed by <code>AnalyzeDocument</code>.</p>
87      */
WithBlocks(Aws::Vector<Block> && value)88     inline AnalyzeDocumentResult& WithBlocks(Aws::Vector<Block>&& value) { SetBlocks(std::move(value)); return *this;}
89 
90     /**
91      * <p>The items that are detected and analyzed by <code>AnalyzeDocument</code>.</p>
92      */
AddBlocks(const Block & value)93     inline AnalyzeDocumentResult& AddBlocks(const Block& value) { m_blocks.push_back(value); return *this; }
94 
95     /**
96      * <p>The items that are detected and analyzed by <code>AnalyzeDocument</code>.</p>
97      */
AddBlocks(Block && value)98     inline AnalyzeDocumentResult& AddBlocks(Block&& value) { m_blocks.push_back(std::move(value)); return *this; }
99 
100 
101     /**
102      * <p>Shows the results of the human in the loop evaluation.</p>
103      */
GetHumanLoopActivationOutput()104     inline const HumanLoopActivationOutput& GetHumanLoopActivationOutput() const{ return m_humanLoopActivationOutput; }
105 
106     /**
107      * <p>Shows the results of the human in the loop evaluation.</p>
108      */
SetHumanLoopActivationOutput(const HumanLoopActivationOutput & value)109     inline void SetHumanLoopActivationOutput(const HumanLoopActivationOutput& value) { m_humanLoopActivationOutput = value; }
110 
111     /**
112      * <p>Shows the results of the human in the loop evaluation.</p>
113      */
SetHumanLoopActivationOutput(HumanLoopActivationOutput && value)114     inline void SetHumanLoopActivationOutput(HumanLoopActivationOutput&& value) { m_humanLoopActivationOutput = std::move(value); }
115 
116     /**
117      * <p>Shows the results of the human in the loop evaluation.</p>
118      */
WithHumanLoopActivationOutput(const HumanLoopActivationOutput & value)119     inline AnalyzeDocumentResult& WithHumanLoopActivationOutput(const HumanLoopActivationOutput& value) { SetHumanLoopActivationOutput(value); return *this;}
120 
121     /**
122      * <p>Shows the results of the human in the loop evaluation.</p>
123      */
WithHumanLoopActivationOutput(HumanLoopActivationOutput && value)124     inline AnalyzeDocumentResult& WithHumanLoopActivationOutput(HumanLoopActivationOutput&& value) { SetHumanLoopActivationOutput(std::move(value)); return *this;}
125 
126 
127     /**
128      * <p>The version of the model used to analyze the document.</p>
129      */
GetAnalyzeDocumentModelVersion()130     inline const Aws::String& GetAnalyzeDocumentModelVersion() const{ return m_analyzeDocumentModelVersion; }
131 
132     /**
133      * <p>The version of the model used to analyze the document.</p>
134      */
SetAnalyzeDocumentModelVersion(const Aws::String & value)135     inline void SetAnalyzeDocumentModelVersion(const Aws::String& value) { m_analyzeDocumentModelVersion = value; }
136 
137     /**
138      * <p>The version of the model used to analyze the document.</p>
139      */
SetAnalyzeDocumentModelVersion(Aws::String && value)140     inline void SetAnalyzeDocumentModelVersion(Aws::String&& value) { m_analyzeDocumentModelVersion = std::move(value); }
141 
142     /**
143      * <p>The version of the model used to analyze the document.</p>
144      */
SetAnalyzeDocumentModelVersion(const char * value)145     inline void SetAnalyzeDocumentModelVersion(const char* value) { m_analyzeDocumentModelVersion.assign(value); }
146 
147     /**
148      * <p>The version of the model used to analyze the document.</p>
149      */
WithAnalyzeDocumentModelVersion(const Aws::String & value)150     inline AnalyzeDocumentResult& WithAnalyzeDocumentModelVersion(const Aws::String& value) { SetAnalyzeDocumentModelVersion(value); return *this;}
151 
152     /**
153      * <p>The version of the model used to analyze the document.</p>
154      */
WithAnalyzeDocumentModelVersion(Aws::String && value)155     inline AnalyzeDocumentResult& WithAnalyzeDocumentModelVersion(Aws::String&& value) { SetAnalyzeDocumentModelVersion(std::move(value)); return *this;}
156 
157     /**
158      * <p>The version of the model used to analyze the document.</p>
159      */
WithAnalyzeDocumentModelVersion(const char * value)160     inline AnalyzeDocumentResult& WithAnalyzeDocumentModelVersion(const char* value) { SetAnalyzeDocumentModelVersion(value); return *this;}
161 
162   private:
163 
164     DocumentMetadata m_documentMetadata;
165 
166     Aws::Vector<Block> m_blocks;
167 
168     HumanLoopActivationOutput m_humanLoopActivationOutput;
169 
170     Aws::String m_analyzeDocumentModelVersion;
171   };
172 
173 } // namespace Model
174 } // namespace Textract
175 } // namespace Aws
176