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/RecencyDimension.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace Pinpoint 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Specifies dimension settings for including or excluding endpoints from a 28 * segment based on how recently an endpoint was active.</p><p><h3>See Also:</h3> 29 * <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentBehaviors">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_PINPOINT_API SegmentBehaviors 34 { 35 public: 36 SegmentBehaviors(); 37 SegmentBehaviors(Aws::Utils::Json::JsonView jsonValue); 38 SegmentBehaviors& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The dimension settings that are based on how recently an endpoint was 44 * active.</p> 45 */ GetRecency()46 inline const RecencyDimension& GetRecency() const{ return m_recency; } 47 48 /** 49 * <p>The dimension settings that are based on how recently an endpoint was 50 * active.</p> 51 */ RecencyHasBeenSet()52 inline bool RecencyHasBeenSet() const { return m_recencyHasBeenSet; } 53 54 /** 55 * <p>The dimension settings that are based on how recently an endpoint was 56 * active.</p> 57 */ SetRecency(const RecencyDimension & value)58 inline void SetRecency(const RecencyDimension& value) { m_recencyHasBeenSet = true; m_recency = value; } 59 60 /** 61 * <p>The dimension settings that are based on how recently an endpoint was 62 * active.</p> 63 */ SetRecency(RecencyDimension && value)64 inline void SetRecency(RecencyDimension&& value) { m_recencyHasBeenSet = true; m_recency = std::move(value); } 65 66 /** 67 * <p>The dimension settings that are based on how recently an endpoint was 68 * active.</p> 69 */ WithRecency(const RecencyDimension & value)70 inline SegmentBehaviors& WithRecency(const RecencyDimension& value) { SetRecency(value); return *this;} 71 72 /** 73 * <p>The dimension settings that are based on how recently an endpoint was 74 * active.</p> 75 */ WithRecency(RecencyDimension && value)76 inline SegmentBehaviors& WithRecency(RecencyDimension&& value) { SetRecency(std::move(value)); return *this;} 77 78 private: 79 80 RecencyDimension m_recency; 81 bool m_recencyHasBeenSet; 82 }; 83 84 } // namespace Model 85 } // namespace Pinpoint 86 } // namespace Aws 87