1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/quicksight/model/Parameters.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 QuickSight
17 {
18 namespace Model
19 {
20
Parameters()21 Parameters::Parameters() :
22 m_stringParametersHasBeenSet(false),
23 m_integerParametersHasBeenSet(false),
24 m_decimalParametersHasBeenSet(false),
25 m_dateTimeParametersHasBeenSet(false)
26 {
27 }
28
Parameters(JsonView jsonValue)29 Parameters::Parameters(JsonView jsonValue) :
30 m_stringParametersHasBeenSet(false),
31 m_integerParametersHasBeenSet(false),
32 m_decimalParametersHasBeenSet(false),
33 m_dateTimeParametersHasBeenSet(false)
34 {
35 *this = jsonValue;
36 }
37
operator =(JsonView jsonValue)38 Parameters& Parameters::operator =(JsonView jsonValue)
39 {
40 if(jsonValue.ValueExists("StringParameters"))
41 {
42 Array<JsonView> stringParametersJsonList = jsonValue.GetArray("StringParameters");
43 for(unsigned stringParametersIndex = 0; stringParametersIndex < stringParametersJsonList.GetLength(); ++stringParametersIndex)
44 {
45 m_stringParameters.push_back(stringParametersJsonList[stringParametersIndex].AsObject());
46 }
47 m_stringParametersHasBeenSet = true;
48 }
49
50 if(jsonValue.ValueExists("IntegerParameters"))
51 {
52 Array<JsonView> integerParametersJsonList = jsonValue.GetArray("IntegerParameters");
53 for(unsigned integerParametersIndex = 0; integerParametersIndex < integerParametersJsonList.GetLength(); ++integerParametersIndex)
54 {
55 m_integerParameters.push_back(integerParametersJsonList[integerParametersIndex].AsObject());
56 }
57 m_integerParametersHasBeenSet = true;
58 }
59
60 if(jsonValue.ValueExists("DecimalParameters"))
61 {
62 Array<JsonView> decimalParametersJsonList = jsonValue.GetArray("DecimalParameters");
63 for(unsigned decimalParametersIndex = 0; decimalParametersIndex < decimalParametersJsonList.GetLength(); ++decimalParametersIndex)
64 {
65 m_decimalParameters.push_back(decimalParametersJsonList[decimalParametersIndex].AsObject());
66 }
67 m_decimalParametersHasBeenSet = true;
68 }
69
70 if(jsonValue.ValueExists("DateTimeParameters"))
71 {
72 Array<JsonView> dateTimeParametersJsonList = jsonValue.GetArray("DateTimeParameters");
73 for(unsigned dateTimeParametersIndex = 0; dateTimeParametersIndex < dateTimeParametersJsonList.GetLength(); ++dateTimeParametersIndex)
74 {
75 m_dateTimeParameters.push_back(dateTimeParametersJsonList[dateTimeParametersIndex].AsObject());
76 }
77 m_dateTimeParametersHasBeenSet = true;
78 }
79
80 return *this;
81 }
82
Jsonize() const83 JsonValue Parameters::Jsonize() const
84 {
85 JsonValue payload;
86
87 if(m_stringParametersHasBeenSet)
88 {
89 Array<JsonValue> stringParametersJsonList(m_stringParameters.size());
90 for(unsigned stringParametersIndex = 0; stringParametersIndex < stringParametersJsonList.GetLength(); ++stringParametersIndex)
91 {
92 stringParametersJsonList[stringParametersIndex].AsObject(m_stringParameters[stringParametersIndex].Jsonize());
93 }
94 payload.WithArray("StringParameters", std::move(stringParametersJsonList));
95
96 }
97
98 if(m_integerParametersHasBeenSet)
99 {
100 Array<JsonValue> integerParametersJsonList(m_integerParameters.size());
101 for(unsigned integerParametersIndex = 0; integerParametersIndex < integerParametersJsonList.GetLength(); ++integerParametersIndex)
102 {
103 integerParametersJsonList[integerParametersIndex].AsObject(m_integerParameters[integerParametersIndex].Jsonize());
104 }
105 payload.WithArray("IntegerParameters", std::move(integerParametersJsonList));
106
107 }
108
109 if(m_decimalParametersHasBeenSet)
110 {
111 Array<JsonValue> decimalParametersJsonList(m_decimalParameters.size());
112 for(unsigned decimalParametersIndex = 0; decimalParametersIndex < decimalParametersJsonList.GetLength(); ++decimalParametersIndex)
113 {
114 decimalParametersJsonList[decimalParametersIndex].AsObject(m_decimalParameters[decimalParametersIndex].Jsonize());
115 }
116 payload.WithArray("DecimalParameters", std::move(decimalParametersJsonList));
117
118 }
119
120 if(m_dateTimeParametersHasBeenSet)
121 {
122 Array<JsonValue> dateTimeParametersJsonList(m_dateTimeParameters.size());
123 for(unsigned dateTimeParametersIndex = 0; dateTimeParametersIndex < dateTimeParametersJsonList.GetLength(); ++dateTimeParametersIndex)
124 {
125 dateTimeParametersJsonList[dateTimeParametersIndex].AsObject(m_dateTimeParameters[dateTimeParametersIndex].Jsonize());
126 }
127 payload.WithArray("DateTimeParameters", std::move(dateTimeParametersJsonList));
128
129 }
130
131 return payload;
132 }
133
134 } // namespace Model
135 } // namespace QuickSight
136 } // namespace Aws
137