1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/swf/model/ActivityTaskScheduledEventAttributes.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8 
9 #include <utility>
10 
11 using namespace Aws::Utils::Json;
12 using namespace Aws::Utils;
13 
14 namespace Aws
15 {
16 namespace SWF
17 {
18 namespace Model
19 {
20 
ActivityTaskScheduledEventAttributes()21 ActivityTaskScheduledEventAttributes::ActivityTaskScheduledEventAttributes() :
22     m_activityTypeHasBeenSet(false),
23     m_activityIdHasBeenSet(false),
24     m_inputHasBeenSet(false),
25     m_controlHasBeenSet(false),
26     m_scheduleToStartTimeoutHasBeenSet(false),
27     m_scheduleToCloseTimeoutHasBeenSet(false),
28     m_startToCloseTimeoutHasBeenSet(false),
29     m_taskListHasBeenSet(false),
30     m_taskPriorityHasBeenSet(false),
31     m_decisionTaskCompletedEventId(0),
32     m_decisionTaskCompletedEventIdHasBeenSet(false),
33     m_heartbeatTimeoutHasBeenSet(false)
34 {
35 }
36 
ActivityTaskScheduledEventAttributes(JsonView jsonValue)37 ActivityTaskScheduledEventAttributes::ActivityTaskScheduledEventAttributes(JsonView jsonValue) :
38     m_activityTypeHasBeenSet(false),
39     m_activityIdHasBeenSet(false),
40     m_inputHasBeenSet(false),
41     m_controlHasBeenSet(false),
42     m_scheduleToStartTimeoutHasBeenSet(false),
43     m_scheduleToCloseTimeoutHasBeenSet(false),
44     m_startToCloseTimeoutHasBeenSet(false),
45     m_taskListHasBeenSet(false),
46     m_taskPriorityHasBeenSet(false),
47     m_decisionTaskCompletedEventId(0),
48     m_decisionTaskCompletedEventIdHasBeenSet(false),
49     m_heartbeatTimeoutHasBeenSet(false)
50 {
51   *this = jsonValue;
52 }
53 
operator =(JsonView jsonValue)54 ActivityTaskScheduledEventAttributes& ActivityTaskScheduledEventAttributes::operator =(JsonView jsonValue)
55 {
56   if(jsonValue.ValueExists("activityType"))
57   {
58     m_activityType = jsonValue.GetObject("activityType");
59 
60     m_activityTypeHasBeenSet = true;
61   }
62 
63   if(jsonValue.ValueExists("activityId"))
64   {
65     m_activityId = jsonValue.GetString("activityId");
66 
67     m_activityIdHasBeenSet = true;
68   }
69 
70   if(jsonValue.ValueExists("input"))
71   {
72     m_input = jsonValue.GetString("input");
73 
74     m_inputHasBeenSet = true;
75   }
76 
77   if(jsonValue.ValueExists("control"))
78   {
79     m_control = jsonValue.GetString("control");
80 
81     m_controlHasBeenSet = true;
82   }
83 
84   if(jsonValue.ValueExists("scheduleToStartTimeout"))
85   {
86     m_scheduleToStartTimeout = jsonValue.GetString("scheduleToStartTimeout");
87 
88     m_scheduleToStartTimeoutHasBeenSet = true;
89   }
90 
91   if(jsonValue.ValueExists("scheduleToCloseTimeout"))
92   {
93     m_scheduleToCloseTimeout = jsonValue.GetString("scheduleToCloseTimeout");
94 
95     m_scheduleToCloseTimeoutHasBeenSet = true;
96   }
97 
98   if(jsonValue.ValueExists("startToCloseTimeout"))
99   {
100     m_startToCloseTimeout = jsonValue.GetString("startToCloseTimeout");
101 
102     m_startToCloseTimeoutHasBeenSet = true;
103   }
104 
105   if(jsonValue.ValueExists("taskList"))
106   {
107     m_taskList = jsonValue.GetObject("taskList");
108 
109     m_taskListHasBeenSet = true;
110   }
111 
112   if(jsonValue.ValueExists("taskPriority"))
113   {
114     m_taskPriority = jsonValue.GetString("taskPriority");
115 
116     m_taskPriorityHasBeenSet = true;
117   }
118 
119   if(jsonValue.ValueExists("decisionTaskCompletedEventId"))
120   {
121     m_decisionTaskCompletedEventId = jsonValue.GetInt64("decisionTaskCompletedEventId");
122 
123     m_decisionTaskCompletedEventIdHasBeenSet = true;
124   }
125 
126   if(jsonValue.ValueExists("heartbeatTimeout"))
127   {
128     m_heartbeatTimeout = jsonValue.GetString("heartbeatTimeout");
129 
130     m_heartbeatTimeoutHasBeenSet = true;
131   }
132 
133   return *this;
134 }
135 
Jsonize() const136 JsonValue ActivityTaskScheduledEventAttributes::Jsonize() const
137 {
138   JsonValue payload;
139 
140   if(m_activityTypeHasBeenSet)
141   {
142    payload.WithObject("activityType", m_activityType.Jsonize());
143 
144   }
145 
146   if(m_activityIdHasBeenSet)
147   {
148    payload.WithString("activityId", m_activityId);
149 
150   }
151 
152   if(m_inputHasBeenSet)
153   {
154    payload.WithString("input", m_input);
155 
156   }
157 
158   if(m_controlHasBeenSet)
159   {
160    payload.WithString("control", m_control);
161 
162   }
163 
164   if(m_scheduleToStartTimeoutHasBeenSet)
165   {
166    payload.WithString("scheduleToStartTimeout", m_scheduleToStartTimeout);
167 
168   }
169 
170   if(m_scheduleToCloseTimeoutHasBeenSet)
171   {
172    payload.WithString("scheduleToCloseTimeout", m_scheduleToCloseTimeout);
173 
174   }
175 
176   if(m_startToCloseTimeoutHasBeenSet)
177   {
178    payload.WithString("startToCloseTimeout", m_startToCloseTimeout);
179 
180   }
181 
182   if(m_taskListHasBeenSet)
183   {
184    payload.WithObject("taskList", m_taskList.Jsonize());
185 
186   }
187 
188   if(m_taskPriorityHasBeenSet)
189   {
190    payload.WithString("taskPriority", m_taskPriority);
191 
192   }
193 
194   if(m_decisionTaskCompletedEventIdHasBeenSet)
195   {
196    payload.WithInt64("decisionTaskCompletedEventId", m_decisionTaskCompletedEventId);
197 
198   }
199 
200   if(m_heartbeatTimeoutHasBeenSet)
201   {
202    payload.WithString("heartbeatTimeout", m_heartbeatTimeout);
203 
204   }
205 
206   return payload;
207 }
208 
209 } // namespace Model
210 } // namespace SWF
211 } // namespace Aws
212