Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
software.amazon.awssdk.services.pinpoint.model.SegmentResponse Maven / Gradle / Ivy
Go to download
The AWS Java SDK for Amazon Pinpoint module holds the client classes that are used for communicating
with Amazon Pinpoint Service
/*
* Copyright 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 software.amazon.awssdk.services.pinpoint.model;
import java.beans.Transient;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
* Provides information about the configuration, dimension, and other settings for a segment.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class SegmentResponse implements SdkPojo, Serializable, ToCopyableBuilder {
private static final SdkField APPLICATION_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ApplicationId").getter(getter(SegmentResponse::applicationId)).setter(setter(Builder::applicationId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ApplicationId").build()).build();
private static final SdkField ARN_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Arn")
.getter(getter(SegmentResponse::arn)).setter(setter(Builder::arn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Arn").build()).build();
private static final SdkField CREATION_DATE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CreationDate").getter(getter(SegmentResponse::creationDate)).setter(setter(Builder::creationDate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CreationDate").build()).build();
private static final SdkField DIMENSIONS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("Dimensions")
.getter(getter(SegmentResponse::dimensions)).setter(setter(Builder::dimensions))
.constructor(SegmentDimensions::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Dimensions").build()).build();
private static final SdkField ID_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Id")
.getter(getter(SegmentResponse::id)).setter(setter(Builder::id))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Id").build()).build();
private static final SdkField IMPORT_DEFINITION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("ImportDefinition")
.getter(getter(SegmentResponse::importDefinition)).setter(setter(Builder::importDefinition))
.constructor(SegmentImportResource::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ImportDefinition").build()).build();
private static final SdkField LAST_MODIFIED_DATE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("LastModifiedDate").getter(getter(SegmentResponse::lastModifiedDate))
.setter(setter(Builder::lastModifiedDate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LastModifiedDate").build()).build();
private static final SdkField NAME_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Name")
.getter(getter(SegmentResponse::name)).setter(setter(Builder::name))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Name").build()).build();
private static final SdkField SEGMENT_GROUPS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("SegmentGroups")
.getter(getter(SegmentResponse::segmentGroups)).setter(setter(Builder::segmentGroups))
.constructor(SegmentGroupList::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SegmentGroups").build()).build();
private static final SdkField SEGMENT_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SegmentType").getter(getter(SegmentResponse::segmentTypeAsString)).setter(setter(Builder::segmentType))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SegmentType").build()).build();
private static final SdkField> TAGS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("tags")
.getter(getter(SegmentResponse::tags))
.setter(setter(Builder::tags))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("tags").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final SdkField VERSION_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("Version").getter(getter(SegmentResponse::version)).setter(setter(Builder::version))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Version").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(APPLICATION_ID_FIELD,
ARN_FIELD, CREATION_DATE_FIELD, DIMENSIONS_FIELD, ID_FIELD, IMPORT_DEFINITION_FIELD, LAST_MODIFIED_DATE_FIELD,
NAME_FIELD, SEGMENT_GROUPS_FIELD, SEGMENT_TYPE_FIELD, TAGS_FIELD, VERSION_FIELD));
private static final long serialVersionUID = 1L;
private final String applicationId;
private final String arn;
private final String creationDate;
private final SegmentDimensions dimensions;
private final String id;
private final SegmentImportResource importDefinition;
private final String lastModifiedDate;
private final String name;
private final SegmentGroupList segmentGroups;
private final String segmentType;
private final Map tags;
private final Integer version;
private SegmentResponse(BuilderImpl builder) {
this.applicationId = builder.applicationId;
this.arn = builder.arn;
this.creationDate = builder.creationDate;
this.dimensions = builder.dimensions;
this.id = builder.id;
this.importDefinition = builder.importDefinition;
this.lastModifiedDate = builder.lastModifiedDate;
this.name = builder.name;
this.segmentGroups = builder.segmentGroups;
this.segmentType = builder.segmentType;
this.tags = builder.tags;
this.version = builder.version;
}
/**
*
* The unique identifier for the application that the segment is associated with.
*
*
* @return The unique identifier for the application that the segment is associated with.
*/
public final String applicationId() {
return applicationId;
}
/**
*
* The Amazon Resource Name (ARN) of the segment.
*
*
* @return The Amazon Resource Name (ARN) of the segment.
*/
public final String arn() {
return arn;
}
/**
*
* The date and time when the segment was created.
*
*
* @return The date and time when the segment was created.
*/
public final String creationDate() {
return creationDate;
}
/**
*
* The dimension settings for the segment.
*
*
* @return The dimension settings for the segment.
*/
public final SegmentDimensions dimensions() {
return dimensions;
}
/**
*
* The unique identifier for the segment.
*
*
* @return The unique identifier for the segment.
*/
public final String id() {
return id;
}
/**
*
* The settings for the import job that's associated with the segment.
*
*
* @return The settings for the import job that's associated with the segment.
*/
public final SegmentImportResource importDefinition() {
return importDefinition;
}
/**
*
* The date and time when the segment was last modified.
*
*
* @return The date and time when the segment was last modified.
*/
public final String lastModifiedDate() {
return lastModifiedDate;
}
/**
*
* The name of the segment.
*
*
* @return The name of the segment.
*/
public final String name() {
return name;
}
/**
*
* A list of one or more segment groups that apply to the segment. Each segment group consists of zero or more base
* segments and the dimensions that are applied to those base segments.
*
*
* @return A list of one or more segment groups that apply to the segment. Each segment group consists of zero or
* more base segments and the dimensions that are applied to those base segments.
*/
public final SegmentGroupList segmentGroups() {
return segmentGroups;
}
/**
*
* The segment type. Valid values are:
*
*
*
*
* DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is based on
* endpoint data that's reported by your app. Dynamic segments can change over time.
*
*
*
*
* IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based on
* endpoint definitions that you they don't change over time.
*
*
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #segmentType} will
* return {@link SegmentType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #segmentTypeAsString}.
*
*
* @return The segment type. Valid values are:
*
*
*
* DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is
* based on endpoint data that's reported by your app. Dynamic segments can change over time.
*
*
*
*
* IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based
* on endpoint definitions that you import from a file. Imported segments are static; they don't change over
* time.
*
*
* @see SegmentType
*/
public final SegmentType segmentType() {
return SegmentType.fromValue(segmentType);
}
/**
*
* The segment type. Valid values are:
*
*
*
*
* DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is based on
* endpoint data that's reported by your app. Dynamic segments can change over time.
*
*
*
*
* IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based on
* endpoint definitions that you import from a file. Imported segments are static; they don't change over time.
*
*
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #segmentType} will
* return {@link SegmentType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #segmentTypeAsString}.
*
*
* @return The segment type. Valid values are:
*
*
*
* DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is
* based on endpoint data that's reported by your app. Dynamic segments can change over time.
*
*
*
*
* IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based
* on endpoint definitions that you import from a file. Imported segments are static; they don't change over
* time.
*
*
* @see SegmentType
*/
public final String segmentTypeAsString() {
return segmentType;
}
/**
* For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that
* the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is useful
* because the SDK will never return a null collection or map, but you may need to differentiate between the service
* returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true
* if a value for the property was specified in the request builder, and false if a value was not specified.
*/
public final boolean hasTags() {
return tags != null && !(tags instanceof SdkAutoConstructMap);
}
/**
*
* A string-to-string map of key-value pairs that identifies the tags that are associated with the segment. Each tag
* consists of a required tag key and an associated tag value.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasTags} method.
*
*
* @return A string-to-string map of key-value pairs that identifies the tags that are associated with the segment.
* Each tag consists of a required tag key and an associated tag value.
*/
public final Map tags() {
return tags;
}
/**
*
* The version number of the segment.
*
*
* @return The version number of the segment.
*/
public final Integer version() {
return version;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + Objects.hashCode(applicationId());
hashCode = 31 * hashCode + Objects.hashCode(arn());
hashCode = 31 * hashCode + Objects.hashCode(creationDate());
hashCode = 31 * hashCode + Objects.hashCode(dimensions());
hashCode = 31 * hashCode + Objects.hashCode(id());
hashCode = 31 * hashCode + Objects.hashCode(importDefinition());
hashCode = 31 * hashCode + Objects.hashCode(lastModifiedDate());
hashCode = 31 * hashCode + Objects.hashCode(name());
hashCode = 31 * hashCode + Objects.hashCode(segmentGroups());
hashCode = 31 * hashCode + Objects.hashCode(segmentTypeAsString());
hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null);
hashCode = 31 * hashCode + Objects.hashCode(version());
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof SegmentResponse)) {
return false;
}
SegmentResponse other = (SegmentResponse) obj;
return Objects.equals(applicationId(), other.applicationId()) && Objects.equals(arn(), other.arn())
&& Objects.equals(creationDate(), other.creationDate()) && Objects.equals(dimensions(), other.dimensions())
&& Objects.equals(id(), other.id()) && Objects.equals(importDefinition(), other.importDefinition())
&& Objects.equals(lastModifiedDate(), other.lastModifiedDate()) && Objects.equals(name(), other.name())
&& Objects.equals(segmentGroups(), other.segmentGroups())
&& Objects.equals(segmentTypeAsString(), other.segmentTypeAsString()) && hasTags() == other.hasTags()
&& Objects.equals(tags(), other.tags()) && Objects.equals(version(), other.version());
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*/
@Override
public final String toString() {
return ToString.builder("SegmentResponse").add("ApplicationId", applicationId()).add("Arn", arn())
.add("CreationDate", creationDate()).add("Dimensions", dimensions()).add("Id", id())
.add("ImportDefinition", importDefinition()).add("LastModifiedDate", lastModifiedDate()).add("Name", name())
.add("SegmentGroups", segmentGroups()).add("SegmentType", segmentTypeAsString())
.add("Tags", hasTags() ? tags() : null).add("Version", version()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "ApplicationId":
return Optional.ofNullable(clazz.cast(applicationId()));
case "Arn":
return Optional.ofNullable(clazz.cast(arn()));
case "CreationDate":
return Optional.ofNullable(clazz.cast(creationDate()));
case "Dimensions":
return Optional.ofNullable(clazz.cast(dimensions()));
case "Id":
return Optional.ofNullable(clazz.cast(id()));
case "ImportDefinition":
return Optional.ofNullable(clazz.cast(importDefinition()));
case "LastModifiedDate":
return Optional.ofNullable(clazz.cast(lastModifiedDate()));
case "Name":
return Optional.ofNullable(clazz.cast(name()));
case "SegmentGroups":
return Optional.ofNullable(clazz.cast(segmentGroups()));
case "SegmentType":
return Optional.ofNullable(clazz.cast(segmentTypeAsString()));
case "tags":
return Optional.ofNullable(clazz.cast(tags()));
case "Version":
return Optional.ofNullable(clazz.cast(version()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((SegmentResponse) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends SdkPojo, CopyableBuilder {
/**
*
* The unique identifier for the application that the segment is associated with.
*
*
* @param applicationId
* The unique identifier for the application that the segment is associated with.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder applicationId(String applicationId);
/**
*
* The Amazon Resource Name (ARN) of the segment.
*
*
* @param arn
* The Amazon Resource Name (ARN) of the segment.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder arn(String arn);
/**
*
* The date and time when the segment was created.
*
*
* @param creationDate
* The date and time when the segment was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder creationDate(String creationDate);
/**
*
* The dimension settings for the segment.
*
*
* @param dimensions
* The dimension settings for the segment.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dimensions(SegmentDimensions dimensions);
/**
*
* The dimension settings for the segment.
*
* This is a convenience that creates an instance of the {@link SegmentDimensions.Builder} avoiding the need to
* create one manually via {@link SegmentDimensions#builder()}.
*
* When the {@link Consumer} completes, {@link SegmentDimensions.Builder#build()} is called immediately and its
* result is passed to {@link #dimensions(SegmentDimensions)}.
*
* @param dimensions
* a consumer that will call methods on {@link SegmentDimensions.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #dimensions(SegmentDimensions)
*/
default Builder dimensions(Consumer dimensions) {
return dimensions(SegmentDimensions.builder().applyMutation(dimensions).build());
}
/**
*
* The unique identifier for the segment.
*
*
* @param id
* The unique identifier for the segment.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder id(String id);
/**
*
* The settings for the import job that's associated with the segment.
*
*
* @param importDefinition
* The settings for the import job that's associated with the segment.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder importDefinition(SegmentImportResource importDefinition);
/**
*
* The settings for the import job that's associated with the segment.
*
* This is a convenience that creates an instance of the {@link SegmentImportResource.Builder} avoiding the need
* to create one manually via {@link SegmentImportResource#builder()}.
*
* When the {@link Consumer} completes, {@link SegmentImportResource.Builder#build()} is called immediately and
* its result is passed to {@link #importDefinition(SegmentImportResource)}.
*
* @param importDefinition
* a consumer that will call methods on {@link SegmentImportResource.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #importDefinition(SegmentImportResource)
*/
default Builder importDefinition(Consumer importDefinition) {
return importDefinition(SegmentImportResource.builder().applyMutation(importDefinition).build());
}
/**
*
* The date and time when the segment was last modified.
*
*
* @param lastModifiedDate
* The date and time when the segment was last modified.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder lastModifiedDate(String lastModifiedDate);
/**
*
* The name of the segment.
*
*
* @param name
* The name of the segment.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder name(String name);
/**
*
* A list of one or more segment groups that apply to the segment. Each segment group consists of zero or more
* base segments and the dimensions that are applied to those base segments.
*
*
* @param segmentGroups
* A list of one or more segment groups that apply to the segment. Each segment group consists of zero or
* more base segments and the dimensions that are applied to those base segments.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder segmentGroups(SegmentGroupList segmentGroups);
/**
*
* A list of one or more segment groups that apply to the segment. Each segment group consists of zero or more
* base segments and the dimensions that are applied to those base segments.
*
* This is a convenience that creates an instance of the {@link SegmentGroupList.Builder} avoiding the need to
* create one manually via {@link SegmentGroupList#builder()}.
*
* When the {@link Consumer} completes, {@link SegmentGroupList.Builder#build()} is called immediately and its
* result is passed to {@link #segmentGroups(SegmentGroupList)}.
*
* @param segmentGroups
* a consumer that will call methods on {@link SegmentGroupList.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #segmentGroups(SegmentGroupList)
*/
default Builder segmentGroups(Consumer segmentGroups) {
return segmentGroups(SegmentGroupList.builder().applyMutation(segmentGroups).build());
}
/**
*
* The segment type. Valid values are:
*
*
*
*
* DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is
* based on endpoint data that's reported by your app. Dynamic segments can change over time.
*
*
*
*
* IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based on
* endpoint definitions that you import from a file. Imported segments are static; they don't change over time.
*
*
*
*
* @param segmentType
* The segment type. Valid values are:
*
*
*
* DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and
* is based on endpoint data that's reported by your app. Dynamic segments can change over time.
*
*
*
*
* IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is
* based on endpoint definitions that you import from a file. Imported segments are static; they don't
* change over time.
*
*
* @see SegmentType
* @return Returns a reference to this object so that method calls can be chained together.
* @see SegmentType
*/
Builder segmentType(String segmentType);
/**
*
* The segment type. Valid values are:
*
*
*
*
* DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is
* based on endpoint data that's reported by your app. Dynamic segments can change over time.
*
*
*
*
* IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based on
* endpoint definitions that you import from a file. Imported segments are static; they don't change over time.
*
*
*
*
* @param segmentType
* The segment type. Valid values are:
*
*
*
* DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and
* is based on endpoint data that's reported by your app. Dynamic segments can change over time.
*
*
*
*
* IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is
* based on endpoint definitions that you import from a file. Imported segments are static; they don't
* change over time.
*
*
* @see SegmentType
* @return Returns a reference to this object so that method calls can be chained together.
* @see SegmentType
*/
Builder segmentType(SegmentType segmentType);
/**
*
* A string-to-string map of key-value pairs that identifies the tags that are associated with the segment. Each
* tag consists of a required tag key and an associated tag value.
*
*
* @param tags
* A string-to-string map of key-value pairs that identifies the tags that are associated with the
* segment. Each tag consists of a required tag key and an associated tag value.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tags(Map tags);
/**
*
* The version number of the segment.
*
*
* @param version
* The version number of the segment.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder version(Integer version);
}
static final class BuilderImpl implements Builder {
private String applicationId;
private String arn;
private String creationDate;
private SegmentDimensions dimensions;
private String id;
private SegmentImportResource importDefinition;
private String lastModifiedDate;
private String name;
private SegmentGroupList segmentGroups;
private String segmentType;
private Map tags = DefaultSdkAutoConstructMap.getInstance();
private Integer version;
private BuilderImpl() {
}
private BuilderImpl(SegmentResponse model) {
applicationId(model.applicationId);
arn(model.arn);
creationDate(model.creationDate);
dimensions(model.dimensions);
id(model.id);
importDefinition(model.importDefinition);
lastModifiedDate(model.lastModifiedDate);
name(model.name);
segmentGroups(model.segmentGroups);
segmentType(model.segmentType);
tags(model.tags);
version(model.version);
}
public final String getApplicationId() {
return applicationId;
}
public final void setApplicationId(String applicationId) {
this.applicationId = applicationId;
}
@Override
@Transient
public final Builder applicationId(String applicationId) {
this.applicationId = applicationId;
return this;
}
public final String getArn() {
return arn;
}
public final void setArn(String arn) {
this.arn = arn;
}
@Override
@Transient
public final Builder arn(String arn) {
this.arn = arn;
return this;
}
public final String getCreationDate() {
return creationDate;
}
public final void setCreationDate(String creationDate) {
this.creationDate = creationDate;
}
@Override
@Transient
public final Builder creationDate(String creationDate) {
this.creationDate = creationDate;
return this;
}
public final SegmentDimensions.Builder getDimensions() {
return dimensions != null ? dimensions.toBuilder() : null;
}
public final void setDimensions(SegmentDimensions.BuilderImpl dimensions) {
this.dimensions = dimensions != null ? dimensions.build() : null;
}
@Override
@Transient
public final Builder dimensions(SegmentDimensions dimensions) {
this.dimensions = dimensions;
return this;
}
public final String getId() {
return id;
}
public final void setId(String id) {
this.id = id;
}
@Override
@Transient
public final Builder id(String id) {
this.id = id;
return this;
}
public final SegmentImportResource.Builder getImportDefinition() {
return importDefinition != null ? importDefinition.toBuilder() : null;
}
public final void setImportDefinition(SegmentImportResource.BuilderImpl importDefinition) {
this.importDefinition = importDefinition != null ? importDefinition.build() : null;
}
@Override
@Transient
public final Builder importDefinition(SegmentImportResource importDefinition) {
this.importDefinition = importDefinition;
return this;
}
public final String getLastModifiedDate() {
return lastModifiedDate;
}
public final void setLastModifiedDate(String lastModifiedDate) {
this.lastModifiedDate = lastModifiedDate;
}
@Override
@Transient
public final Builder lastModifiedDate(String lastModifiedDate) {
this.lastModifiedDate = lastModifiedDate;
return this;
}
public final String getName() {
return name;
}
public final void setName(String name) {
this.name = name;
}
@Override
@Transient
public final Builder name(String name) {
this.name = name;
return this;
}
public final SegmentGroupList.Builder getSegmentGroups() {
return segmentGroups != null ? segmentGroups.toBuilder() : null;
}
public final void setSegmentGroups(SegmentGroupList.BuilderImpl segmentGroups) {
this.segmentGroups = segmentGroups != null ? segmentGroups.build() : null;
}
@Override
@Transient
public final Builder segmentGroups(SegmentGroupList segmentGroups) {
this.segmentGroups = segmentGroups;
return this;
}
public final String getSegmentType() {
return segmentType;
}
public final void setSegmentType(String segmentType) {
this.segmentType = segmentType;
}
@Override
@Transient
public final Builder segmentType(String segmentType) {
this.segmentType = segmentType;
return this;
}
@Override
@Transient
public final Builder segmentType(SegmentType segmentType) {
this.segmentType(segmentType == null ? null : segmentType.toString());
return this;
}
public final Map getTags() {
if (tags instanceof SdkAutoConstructMap) {
return null;
}
return tags;
}
public final void setTags(Map tags) {
this.tags = MapOf__stringCopier.copy(tags);
}
@Override
@Transient
public final Builder tags(Map tags) {
this.tags = MapOf__stringCopier.copy(tags);
return this;
}
public final Integer getVersion() {
return version;
}
public final void setVersion(Integer version) {
this.version = version;
}
@Override
@Transient
public final Builder version(Integer version) {
this.version = version;
return this;
}
@Override
public SegmentResponse build() {
return new SegmentResponse(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}