AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
Projection.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/dynamodb/DynamoDB_EXPORTS.h>
10#include <aws/dynamodb/model/ProjectionType.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace DynamoDB {
22namespace Model {
23
32 public:
33 AWS_DYNAMODB_API Projection() = default;
34 AWS_DYNAMODB_API Projection(Aws::Utils::Json::JsonView jsonValue);
35 AWS_DYNAMODB_API Projection& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
48 inline ProjectionType GetProjectionType() const { return m_projectionType; }
49 inline bool ProjectionTypeHasBeenSet() const { return m_projectionTypeHasBeenSet; }
50 inline void SetProjectionType(ProjectionType value) {
51 m_projectionTypeHasBeenSet = true;
52 m_projectionType = value;
53 }
55 SetProjectionType(value);
56 return *this;
57 }
59
61
72 inline const Aws::Vector<Aws::String>& GetNonKeyAttributes() const { return m_nonKeyAttributes; }
73 inline bool NonKeyAttributesHasBeenSet() const { return m_nonKeyAttributesHasBeenSet; }
74 template <typename NonKeyAttributesT = Aws::Vector<Aws::String>>
75 void SetNonKeyAttributes(NonKeyAttributesT&& value) {
76 m_nonKeyAttributesHasBeenSet = true;
77 m_nonKeyAttributes = std::forward<NonKeyAttributesT>(value);
78 }
79 template <typename NonKeyAttributesT = Aws::Vector<Aws::String>>
80 Projection& WithNonKeyAttributes(NonKeyAttributesT&& value) {
81 SetNonKeyAttributes(std::forward<NonKeyAttributesT>(value));
82 return *this;
83 }
84 template <typename NonKeyAttributesT = Aws::String>
85 Projection& AddNonKeyAttributes(NonKeyAttributesT&& value) {
86 m_nonKeyAttributesHasBeenSet = true;
87 m_nonKeyAttributes.emplace_back(std::forward<NonKeyAttributesT>(value));
88 return *this;
89 }
91 private:
93
94 Aws::Vector<Aws::String> m_nonKeyAttributes;
95 bool m_projectionTypeHasBeenSet = false;
96 bool m_nonKeyAttributesHasBeenSet = false;
97};
98
99} // namespace Model
100} // namespace DynamoDB
101} // namespace Aws
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
ProjectionType GetProjectionType() const
Definition Projection.h:48
bool NonKeyAttributesHasBeenSet() const
Definition Projection.h:73
const Aws::Vector< Aws::String > & GetNonKeyAttributes() const
Definition Projection.h:72
AWS_DYNAMODB_API Projection & operator=(Aws::Utils::Json::JsonView jsonValue)
Projection & AddNonKeyAttributes(NonKeyAttributesT &&value)
Definition Projection.h:85
AWS_DYNAMODB_API Projection(Aws::Utils::Json::JsonView jsonValue)
Projection & WithProjectionType(ProjectionType value)
Definition Projection.h:54
AWS_DYNAMODB_API Projection()=default
void SetNonKeyAttributes(NonKeyAttributesT &&value)
Definition Projection.h:75
void SetProjectionType(ProjectionType value)
Definition Projection.h:50
Projection & WithNonKeyAttributes(NonKeyAttributesT &&value)
Definition Projection.h:80
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue