1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/pinpoint/Pinpoint_EXPORTS.h> 8 #include <aws/pinpoint/model/EventCondition.h> 9 #include <aws/pinpoint/model/SegmentCondition.h> 10 #include <aws/pinpoint/model/SegmentDimensions.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace Pinpoint 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Specifies a condition to evaluate for an activity in a journey.</p><p><h3>See 30 * Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SimpleCondition">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_PINPOINT_API SimpleCondition 35 { 36 public: 37 SimpleCondition(); 38 SimpleCondition(Aws::Utils::Json::JsonView jsonValue); 39 SimpleCondition& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The dimension settings for the event that's associated with the activity.</p> 45 */ GetEventCondition()46 inline const EventCondition& GetEventCondition() const{ return m_eventCondition; } 47 48 /** 49 * <p>The dimension settings for the event that's associated with the activity.</p> 50 */ EventConditionHasBeenSet()51 inline bool EventConditionHasBeenSet() const { return m_eventConditionHasBeenSet; } 52 53 /** 54 * <p>The dimension settings for the event that's associated with the activity.</p> 55 */ SetEventCondition(const EventCondition & value)56 inline void SetEventCondition(const EventCondition& value) { m_eventConditionHasBeenSet = true; m_eventCondition = value; } 57 58 /** 59 * <p>The dimension settings for the event that's associated with the activity.</p> 60 */ SetEventCondition(EventCondition && value)61 inline void SetEventCondition(EventCondition&& value) { m_eventConditionHasBeenSet = true; m_eventCondition = std::move(value); } 62 63 /** 64 * <p>The dimension settings for the event that's associated with the activity.</p> 65 */ WithEventCondition(const EventCondition & value)66 inline SimpleCondition& WithEventCondition(const EventCondition& value) { SetEventCondition(value); return *this;} 67 68 /** 69 * <p>The dimension settings for the event that's associated with the activity.</p> 70 */ WithEventCondition(EventCondition && value)71 inline SimpleCondition& WithEventCondition(EventCondition&& value) { SetEventCondition(std::move(value)); return *this;} 72 73 74 /** 75 * <p>The segment that's associated with the activity.</p> 76 */ GetSegmentCondition()77 inline const SegmentCondition& GetSegmentCondition() const{ return m_segmentCondition; } 78 79 /** 80 * <p>The segment that's associated with the activity.</p> 81 */ SegmentConditionHasBeenSet()82 inline bool SegmentConditionHasBeenSet() const { return m_segmentConditionHasBeenSet; } 83 84 /** 85 * <p>The segment that's associated with the activity.</p> 86 */ SetSegmentCondition(const SegmentCondition & value)87 inline void SetSegmentCondition(const SegmentCondition& value) { m_segmentConditionHasBeenSet = true; m_segmentCondition = value; } 88 89 /** 90 * <p>The segment that's associated with the activity.</p> 91 */ SetSegmentCondition(SegmentCondition && value)92 inline void SetSegmentCondition(SegmentCondition&& value) { m_segmentConditionHasBeenSet = true; m_segmentCondition = std::move(value); } 93 94 /** 95 * <p>The segment that's associated with the activity.</p> 96 */ WithSegmentCondition(const SegmentCondition & value)97 inline SimpleCondition& WithSegmentCondition(const SegmentCondition& value) { SetSegmentCondition(value); return *this;} 98 99 /** 100 * <p>The segment that's associated with the activity.</p> 101 */ WithSegmentCondition(SegmentCondition && value)102 inline SimpleCondition& WithSegmentCondition(SegmentCondition&& value) { SetSegmentCondition(std::move(value)); return *this;} 103 104 105 /** 106 * <p>The dimension settings for the segment that's associated with the 107 * activity.</p> 108 */ GetSegmentDimensions()109 inline const SegmentDimensions& GetSegmentDimensions() const{ return m_segmentDimensions; } 110 111 /** 112 * <p>The dimension settings for the segment that's associated with the 113 * activity.</p> 114 */ SegmentDimensionsHasBeenSet()115 inline bool SegmentDimensionsHasBeenSet() const { return m_segmentDimensionsHasBeenSet; } 116 117 /** 118 * <p>The dimension settings for the segment that's associated with the 119 * activity.</p> 120 */ SetSegmentDimensions(const SegmentDimensions & value)121 inline void SetSegmentDimensions(const SegmentDimensions& value) { m_segmentDimensionsHasBeenSet = true; m_segmentDimensions = value; } 122 123 /** 124 * <p>The dimension settings for the segment that's associated with the 125 * activity.</p> 126 */ SetSegmentDimensions(SegmentDimensions && value)127 inline void SetSegmentDimensions(SegmentDimensions&& value) { m_segmentDimensionsHasBeenSet = true; m_segmentDimensions = std::move(value); } 128 129 /** 130 * <p>The dimension settings for the segment that's associated with the 131 * activity.</p> 132 */ WithSegmentDimensions(const SegmentDimensions & value)133 inline SimpleCondition& WithSegmentDimensions(const SegmentDimensions& value) { SetSegmentDimensions(value); return *this;} 134 135 /** 136 * <p>The dimension settings for the segment that's associated with the 137 * activity.</p> 138 */ WithSegmentDimensions(SegmentDimensions && value)139 inline SimpleCondition& WithSegmentDimensions(SegmentDimensions&& value) { SetSegmentDimensions(std::move(value)); return *this;} 140 141 private: 142 143 EventCondition m_eventCondition; 144 bool m_eventConditionHasBeenSet; 145 146 SegmentCondition m_segmentCondition; 147 bool m_segmentConditionHasBeenSet; 148 149 SegmentDimensions m_segmentDimensions; 150 bool m_segmentDimensionsHasBeenSet; 151 }; 152 153 } // namespace Model 154 } // namespace Pinpoint 155 } // namespace Aws 156