/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.pinpoint.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Specifies the dimension settings for a segment. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SegmentDimensions implements Serializable, Cloneable, StructuredPojo { /** ** One or more custom attributes to use as criteria for the segment. *
*/ private java.util.Map* The behavior-based criteria, such as how recently users have used your app, for the segment. *
*/ private SegmentBehaviors behavior; /** ** The demographic-based criteria, such as device platform, for the segment. *
*/ private SegmentDemographics demographic; /** ** The location-based criteria, such as region or GPS coordinates, for the segment. *
*/ private SegmentLocation location; /** ** One or more custom metrics to use as criteria for the segment. *
*/ private java.util.Map* One or more custom user attributes to use as criteria for the segment. *
*/ private java.util.Map* One or more custom attributes to use as criteria for the segment. *
* * @return One or more custom attributes to use as criteria for the segment. */ public java.util.Map* One or more custom attributes to use as criteria for the segment. *
* * @param attributes * One or more custom attributes to use as criteria for the segment. */ public void setAttributes(java.util.Map* One or more custom attributes to use as criteria for the segment. *
* * @param attributes * One or more custom attributes to use as criteria for the segment. * @return Returns a reference to this object so that method calls can be chained together. */ public SegmentDimensions withAttributes(java.util.Map* The behavior-based criteria, such as how recently users have used your app, for the segment. *
* * @param behavior * The behavior-based criteria, such as how recently users have used your app, for the segment. */ public void setBehavior(SegmentBehaviors behavior) { this.behavior = behavior; } /** ** The behavior-based criteria, such as how recently users have used your app, for the segment. *
* * @return The behavior-based criteria, such as how recently users have used your app, for the segment. */ public SegmentBehaviors getBehavior() { return this.behavior; } /** ** The behavior-based criteria, such as how recently users have used your app, for the segment. *
* * @param behavior * The behavior-based criteria, such as how recently users have used your app, for the segment. * @return Returns a reference to this object so that method calls can be chained together. */ public SegmentDimensions withBehavior(SegmentBehaviors behavior) { setBehavior(behavior); return this; } /** ** The demographic-based criteria, such as device platform, for the segment. *
* * @param demographic * The demographic-based criteria, such as device platform, for the segment. */ public void setDemographic(SegmentDemographics demographic) { this.demographic = demographic; } /** ** The demographic-based criteria, such as device platform, for the segment. *
* * @return The demographic-based criteria, such as device platform, for the segment. */ public SegmentDemographics getDemographic() { return this.demographic; } /** ** The demographic-based criteria, such as device platform, for the segment. *
* * @param demographic * The demographic-based criteria, such as device platform, for the segment. * @return Returns a reference to this object so that method calls can be chained together. */ public SegmentDimensions withDemographic(SegmentDemographics demographic) { setDemographic(demographic); return this; } /** ** The location-based criteria, such as region or GPS coordinates, for the segment. *
* * @param location * The location-based criteria, such as region or GPS coordinates, for the segment. */ public void setLocation(SegmentLocation location) { this.location = location; } /** ** The location-based criteria, such as region or GPS coordinates, for the segment. *
* * @return The location-based criteria, such as region or GPS coordinates, for the segment. */ public SegmentLocation getLocation() { return this.location; } /** ** The location-based criteria, such as region or GPS coordinates, for the segment. *
* * @param location * The location-based criteria, such as region or GPS coordinates, for the segment. * @return Returns a reference to this object so that method calls can be chained together. */ public SegmentDimensions withLocation(SegmentLocation location) { setLocation(location); return this; } /** ** One or more custom metrics to use as criteria for the segment. *
* * @return One or more custom metrics to use as criteria for the segment. */ public java.util.Map* One or more custom metrics to use as criteria for the segment. *
* * @param metrics * One or more custom metrics to use as criteria for the segment. */ public void setMetrics(java.util.Map* One or more custom metrics to use as criteria for the segment. *
* * @param metrics * One or more custom metrics to use as criteria for the segment. * @return Returns a reference to this object so that method calls can be chained together. */ public SegmentDimensions withMetrics(java.util.Map* One or more custom user attributes to use as criteria for the segment. *
* * @return One or more custom user attributes to use as criteria for the segment. */ public java.util.Map* One or more custom user attributes to use as criteria for the segment. *
* * @param userAttributes * One or more custom user attributes to use as criteria for the segment. */ public void setUserAttributes(java.util.Map* One or more custom user attributes to use as criteria for the segment. *
* * @param userAttributes * One or more custom user attributes to use as criteria for the segment. * @return Returns a reference to this object so that method calls can be chained together. */ public SegmentDimensions withUserAttributes(java.util.Map