/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Specifies dimension settings for including or excluding endpoints from a * segment based on how recently an endpoint was active.

See Also:

* AWS * API Reference

*/ class SegmentBehaviors { public: AWS_PINPOINT_API SegmentBehaviors(); AWS_PINPOINT_API SegmentBehaviors(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API SegmentBehaviors& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The dimension settings that are based on how recently an endpoint was * active.

*/ inline const RecencyDimension& GetRecency() const{ return m_recency; } /** *

The dimension settings that are based on how recently an endpoint was * active.

*/ inline bool RecencyHasBeenSet() const { return m_recencyHasBeenSet; } /** *

The dimension settings that are based on how recently an endpoint was * active.

*/ inline void SetRecency(const RecencyDimension& value) { m_recencyHasBeenSet = true; m_recency = value; } /** *

The dimension settings that are based on how recently an endpoint was * active.

*/ inline void SetRecency(RecencyDimension&& value) { m_recencyHasBeenSet = true; m_recency = std::move(value); } /** *

The dimension settings that are based on how recently an endpoint was * active.

*/ inline SegmentBehaviors& WithRecency(const RecencyDimension& value) { SetRecency(value); return *this;} /** *

The dimension settings that are based on how recently an endpoint was * active.

*/ inline SegmentBehaviors& WithRecency(RecencyDimension&& value) { SetRecency(std::move(value)); return *this;} private: RecencyDimension m_recency; bool m_recencyHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws