1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #include <aws/forecast/model/ParameterRanges.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 ForecastService 17 { 18 namespace Model 19 { 20 ParameterRanges()21ParameterRanges::ParameterRanges() : 22 m_categoricalParameterRangesHasBeenSet(false), 23 m_continuousParameterRangesHasBeenSet(false), 24 m_integerParameterRangesHasBeenSet(false) 25 { 26 } 27 ParameterRanges(JsonView jsonValue)28ParameterRanges::ParameterRanges(JsonView jsonValue) : 29 m_categoricalParameterRangesHasBeenSet(false), 30 m_continuousParameterRangesHasBeenSet(false), 31 m_integerParameterRangesHasBeenSet(false) 32 { 33 *this = jsonValue; 34 } 35 operator =(JsonView jsonValue)36ParameterRanges& ParameterRanges::operator =(JsonView jsonValue) 37 { 38 if(jsonValue.ValueExists("CategoricalParameterRanges")) 39 { 40 Array<JsonView> categoricalParameterRangesJsonList = jsonValue.GetArray("CategoricalParameterRanges"); 41 for(unsigned categoricalParameterRangesIndex = 0; categoricalParameterRangesIndex < categoricalParameterRangesJsonList.GetLength(); ++categoricalParameterRangesIndex) 42 { 43 m_categoricalParameterRanges.push_back(categoricalParameterRangesJsonList[categoricalParameterRangesIndex].AsObject()); 44 } 45 m_categoricalParameterRangesHasBeenSet = true; 46 } 47 48 if(jsonValue.ValueExists("ContinuousParameterRanges")) 49 { 50 Array<JsonView> continuousParameterRangesJsonList = jsonValue.GetArray("ContinuousParameterRanges"); 51 for(unsigned continuousParameterRangesIndex = 0; continuousParameterRangesIndex < continuousParameterRangesJsonList.GetLength(); ++continuousParameterRangesIndex) 52 { 53 m_continuousParameterRanges.push_back(continuousParameterRangesJsonList[continuousParameterRangesIndex].AsObject()); 54 } 55 m_continuousParameterRangesHasBeenSet = true; 56 } 57 58 if(jsonValue.ValueExists("IntegerParameterRanges")) 59 { 60 Array<JsonView> integerParameterRangesJsonList = jsonValue.GetArray("IntegerParameterRanges"); 61 for(unsigned integerParameterRangesIndex = 0; integerParameterRangesIndex < integerParameterRangesJsonList.GetLength(); ++integerParameterRangesIndex) 62 { 63 m_integerParameterRanges.push_back(integerParameterRangesJsonList[integerParameterRangesIndex].AsObject()); 64 } 65 m_integerParameterRangesHasBeenSet = true; 66 } 67 68 return *this; 69 } 70 Jsonize() const71JsonValue ParameterRanges::Jsonize() const 72 { 73 JsonValue payload; 74 75 if(m_categoricalParameterRangesHasBeenSet) 76 { 77 Array<JsonValue> categoricalParameterRangesJsonList(m_categoricalParameterRanges.size()); 78 for(unsigned categoricalParameterRangesIndex = 0; categoricalParameterRangesIndex < categoricalParameterRangesJsonList.GetLength(); ++categoricalParameterRangesIndex) 79 { 80 categoricalParameterRangesJsonList[categoricalParameterRangesIndex].AsObject(m_categoricalParameterRanges[categoricalParameterRangesIndex].Jsonize()); 81 } 82 payload.WithArray("CategoricalParameterRanges", std::move(categoricalParameterRangesJsonList)); 83 84 } 85 86 if(m_continuousParameterRangesHasBeenSet) 87 { 88 Array<JsonValue> continuousParameterRangesJsonList(m_continuousParameterRanges.size()); 89 for(unsigned continuousParameterRangesIndex = 0; continuousParameterRangesIndex < continuousParameterRangesJsonList.GetLength(); ++continuousParameterRangesIndex) 90 { 91 continuousParameterRangesJsonList[continuousParameterRangesIndex].AsObject(m_continuousParameterRanges[continuousParameterRangesIndex].Jsonize()); 92 } 93 payload.WithArray("ContinuousParameterRanges", std::move(continuousParameterRangesJsonList)); 94 95 } 96 97 if(m_integerParameterRangesHasBeenSet) 98 { 99 Array<JsonValue> integerParameterRangesJsonList(m_integerParameterRanges.size()); 100 for(unsigned integerParameterRangesIndex = 0; integerParameterRangesIndex < integerParameterRangesJsonList.GetLength(); ++integerParameterRangesIndex) 101 { 102 integerParameterRangesJsonList[integerParameterRangesIndex].AsObject(m_integerParameterRanges[integerParameterRangesIndex].Jsonize()); 103 } 104 payload.WithArray("IntegerParameterRanges", std::move(integerParameterRangesJsonList)); 105 106 } 107 108 return payload; 109 } 110 111 } // namespace Model 112 } // namespace ForecastService 113 } // namespace Aws 114