tags;
private final String schemaVersionId;
private final String schemaVersionStatus;
private CreateSchemaResponse(BuilderImpl builder) {
super(builder);
this.registryName = builder.registryName;
this.registryArn = builder.registryArn;
this.schemaName = builder.schemaName;
this.schemaArn = builder.schemaArn;
this.description = builder.description;
this.dataFormat = builder.dataFormat;
this.compatibility = builder.compatibility;
this.schemaCheckpoint = builder.schemaCheckpoint;
this.latestSchemaVersion = builder.latestSchemaVersion;
this.nextSchemaVersion = builder.nextSchemaVersion;
this.schemaStatus = builder.schemaStatus;
this.tags = builder.tags;
this.schemaVersionId = builder.schemaVersionId;
this.schemaVersionStatus = builder.schemaVersionStatus;
}
/**
*
* The name of the registry.
*
*
* @return The name of the registry.
*/
public final String registryName() {
return registryName;
}
/**
*
* The Amazon Resource Name (ARN) of the registry.
*
*
* @return The Amazon Resource Name (ARN) of the registry.
*/
public final String registryArn() {
return registryArn;
}
/**
*
* The name of the schema.
*
*
* @return The name of the schema.
*/
public final String schemaName() {
return schemaName;
}
/**
*
* The Amazon Resource Name (ARN) of the schema.
*
*
* @return The Amazon Resource Name (ARN) of the schema.
*/
public final String schemaArn() {
return schemaArn;
}
/**
*
* A description of the schema if specified when created.
*
*
* @return A description of the schema if specified when created.
*/
public final String description() {
return description;
}
/**
*
* The data format of the schema definition. Currently AVRO
, JSON
and
* PROTOBUF
are supported.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #dataFormat} will
* return {@link DataFormat#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #dataFormatAsString}.
*
*
* @return The data format of the schema definition. Currently AVRO
, JSON
and
* PROTOBUF
are supported.
* @see DataFormat
*/
public final DataFormat dataFormat() {
return DataFormat.fromValue(dataFormat);
}
/**
*
* The data format of the schema definition. Currently AVRO
, JSON
and
* PROTOBUF
are supported.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #dataFormat} will
* return {@link DataFormat#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #dataFormatAsString}.
*
*
* @return The data format of the schema definition. Currently AVRO
, JSON
and
* PROTOBUF
are supported.
* @see DataFormat
*/
public final String dataFormatAsString() {
return dataFormat;
}
/**
*
* The schema compatibility mode.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #compatibility}
* will return {@link Compatibility#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #compatibilityAsString}.
*
*
* @return The schema compatibility mode.
* @see Compatibility
*/
public final Compatibility compatibility() {
return Compatibility.fromValue(compatibility);
}
/**
*
* The schema compatibility mode.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #compatibility}
* will return {@link Compatibility#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #compatibilityAsString}.
*
*
* @return The schema compatibility mode.
* @see Compatibility
*/
public final String compatibilityAsString() {
return compatibility;
}
/**
*
* The version number of the checkpoint (the last time the compatibility mode was changed).
*
*
* @return The version number of the checkpoint (the last time the compatibility mode was changed).
*/
public final Long schemaCheckpoint() {
return schemaCheckpoint;
}
/**
*
* The latest version of the schema associated with the returned schema definition.
*
*
* @return The latest version of the schema associated with the returned schema definition.
*/
public final Long latestSchemaVersion() {
return latestSchemaVersion;
}
/**
*
* The next version of the schema associated with the returned schema definition.
*
*
* @return The next version of the schema associated with the returned schema definition.
*/
public final Long nextSchemaVersion() {
return nextSchemaVersion;
}
/**
*
* The status of the schema.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #schemaStatus} will
* return {@link SchemaStatus#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #schemaStatusAsString}.
*
*
* @return The status of the schema.
* @see SchemaStatus
*/
public final SchemaStatus schemaStatus() {
return SchemaStatus.fromValue(schemaStatus);
}
/**
*
* The status of the schema.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #schemaStatus} will
* return {@link SchemaStatus#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #schemaStatusAsString}.
*
*
* @return The status of the schema.
* @see SchemaStatus
*/
public final String schemaStatusAsString() {
return schemaStatus;
}
/**
* 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);
}
/**
*
* The tags for the schema.
*
*
* 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 The tags for the schema.
*/
public final Map tags() {
return tags;
}
/**
*
* The unique identifier of the first schema version.
*
*
* @return The unique identifier of the first schema version.
*/
public final String schemaVersionId() {
return schemaVersionId;
}
/**
*
* The status of the first schema version created.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #schemaVersionStatus} will return {@link SchemaVersionStatus#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #schemaVersionStatusAsString}.
*
*
* @return The status of the first schema version created.
* @see SchemaVersionStatus
*/
public final SchemaVersionStatus schemaVersionStatus() {
return SchemaVersionStatus.fromValue(schemaVersionStatus);
}
/**
*
* The status of the first schema version created.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #schemaVersionStatus} will return {@link SchemaVersionStatus#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #schemaVersionStatusAsString}.
*
*
* @return The status of the first schema version created.
* @see SchemaVersionStatus
*/
public final String schemaVersionStatusAsString() {
return schemaVersionStatus;
}
@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 + super.hashCode();
hashCode = 31 * hashCode + Objects.hashCode(registryName());
hashCode = 31 * hashCode + Objects.hashCode(registryArn());
hashCode = 31 * hashCode + Objects.hashCode(schemaName());
hashCode = 31 * hashCode + Objects.hashCode(schemaArn());
hashCode = 31 * hashCode + Objects.hashCode(description());
hashCode = 31 * hashCode + Objects.hashCode(dataFormatAsString());
hashCode = 31 * hashCode + Objects.hashCode(compatibilityAsString());
hashCode = 31 * hashCode + Objects.hashCode(schemaCheckpoint());
hashCode = 31 * hashCode + Objects.hashCode(latestSchemaVersion());
hashCode = 31 * hashCode + Objects.hashCode(nextSchemaVersion());
hashCode = 31 * hashCode + Objects.hashCode(schemaStatusAsString());
hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null);
hashCode = 31 * hashCode + Objects.hashCode(schemaVersionId());
hashCode = 31 * hashCode + Objects.hashCode(schemaVersionStatusAsString());
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return super.equals(obj) && equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof CreateSchemaResponse)) {
return false;
}
CreateSchemaResponse other = (CreateSchemaResponse) obj;
return Objects.equals(registryName(), other.registryName()) && Objects.equals(registryArn(), other.registryArn())
&& Objects.equals(schemaName(), other.schemaName()) && Objects.equals(schemaArn(), other.schemaArn())
&& Objects.equals(description(), other.description())
&& Objects.equals(dataFormatAsString(), other.dataFormatAsString())
&& Objects.equals(compatibilityAsString(), other.compatibilityAsString())
&& Objects.equals(schemaCheckpoint(), other.schemaCheckpoint())
&& Objects.equals(latestSchemaVersion(), other.latestSchemaVersion())
&& Objects.equals(nextSchemaVersion(), other.nextSchemaVersion())
&& Objects.equals(schemaStatusAsString(), other.schemaStatusAsString()) && hasTags() == other.hasTags()
&& Objects.equals(tags(), other.tags()) && Objects.equals(schemaVersionId(), other.schemaVersionId())
&& Objects.equals(schemaVersionStatusAsString(), other.schemaVersionStatusAsString());
}
/**
* 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("CreateSchemaResponse").add("RegistryName", registryName()).add("RegistryArn", registryArn())
.add("SchemaName", schemaName()).add("SchemaArn", schemaArn()).add("Description", description())
.add("DataFormat", dataFormatAsString()).add("Compatibility", compatibilityAsString())
.add("SchemaCheckpoint", schemaCheckpoint()).add("LatestSchemaVersion", latestSchemaVersion())
.add("NextSchemaVersion", nextSchemaVersion()).add("SchemaStatus", schemaStatusAsString())
.add("Tags", hasTags() ? tags() : null).add("SchemaVersionId", schemaVersionId())
.add("SchemaVersionStatus", schemaVersionStatusAsString()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "RegistryName":
return Optional.ofNullable(clazz.cast(registryName()));
case "RegistryArn":
return Optional.ofNullable(clazz.cast(registryArn()));
case "SchemaName":
return Optional.ofNullable(clazz.cast(schemaName()));
case "SchemaArn":
return Optional.ofNullable(clazz.cast(schemaArn()));
case "Description":
return Optional.ofNullable(clazz.cast(description()));
case "DataFormat":
return Optional.ofNullable(clazz.cast(dataFormatAsString()));
case "Compatibility":
return Optional.ofNullable(clazz.cast(compatibilityAsString()));
case "SchemaCheckpoint":
return Optional.ofNullable(clazz.cast(schemaCheckpoint()));
case "LatestSchemaVersion":
return Optional.ofNullable(clazz.cast(latestSchemaVersion()));
case "NextSchemaVersion":
return Optional.ofNullable(clazz.cast(nextSchemaVersion()));
case "SchemaStatus":
return Optional.ofNullable(clazz.cast(schemaStatusAsString()));
case "Tags":
return Optional.ofNullable(clazz.cast(tags()));
case "SchemaVersionId":
return Optional.ofNullable(clazz.cast(schemaVersionId()));
case "SchemaVersionStatus":
return Optional.ofNullable(clazz.cast(schemaVersionStatusAsString()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((CreateSchemaResponse) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends GlueResponse.Builder, SdkPojo, CopyableBuilder {
/**
*
* The name of the registry.
*
*
* @param registryName
* The name of the registry.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder registryName(String registryName);
/**
*
* The Amazon Resource Name (ARN) of the registry.
*
*
* @param registryArn
* The Amazon Resource Name (ARN) of the registry.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder registryArn(String registryArn);
/**
*
* The name of the schema.
*
*
* @param schemaName
* The name of the schema.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder schemaName(String schemaName);
/**
*
* The Amazon Resource Name (ARN) of the schema.
*
*
* @param schemaArn
* The Amazon Resource Name (ARN) of the schema.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder schemaArn(String schemaArn);
/**
*
* A description of the schema if specified when created.
*
*
* @param description
* A description of the schema if specified when created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder description(String description);
/**
*
* The data format of the schema definition. Currently AVRO
, JSON
and
* PROTOBUF
are supported.
*
*
* @param dataFormat
* The data format of the schema definition. Currently AVRO
, JSON
and
* PROTOBUF
are supported.
* @see DataFormat
* @return Returns a reference to this object so that method calls can be chained together.
* @see DataFormat
*/
Builder dataFormat(String dataFormat);
/**
*
* The data format of the schema definition. Currently AVRO
, JSON
and
* PROTOBUF
are supported.
*
*
* @param dataFormat
* The data format of the schema definition. Currently AVRO
, JSON
and
* PROTOBUF
are supported.
* @see DataFormat
* @return Returns a reference to this object so that method calls can be chained together.
* @see DataFormat
*/
Builder dataFormat(DataFormat dataFormat);
/**
*
* The schema compatibility mode.
*
*
* @param compatibility
* The schema compatibility mode.
* @see Compatibility
* @return Returns a reference to this object so that method calls can be chained together.
* @see Compatibility
*/
Builder compatibility(String compatibility);
/**
*
* The schema compatibility mode.
*
*
* @param compatibility
* The schema compatibility mode.
* @see Compatibility
* @return Returns a reference to this object so that method calls can be chained together.
* @see Compatibility
*/
Builder compatibility(Compatibility compatibility);
/**
*
* The version number of the checkpoint (the last time the compatibility mode was changed).
*
*
* @param schemaCheckpoint
* The version number of the checkpoint (the last time the compatibility mode was changed).
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder schemaCheckpoint(Long schemaCheckpoint);
/**
*
* The latest version of the schema associated with the returned schema definition.
*
*
* @param latestSchemaVersion
* The latest version of the schema associated with the returned schema definition.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder latestSchemaVersion(Long latestSchemaVersion);
/**
*
* The next version of the schema associated with the returned schema definition.
*
*
* @param nextSchemaVersion
* The next version of the schema associated with the returned schema definition.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder nextSchemaVersion(Long nextSchemaVersion);
/**
*
* The status of the schema.
*
*
* @param schemaStatus
* The status of the schema.
* @see SchemaStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see SchemaStatus
*/
Builder schemaStatus(String schemaStatus);
/**
*
* The status of the schema.
*
*
* @param schemaStatus
* The status of the schema.
* @see SchemaStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see SchemaStatus
*/
Builder schemaStatus(SchemaStatus schemaStatus);
/**
*
* The tags for the schema.
*
*
* @param tags
* The tags for the schema.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tags(Map tags);
/**
*
* The unique identifier of the first schema version.
*
*
* @param schemaVersionId
* The unique identifier of the first schema version.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder schemaVersionId(String schemaVersionId);
/**
*
* The status of the first schema version created.
*
*
* @param schemaVersionStatus
* The status of the first schema version created.
* @see SchemaVersionStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see SchemaVersionStatus
*/
Builder schemaVersionStatus(String schemaVersionStatus);
/**
*
* The status of the first schema version created.
*
*
* @param schemaVersionStatus
* The status of the first schema version created.
* @see SchemaVersionStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see SchemaVersionStatus
*/
Builder schemaVersionStatus(SchemaVersionStatus schemaVersionStatus);
}
static final class BuilderImpl extends GlueResponse.BuilderImpl implements Builder {
private String registryName;
private String registryArn;
private String schemaName;
private String schemaArn;
private String description;
private String dataFormat;
private String compatibility;
private Long schemaCheckpoint;
private Long latestSchemaVersion;
private Long nextSchemaVersion;
private String schemaStatus;
private Map tags = DefaultSdkAutoConstructMap.getInstance();
private String schemaVersionId;
private String schemaVersionStatus;
private BuilderImpl() {
}
private BuilderImpl(CreateSchemaResponse model) {
super(model);
registryName(model.registryName);
registryArn(model.registryArn);
schemaName(model.schemaName);
schemaArn(model.schemaArn);
description(model.description);
dataFormat(model.dataFormat);
compatibility(model.compatibility);
schemaCheckpoint(model.schemaCheckpoint);
latestSchemaVersion(model.latestSchemaVersion);
nextSchemaVersion(model.nextSchemaVersion);
schemaStatus(model.schemaStatus);
tags(model.tags);
schemaVersionId(model.schemaVersionId);
schemaVersionStatus(model.schemaVersionStatus);
}
public final String getRegistryName() {
return registryName;
}
public final void setRegistryName(String registryName) {
this.registryName = registryName;
}
@Override
public final Builder registryName(String registryName) {
this.registryName = registryName;
return this;
}
public final String getRegistryArn() {
return registryArn;
}
public final void setRegistryArn(String registryArn) {
this.registryArn = registryArn;
}
@Override
public final Builder registryArn(String registryArn) {
this.registryArn = registryArn;
return this;
}
public final String getSchemaName() {
return schemaName;
}
public final void setSchemaName(String schemaName) {
this.schemaName = schemaName;
}
@Override
public final Builder schemaName(String schemaName) {
this.schemaName = schemaName;
return this;
}
public final String getSchemaArn() {
return schemaArn;
}
public final void setSchemaArn(String schemaArn) {
this.schemaArn = schemaArn;
}
@Override
public final Builder schemaArn(String schemaArn) {
this.schemaArn = schemaArn;
return this;
}
public final String getDescription() {
return description;
}
public final void setDescription(String description) {
this.description = description;
}
@Override
public final Builder description(String description) {
this.description = description;
return this;
}
public final String getDataFormat() {
return dataFormat;
}
public final void setDataFormat(String dataFormat) {
this.dataFormat = dataFormat;
}
@Override
public final Builder dataFormat(String dataFormat) {
this.dataFormat = dataFormat;
return this;
}
@Override
public final Builder dataFormat(DataFormat dataFormat) {
this.dataFormat(dataFormat == null ? null : dataFormat.toString());
return this;
}
public final String getCompatibility() {
return compatibility;
}
public final void setCompatibility(String compatibility) {
this.compatibility = compatibility;
}
@Override
public final Builder compatibility(String compatibility) {
this.compatibility = compatibility;
return this;
}
@Override
public final Builder compatibility(Compatibility compatibility) {
this.compatibility(compatibility == null ? null : compatibility.toString());
return this;
}
public final Long getSchemaCheckpoint() {
return schemaCheckpoint;
}
public final void setSchemaCheckpoint(Long schemaCheckpoint) {
this.schemaCheckpoint = schemaCheckpoint;
}
@Override
public final Builder schemaCheckpoint(Long schemaCheckpoint) {
this.schemaCheckpoint = schemaCheckpoint;
return this;
}
public final Long getLatestSchemaVersion() {
return latestSchemaVersion;
}
public final void setLatestSchemaVersion(Long latestSchemaVersion) {
this.latestSchemaVersion = latestSchemaVersion;
}
@Override
public final Builder latestSchemaVersion(Long latestSchemaVersion) {
this.latestSchemaVersion = latestSchemaVersion;
return this;
}
public final Long getNextSchemaVersion() {
return nextSchemaVersion;
}
public final void setNextSchemaVersion(Long nextSchemaVersion) {
this.nextSchemaVersion = nextSchemaVersion;
}
@Override
public final Builder nextSchemaVersion(Long nextSchemaVersion) {
this.nextSchemaVersion = nextSchemaVersion;
return this;
}
public final String getSchemaStatus() {
return schemaStatus;
}
public final void setSchemaStatus(String schemaStatus) {
this.schemaStatus = schemaStatus;
}
@Override
public final Builder schemaStatus(String schemaStatus) {
this.schemaStatus = schemaStatus;
return this;
}
@Override
public final Builder schemaStatus(SchemaStatus schemaStatus) {
this.schemaStatus(schemaStatus == null ? null : schemaStatus.toString());
return this;
}
public final Map getTags() {
if (tags instanceof SdkAutoConstructMap) {
return null;
}
return tags;
}
public final void setTags(Map tags) {
this.tags = TagsMapCopier.copy(tags);
}
@Override
public final Builder tags(Map tags) {
this.tags = TagsMapCopier.copy(tags);
return this;
}
public final String getSchemaVersionId() {
return schemaVersionId;
}
public final void setSchemaVersionId(String schemaVersionId) {
this.schemaVersionId = schemaVersionId;
}
@Override
public final Builder schemaVersionId(String schemaVersionId) {
this.schemaVersionId = schemaVersionId;
return this;
}
public final String getSchemaVersionStatus() {
return schemaVersionStatus;
}
public final void setSchemaVersionStatus(String schemaVersionStatus) {
this.schemaVersionStatus = schemaVersionStatus;
}
@Override
public final Builder schemaVersionStatus(String schemaVersionStatus) {
this.schemaVersionStatus = schemaVersionStatus;
return this;
}
@Override
public final Builder schemaVersionStatus(SchemaVersionStatus schemaVersionStatus) {
this.schemaVersionStatus(schemaVersionStatus == null ? null : schemaVersionStatus.toString());
return this;
}
@Override
public CreateSchemaResponse build() {
return new CreateSchemaResponse(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}