/* * 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 base segments and dimensions for a segment, and the relationships between these base segments and * dimensions. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SegmentGroup implements Serializable, Cloneable, StructuredPojo { /** ** An array that defines the dimensions for the segment. *
*/ private java.util.List* The base segment to build the segment on. A base segment, also referred to as a source segment, defines * the initial population of endpoints for a segment. When you add dimensions to a segment, Amazon Pinpoint filters * the base segment by using the dimensions that you specify. *
** You can specify more than one dimensional segment or only one imported segment. If you specify an imported * segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the imported * segment without any filters applied to it. *
*/ private java.util.List* Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments * for the segment, whether the resulting segment is based on all, any, or none of the base segments. *
*/ private String sourceType; /** ** Specifies how to handle multiple dimensions for the segment. For example, if you specify three dimensions for the * segment, whether the resulting segment includes endpoints that match all, any, or none of the dimensions. *
*/ private String type; /** ** An array that defines the dimensions for the segment. *
* * @return An array that defines the dimensions for the segment. */ public java.util.List* An array that defines the dimensions for the segment. *
* * @param dimensions * An array that defines the dimensions for the segment. */ public void setDimensions(java.util.Collection* An array that defines the dimensions for the segment. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setDimensions(java.util.Collection)} or {@link #withDimensions(java.util.Collection)} if you want to * override the existing values. *
* * @param dimensions * An array that defines the dimensions for the segment. * @return Returns a reference to this object so that method calls can be chained together. */ public SegmentGroup withDimensions(SegmentDimensions... dimensions) { if (this.dimensions == null) { setDimensions(new java.util.ArrayList* An array that defines the dimensions for the segment. *
* * @param dimensions * An array that defines the dimensions for the segment. * @return Returns a reference to this object so that method calls can be chained together. */ public SegmentGroup withDimensions(java.util.Collection* The base segment to build the segment on. A base segment, also referred to as a source segment, defines * the initial population of endpoints for a segment. When you add dimensions to a segment, Amazon Pinpoint filters * the base segment by using the dimensions that you specify. *
** You can specify more than one dimensional segment or only one imported segment. If you specify an imported * segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the imported * segment without any filters applied to it. *
* * @return The base segment to build the segment on. A base segment, also referred to as a source segment, * defines the initial population of endpoints for a segment. When you add dimensions to a segment, Amazon * Pinpoint filters the base segment by using the dimensions that you specify. *
* You can specify more than one dimensional segment or only one imported segment. If you specify an
* imported segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of
* the imported segment without any filters applied to it.
*/
public java.util.List
* The base segment to build the segment on. A base segment, also referred to as a source segment, defines
* the initial population of endpoints for a segment. When you add dimensions to a segment, Amazon Pinpoint filters
* the base segment by using the dimensions that you specify.
*
* You can specify more than one dimensional segment or only one imported segment. If you specify an imported
* segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the imported
* segment without any filters applied to it.
*
* You can specify more than one dimensional segment or only one imported segment. If you specify an imported
* segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the
* imported segment without any filters applied to it.
*/
public void setSourceSegments(java.util.Collection
* The base segment to build the segment on. A base segment, also referred to as a source segment, defines
* the initial population of endpoints for a segment. When you add dimensions to a segment, Amazon Pinpoint filters
* the base segment by using the dimensions that you specify.
*
* You can specify more than one dimensional segment or only one imported segment. If you specify an imported
* segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the imported
* segment without any filters applied to it.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSourceSegments(java.util.Collection)} or {@link #withSourceSegments(java.util.Collection)} if you want
* to override the existing values.
*
* You can specify more than one dimensional segment or only one imported segment. If you specify an imported
* segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the
* imported segment without any filters applied to it.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SegmentGroup withSourceSegments(SegmentReference... sourceSegments) {
if (this.sourceSegments == null) {
setSourceSegments(new java.util.ArrayList
* The base segment to build the segment on. A base segment, also referred to as a source segment, defines
* the initial population of endpoints for a segment. When you add dimensions to a segment, Amazon Pinpoint filters
* the base segment by using the dimensions that you specify.
*
* You can specify more than one dimensional segment or only one imported segment. If you specify an imported
* segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the imported
* segment without any filters applied to it.
*
* You can specify more than one dimensional segment or only one imported segment. If you specify an imported
* segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the
* imported segment without any filters applied to it.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SegmentGroup withSourceSegments(java.util.Collection
* Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments
* for the segment, whether the resulting segment is based on all, any, or none of the base segments.
*
* Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments
* for the segment, whether the resulting segment is based on all, any, or none of the base segments.
*
* Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments
* for the segment, whether the resulting segment is based on all, any, or none of the base segments.
*
* Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments
* for the segment, whether the resulting segment is based on all, any, or none of the base segments.
*
* Specifies how to handle multiple dimensions for the segment. For example, if you specify three dimensions for the
* segment, whether the resulting segment includes endpoints that match all, any, or none of the dimensions.
*
* Specifies how to handle multiple dimensions for the segment. For example, if you specify three dimensions for the
* segment, whether the resulting segment includes endpoints that match all, any, or none of the dimensions.
*
* Specifies how to handle multiple dimensions for the segment. For example, if you specify three dimensions for the
* segment, whether the resulting segment includes endpoints that match all, any, or none of the dimensions.
*
* Specifies how to handle multiple dimensions for the segment. For example, if you specify three dimensions for the
* segment, whether the resulting segment includes endpoints that match all, any, or none of the dimensions.
*