AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
Projection.h
1
6#pragma once
7#include <aws/dynamodb/DynamoDB_EXPORTS.h>
8#include <aws/dynamodb/model/ProjectionType.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace DynamoDB
24{
25namespace Model
26{
27
36 {
37 public:
38 AWS_DYNAMODB_API Projection() = default;
39 AWS_DYNAMODB_API Projection(Aws::Utils::Json::JsonView jsonValue);
40 AWS_DYNAMODB_API Projection& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
54 inline ProjectionType GetProjectionType() const { return m_projectionType; }
55 inline bool ProjectionTypeHasBeenSet() const { return m_projectionTypeHasBeenSet; }
56 inline void SetProjectionType(ProjectionType value) { m_projectionTypeHasBeenSet = true; m_projectionType = value; }
57 inline Projection& WithProjectionType(ProjectionType value) { SetProjectionType(value); return *this;}
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) { m_nonKeyAttributesHasBeenSet = true; m_nonKeyAttributes = std::forward<NonKeyAttributesT>(value); }
76 template<typename NonKeyAttributesT = Aws::Vector<Aws::String>>
77 Projection& WithNonKeyAttributes(NonKeyAttributesT&& value) { SetNonKeyAttributes(std::forward<NonKeyAttributesT>(value)); return *this;}
78 template<typename NonKeyAttributesT = Aws::String>
79 Projection& AddNonKeyAttributes(NonKeyAttributesT&& value) { m_nonKeyAttributesHasBeenSet = true; m_nonKeyAttributes.emplace_back(std::forward<NonKeyAttributesT>(value)); return *this; }
81 private:
82
84 bool m_projectionTypeHasBeenSet = false;
85
86 Aws::Vector<Aws::String> m_nonKeyAttributes;
87 bool m_nonKeyAttributesHasBeenSet = false;
88 };
89
90} // namespace Model
91} // namespace DynamoDB
92} // namespace Aws
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
ProjectionType GetProjectionType() const
Definition Projection.h:54
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:79
AWS_DYNAMODB_API Projection(Aws::Utils::Json::JsonView jsonValue)
Projection & WithProjectionType(ProjectionType value)
Definition Projection.h:57
AWS_DYNAMODB_API Projection()=default
void SetNonKeyAttributes(NonKeyAttributesT &&value)
Definition Projection.h:75
void SetProjectionType(ProjectionType value)
Definition Projection.h:56
Projection & WithNonKeyAttributes(NonKeyAttributesT &&value)
Definition Projection.h:77
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue