AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
Expression.h
1
6#pragma once
7#include <aws/connect/Connect_EXPORTS.h>
8#include <aws/connect/model/AttributeCondition.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace Connect {
21namespace Model {
22
30 public:
31 AWS_CONNECT_API Expression() = default;
32 AWS_CONNECT_API Expression(Aws::Utils::Json::JsonView jsonValue);
33 AWS_CONNECT_API Expression& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const AttributeCondition& GetAttributeCondition() const { return m_attributeCondition; }
41 inline bool AttributeConditionHasBeenSet() const { return m_attributeConditionHasBeenSet; }
42 template <typename AttributeConditionT = AttributeCondition>
43 void SetAttributeCondition(AttributeConditionT&& value) {
44 m_attributeConditionHasBeenSet = true;
45 m_attributeCondition = std::forward<AttributeConditionT>(value);
46 }
47 template <typename AttributeConditionT = AttributeCondition>
48 Expression& WithAttributeCondition(AttributeConditionT&& value) {
49 SetAttributeCondition(std::forward<AttributeConditionT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::Vector<Expression>& GetAndExpression() const { return m_andExpression; }
59 inline bool AndExpressionHasBeenSet() const { return m_andExpressionHasBeenSet; }
60 template <typename AndExpressionT = Aws::Vector<Expression>>
61 void SetAndExpression(AndExpressionT&& value) {
62 m_andExpressionHasBeenSet = true;
63 m_andExpression = std::forward<AndExpressionT>(value);
64 }
65 template <typename AndExpressionT = Aws::Vector<Expression>>
66 Expression& WithAndExpression(AndExpressionT&& value) {
67 SetAndExpression(std::forward<AndExpressionT>(value));
68 return *this;
69 }
70 template <typename AndExpressionT = Expression>
71 Expression& AddAndExpression(AndExpressionT&& value) {
72 m_andExpressionHasBeenSet = true;
73 m_andExpression.emplace_back(std::forward<AndExpressionT>(value));
74 return *this;
75 }
77
79
82 inline const Aws::Vector<Expression>& GetOrExpression() const { return m_orExpression; }
83 inline bool OrExpressionHasBeenSet() const { return m_orExpressionHasBeenSet; }
84 template <typename OrExpressionT = Aws::Vector<Expression>>
85 void SetOrExpression(OrExpressionT&& value) {
86 m_orExpressionHasBeenSet = true;
87 m_orExpression = std::forward<OrExpressionT>(value);
88 }
89 template <typename OrExpressionT = Aws::Vector<Expression>>
90 Expression& WithOrExpression(OrExpressionT&& value) {
91 SetOrExpression(std::forward<OrExpressionT>(value));
92 return *this;
93 }
94 template <typename OrExpressionT = Expression>
95 Expression& AddOrExpression(OrExpressionT&& value) {
96 m_orExpressionHasBeenSet = true;
97 m_orExpression.emplace_back(std::forward<OrExpressionT>(value));
98 return *this;
99 }
101
103
104 inline const AttributeCondition& GetNotAttributeCondition() const { return m_notAttributeCondition; }
105 inline bool NotAttributeConditionHasBeenSet() const { return m_notAttributeConditionHasBeenSet; }
106 template <typename NotAttributeConditionT = AttributeCondition>
107 void SetNotAttributeCondition(NotAttributeConditionT&& value) {
108 m_notAttributeConditionHasBeenSet = true;
109 m_notAttributeCondition = std::forward<NotAttributeConditionT>(value);
110 }
111 template <typename NotAttributeConditionT = AttributeCondition>
112 Expression& WithNotAttributeCondition(NotAttributeConditionT&& value) {
113 SetNotAttributeCondition(std::forward<NotAttributeConditionT>(value));
114 return *this;
115 }
117 private:
118 AttributeCondition m_attributeCondition;
119
120 Aws::Vector<Expression> m_andExpression;
121
122 Aws::Vector<Expression> m_orExpression;
123
124 AttributeCondition m_notAttributeCondition;
125 bool m_attributeConditionHasBeenSet = false;
126 bool m_andExpressionHasBeenSet = false;
127 bool m_orExpressionHasBeenSet = false;
128 bool m_notAttributeConditionHasBeenSet = false;
129};
130
131} // namespace Model
132} // namespace Connect
133} // namespace Aws
void SetOrExpression(OrExpressionT &&value)
Definition Expression.h:85
bool NotAttributeConditionHasBeenSet() const
Definition Expression.h:105
Expression & AddAndExpression(AndExpressionT &&value)
Definition Expression.h:71
AWS_CONNECT_API Expression & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAndExpression(AndExpressionT &&value)
Definition Expression.h:61
AWS_CONNECT_API Expression()=default
const AttributeCondition & GetNotAttributeCondition() const
Definition Expression.h:104
void SetAttributeCondition(AttributeConditionT &&value)
Definition Expression.h:43
bool AttributeConditionHasBeenSet() const
Definition Expression.h:41
Expression & WithAndExpression(AndExpressionT &&value)
Definition Expression.h:66
AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
const AttributeCondition & GetAttributeCondition() const
Definition Expression.h:40
Expression & WithNotAttributeCondition(NotAttributeConditionT &&value)
Definition Expression.h:112
Expression & AddOrExpression(OrExpressionT &&value)
Definition Expression.h:95
const Aws::Vector< Expression > & GetOrExpression() const
Definition Expression.h:82
Expression & WithOrExpression(OrExpressionT &&value)
Definition Expression.h:90
Expression & WithAttributeCondition(AttributeConditionT &&value)
Definition Expression.h:48
const Aws::Vector< Expression > & GetAndExpression() const
Definition Expression.h:58
void SetNotAttributeCondition(NotAttributeConditionT &&value)
Definition Expression.h:107
AWS_CONNECT_API Expression(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue