AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
ColumnInfo.h
1
6#pragma once
7#include <aws/athena/Athena_EXPORTS.h>
8#include <aws/athena/model/ColumnNullable.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace Athena {
21namespace Model {
22
30 public:
31 AWS_ATHENA_API ColumnInfo() = default;
32 AWS_ATHENA_API ColumnInfo(Aws::Utils::Json::JsonView jsonValue);
34 AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetCatalogName() const { return m_catalogName; }
41 inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
42 template <typename CatalogNameT = Aws::String>
43 void SetCatalogName(CatalogNameT&& value) {
44 m_catalogNameHasBeenSet = true;
45 m_catalogName = std::forward<CatalogNameT>(value);
46 }
47 template <typename CatalogNameT = Aws::String>
48 ColumnInfo& WithCatalogName(CatalogNameT&& value) {
49 SetCatalogName(std::forward<CatalogNameT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetSchemaName() const { return m_schemaName; }
59 inline bool SchemaNameHasBeenSet() const { return m_schemaNameHasBeenSet; }
60 template <typename SchemaNameT = Aws::String>
61 void SetSchemaName(SchemaNameT&& value) {
62 m_schemaNameHasBeenSet = true;
63 m_schemaName = std::forward<SchemaNameT>(value);
64 }
65 template <typename SchemaNameT = Aws::String>
66 ColumnInfo& WithSchemaName(SchemaNameT&& value) {
67 SetSchemaName(std::forward<SchemaNameT>(value));
68 return *this;
69 }
71
73
76 inline const Aws::String& GetTableName() const { return m_tableName; }
77 inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
78 template <typename TableNameT = Aws::String>
79 void SetTableName(TableNameT&& value) {
80 m_tableNameHasBeenSet = true;
81 m_tableName = std::forward<TableNameT>(value);
82 }
83 template <typename TableNameT = Aws::String>
84 ColumnInfo& WithTableName(TableNameT&& value) {
85 SetTableName(std::forward<TableNameT>(value));
86 return *this;
87 }
89
91
94 inline const Aws::String& GetName() const { return m_name; }
95 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
96 template <typename NameT = Aws::String>
97 void SetName(NameT&& value) {
98 m_nameHasBeenSet = true;
99 m_name = std::forward<NameT>(value);
100 }
101 template <typename NameT = Aws::String>
102 ColumnInfo& WithName(NameT&& value) {
103 SetName(std::forward<NameT>(value));
104 return *this;
105 }
107
109
112 inline const Aws::String& GetLabel() const { return m_label; }
113 inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; }
114 template <typename LabelT = Aws::String>
115 void SetLabel(LabelT&& value) {
116 m_labelHasBeenSet = true;
117 m_label = std::forward<LabelT>(value);
118 }
119 template <typename LabelT = Aws::String>
120 ColumnInfo& WithLabel(LabelT&& value) {
121 SetLabel(std::forward<LabelT>(value));
122 return *this;
123 }
125
127
130 inline const Aws::String& GetType() const { return m_type; }
131 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
132 template <typename TypeT = Aws::String>
133 void SetType(TypeT&& value) {
134 m_typeHasBeenSet = true;
135 m_type = std::forward<TypeT>(value);
136 }
137 template <typename TypeT = Aws::String>
138 ColumnInfo& WithType(TypeT&& value) {
139 SetType(std::forward<TypeT>(value));
140 return *this;
141 }
143
145
149 inline int GetPrecision() const { return m_precision; }
150 inline bool PrecisionHasBeenSet() const { return m_precisionHasBeenSet; }
151 inline void SetPrecision(int value) {
152 m_precisionHasBeenSet = true;
153 m_precision = value;
154 }
155 inline ColumnInfo& WithPrecision(int value) {
156 SetPrecision(value);
157 return *this;
158 }
160
162
166 inline int GetScale() const { return m_scale; }
167 inline bool ScaleHasBeenSet() const { return m_scaleHasBeenSet; }
168 inline void SetScale(int value) {
169 m_scaleHasBeenSet = true;
170 m_scale = value;
171 }
172 inline ColumnInfo& WithScale(int value) {
173 SetScale(value);
174 return *this;
175 }
177
179
182 inline ColumnNullable GetNullable() const { return m_nullable; }
183 inline bool NullableHasBeenSet() const { return m_nullableHasBeenSet; }
184 inline void SetNullable(ColumnNullable value) {
185 m_nullableHasBeenSet = true;
186 m_nullable = value;
187 }
189 SetNullable(value);
190 return *this;
191 }
193
195
198 inline bool GetCaseSensitive() const { return m_caseSensitive; }
199 inline bool CaseSensitiveHasBeenSet() const { return m_caseSensitiveHasBeenSet; }
200 inline void SetCaseSensitive(bool value) {
201 m_caseSensitiveHasBeenSet = true;
202 m_caseSensitive = value;
203 }
204 inline ColumnInfo& WithCaseSensitive(bool value) {
205 SetCaseSensitive(value);
206 return *this;
207 }
209 private:
210 Aws::String m_catalogName;
211
212 Aws::String m_schemaName;
213
214 Aws::String m_tableName;
215
216 Aws::String m_name;
217
218 Aws::String m_label;
219
220 Aws::String m_type;
221
222 int m_precision{0};
223
224 int m_scale{0};
225
227
228 bool m_caseSensitive{false};
229 bool m_catalogNameHasBeenSet = false;
230 bool m_schemaNameHasBeenSet = false;
231 bool m_tableNameHasBeenSet = false;
232 bool m_nameHasBeenSet = false;
233 bool m_labelHasBeenSet = false;
234 bool m_typeHasBeenSet = false;
235 bool m_precisionHasBeenSet = false;
236 bool m_scaleHasBeenSet = false;
237 bool m_nullableHasBeenSet = false;
238 bool m_caseSensitiveHasBeenSet = false;
239};
240
241} // namespace Model
242} // namespace Athena
243} // namespace Aws
void SetCatalogName(CatalogNameT &&value)
Definition ColumnInfo.h:43
const Aws::String & GetCatalogName() const
Definition ColumnInfo.h:40
ColumnInfo & WithCaseSensitive(bool value)
Definition ColumnInfo.h:204
void SetCaseSensitive(bool value)
Definition ColumnInfo.h:200
void SetSchemaName(SchemaNameT &&value)
Definition ColumnInfo.h:61
ColumnInfo & WithType(TypeT &&value)
Definition ColumnInfo.h:138
AWS_ATHENA_API ColumnInfo(Aws::Utils::Json::JsonView jsonValue)
AWS_ATHENA_API ColumnInfo()=default
void SetTableName(TableNameT &&value)
Definition ColumnInfo.h:79
void SetName(NameT &&value)
Definition ColumnInfo.h:97
AWS_ATHENA_API ColumnInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
ColumnInfo & WithCatalogName(CatalogNameT &&value)
Definition ColumnInfo.h:48
ColumnInfo & WithTableName(TableNameT &&value)
Definition ColumnInfo.h:84
void SetLabel(LabelT &&value)
Definition ColumnInfo.h:115
ColumnNullable GetNullable() const
Definition ColumnInfo.h:182
ColumnInfo & WithSchemaName(SchemaNameT &&value)
Definition ColumnInfo.h:66
void SetNullable(ColumnNullable value)
Definition ColumnInfo.h:184
ColumnInfo & WithPrecision(int value)
Definition ColumnInfo.h:155
AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const
ColumnInfo & WithName(NameT &&value)
Definition ColumnInfo.h:102
const Aws::String & GetSchemaName() const
Definition ColumnInfo.h:58
ColumnInfo & WithLabel(LabelT &&value)
Definition ColumnInfo.h:120
void SetType(TypeT &&value)
Definition ColumnInfo.h:133
ColumnInfo & WithScale(int value)
Definition ColumnInfo.h:172
ColumnInfo & WithNullable(ColumnNullable value)
Definition ColumnInfo.h:188
const Aws::String & GetName() const
Definition ColumnInfo.h:94
const Aws::String & GetTableName() const
Definition ColumnInfo.h:76
const Aws::String & GetLabel() const
Definition ColumnInfo.h:112
const Aws::String & GetType() const
Definition ColumnInfo.h:130
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue