AWS SDK for C++

AWS SDK for C++ Version 1.11.607

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#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Json
17{
18 class JsonValue;
19 class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace Connect
23{
24namespace Model
25{
26
34 {
35 public:
36 AWS_CONNECT_API Expression() = default;
37 AWS_CONNECT_API Expression(Aws::Utils::Json::JsonView jsonValue);
38 AWS_CONNECT_API Expression& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
46 inline const AttributeCondition& GetAttributeCondition() const { return m_attributeCondition; }
47 inline bool AttributeConditionHasBeenSet() const { return m_attributeConditionHasBeenSet; }
48 template<typename AttributeConditionT = AttributeCondition>
49 void SetAttributeCondition(AttributeConditionT&& value) { m_attributeConditionHasBeenSet = true; m_attributeCondition = std::forward<AttributeConditionT>(value); }
50 template<typename AttributeConditionT = AttributeCondition>
51 Expression& WithAttributeCondition(AttributeConditionT&& value) { SetAttributeCondition(std::forward<AttributeConditionT>(value)); return *this;}
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) { m_andExpressionHasBeenSet = true; m_andExpression = std::forward<AndExpressionT>(value); }
62 template<typename AndExpressionT = Aws::Vector<Expression>>
63 Expression& WithAndExpression(AndExpressionT&& value) { SetAndExpression(std::forward<AndExpressionT>(value)); return *this;}
64 template<typename AndExpressionT = Expression>
65 Expression& AddAndExpression(AndExpressionT&& value) { m_andExpressionHasBeenSet = true; m_andExpression.emplace_back(std::forward<AndExpressionT>(value)); return *this; }
67
69
72 inline const Aws::Vector<Expression>& GetOrExpression() const { return m_orExpression; }
73 inline bool OrExpressionHasBeenSet() const { return m_orExpressionHasBeenSet; }
74 template<typename OrExpressionT = Aws::Vector<Expression>>
75 void SetOrExpression(OrExpressionT&& value) { m_orExpressionHasBeenSet = true; m_orExpression = std::forward<OrExpressionT>(value); }
76 template<typename OrExpressionT = Aws::Vector<Expression>>
77 Expression& WithOrExpression(OrExpressionT&& value) { SetOrExpression(std::forward<OrExpressionT>(value)); return *this;}
78 template<typename OrExpressionT = Expression>
79 Expression& AddOrExpression(OrExpressionT&& value) { m_orExpressionHasBeenSet = true; m_orExpression.emplace_back(std::forward<OrExpressionT>(value)); return *this; }
81
83
84 inline const AttributeCondition& GetNotAttributeCondition() const { return m_notAttributeCondition; }
85 inline bool NotAttributeConditionHasBeenSet() const { return m_notAttributeConditionHasBeenSet; }
86 template<typename NotAttributeConditionT = AttributeCondition>
87 void SetNotAttributeCondition(NotAttributeConditionT&& value) { m_notAttributeConditionHasBeenSet = true; m_notAttributeCondition = std::forward<NotAttributeConditionT>(value); }
88 template<typename NotAttributeConditionT = AttributeCondition>
89 Expression& WithNotAttributeCondition(NotAttributeConditionT&& value) { SetNotAttributeCondition(std::forward<NotAttributeConditionT>(value)); return *this;}
91 private:
92
93 AttributeCondition m_attributeCondition;
94 bool m_attributeConditionHasBeenSet = false;
95
96 Aws::Vector<Expression> m_andExpression;
97 bool m_andExpressionHasBeenSet = false;
98
99 Aws::Vector<Expression> m_orExpression;
100 bool m_orExpressionHasBeenSet = false;
101
102 AttributeCondition m_notAttributeCondition;
103 bool m_notAttributeConditionHasBeenSet = false;
104 };
105
106} // namespace Model
107} // namespace Connect
108} // namespace Aws
void SetOrExpression(OrExpressionT &&value)
Definition Expression.h:75
bool NotAttributeConditionHasBeenSet() const
Definition Expression.h:85
Expression & AddAndExpression(AndExpressionT &&value)
Definition Expression.h:65
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:84
void SetAttributeCondition(AttributeConditionT &&value)
Definition Expression.h:49
bool AttributeConditionHasBeenSet() const
Definition Expression.h:47
Expression & WithAndExpression(AndExpressionT &&value)
Definition Expression.h:63
AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
const AttributeCondition & GetAttributeCondition() const
Definition Expression.h:46
Expression & WithNotAttributeCondition(NotAttributeConditionT &&value)
Definition Expression.h:89
Expression & AddOrExpression(OrExpressionT &&value)
Definition Expression.h:79
const Aws::Vector< Expression > & GetOrExpression() const
Definition Expression.h:72
Expression & WithOrExpression(OrExpressionT &&value)
Definition Expression.h:77
Expression & WithAttributeCondition(AttributeConditionT &&value)
Definition Expression.h:51
const Aws::Vector< Expression > & GetAndExpression() const
Definition Expression.h:58
void SetNotAttributeCondition(NotAttributeConditionT &&value)
Definition Expression.h:87
AWS_CONNECT_API Expression(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue