All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.dynamodb.model.BackupDescription Maven / Gradle / Ivy

Go to download

A single bundled dependency that includes all service and dependent JARs with third-party libraries relocated to different namespaces.

There is a newer version: 2.5.20
Show newest version
/*
 * Copyright 2013-2018 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.dynamodb.model;

import java.util.Objects;
import java.util.Optional;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.core.protocol.ProtocolMarshaller;
import software.amazon.awssdk.core.protocol.StructuredPojo;
import software.amazon.awssdk.services.dynamodb.transform.BackupDescriptionMarshaller;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Contains the description of the backup created for the table. *

*/ @Generated("software.amazon.awssdk:codegen") public final class BackupDescription implements StructuredPojo, ToCopyableBuilder { private final BackupDetails backupDetails; private final SourceTableDetails sourceTableDetails; private final SourceTableFeatureDetails sourceTableFeatureDetails; private BackupDescription(BuilderImpl builder) { this.backupDetails = builder.backupDetails; this.sourceTableDetails = builder.sourceTableDetails; this.sourceTableFeatureDetails = builder.sourceTableFeatureDetails; } /** *

* Contains the details of the backup created for the table. *

* * @return Contains the details of the backup created for the table. */ public BackupDetails backupDetails() { return backupDetails; } /** *

* Contains the details of the table when the backup was created. *

* * @return Contains the details of the table when the backup was created. */ public SourceTableDetails sourceTableDetails() { return sourceTableDetails; } /** *

* Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, * streams, TTL. *

* * @return Contains the details of the features enabled on the table when the backup was created. For example, LSIs, * GSIs, streams, TTL. */ public SourceTableFeatureDetails sourceTableFeatureDetails() { return sourceTableFeatureDetails; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(backupDetails()); hashCode = 31 * hashCode + Objects.hashCode(sourceTableDetails()); hashCode = 31 * hashCode + Objects.hashCode(sourceTableFeatureDetails()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof BackupDescription)) { return false; } BackupDescription other = (BackupDescription) obj; return Objects.equals(backupDetails(), other.backupDetails()) && Objects.equals(sourceTableDetails(), other.sourceTableDetails()) && Objects.equals(sourceTableFeatureDetails(), other.sourceTableFeatureDetails()); } @Override public String toString() { return ToString.builder("BackupDescription").add("BackupDetails", backupDetails()) .add("SourceTableDetails", sourceTableDetails()).add("SourceTableFeatureDetails", sourceTableFeatureDetails()) .build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "BackupDetails": return Optional.ofNullable(clazz.cast(backupDetails())); case "SourceTableDetails": return Optional.ofNullable(clazz.cast(sourceTableDetails())); case "SourceTableFeatureDetails": return Optional.ofNullable(clazz.cast(sourceTableFeatureDetails())); default: return Optional.empty(); } } @SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { BackupDescriptionMarshaller.getInstance().marshall(this, protocolMarshaller); } public interface Builder extends CopyableBuilder { /** *

* Contains the details of the backup created for the table. *

* * @param backupDetails * Contains the details of the backup created for the table. * @return Returns a reference to this object so that method calls can be chained together. */ Builder backupDetails(BackupDetails backupDetails); /** *

* Contains the details of the backup created for the table. *

* This is a convenience that creates an instance of the {@link BackupDetails.Builder} avoiding the need to * create one manually via {@link BackupDetails#builder()}. * * When the {@link Consumer} completes, {@link BackupDetails.Builder#build()} is called immediately and its * result is passed to {@link #backupDetails(BackupDetails)}. * * @param backupDetails * a consumer that will call methods on {@link BackupDetails.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #backupDetails(BackupDetails) */ default Builder backupDetails(Consumer backupDetails) { return backupDetails(BackupDetails.builder().applyMutation(backupDetails).build()); } /** *

* Contains the details of the table when the backup was created. *

* * @param sourceTableDetails * Contains the details of the table when the backup was created. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sourceTableDetails(SourceTableDetails sourceTableDetails); /** *

* Contains the details of the table when the backup was created. *

* This is a convenience that creates an instance of the {@link SourceTableDetails.Builder} avoiding the need to * create one manually via {@link SourceTableDetails#builder()}. * * When the {@link Consumer} completes, {@link SourceTableDetails.Builder#build()} is called immediately and its * result is passed to {@link #sourceTableDetails(SourceTableDetails)}. * * @param sourceTableDetails * a consumer that will call methods on {@link SourceTableDetails.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #sourceTableDetails(SourceTableDetails) */ default Builder sourceTableDetails(Consumer sourceTableDetails) { return sourceTableDetails(SourceTableDetails.builder().applyMutation(sourceTableDetails).build()); } /** *

* Contains the details of the features enabled on the table when the backup was created. For example, LSIs, * GSIs, streams, TTL. *

* * @param sourceTableFeatureDetails * Contains the details of the features enabled on the table when the backup was created. For example, * LSIs, GSIs, streams, TTL. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sourceTableFeatureDetails(SourceTableFeatureDetails sourceTableFeatureDetails); /** *

* Contains the details of the features enabled on the table when the backup was created. For example, LSIs, * GSIs, streams, TTL. *

* This is a convenience that creates an instance of the {@link SourceTableFeatureDetails.Builder} avoiding the * need to create one manually via {@link SourceTableFeatureDetails#builder()}. * * When the {@link Consumer} completes, {@link SourceTableFeatureDetails.Builder#build()} is called immediately * and its result is passed to {@link #sourceTableFeatureDetails(SourceTableFeatureDetails)}. * * @param sourceTableFeatureDetails * a consumer that will call methods on {@link SourceTableFeatureDetails.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #sourceTableFeatureDetails(SourceTableFeatureDetails) */ default Builder sourceTableFeatureDetails(Consumer sourceTableFeatureDetails) { return sourceTableFeatureDetails(SourceTableFeatureDetails.builder().applyMutation(sourceTableFeatureDetails).build()); } } static final class BuilderImpl implements Builder { private BackupDetails backupDetails; private SourceTableDetails sourceTableDetails; private SourceTableFeatureDetails sourceTableFeatureDetails; private BuilderImpl() { } private BuilderImpl(BackupDescription model) { backupDetails(model.backupDetails); sourceTableDetails(model.sourceTableDetails); sourceTableFeatureDetails(model.sourceTableFeatureDetails); } public final BackupDetails.Builder getBackupDetails() { return backupDetails != null ? backupDetails.toBuilder() : null; } @Override public final Builder backupDetails(BackupDetails backupDetails) { this.backupDetails = backupDetails; return this; } public final void setBackupDetails(BackupDetails.BuilderImpl backupDetails) { this.backupDetails = backupDetails != null ? backupDetails.build() : null; } public final SourceTableDetails.Builder getSourceTableDetails() { return sourceTableDetails != null ? sourceTableDetails.toBuilder() : null; } @Override public final Builder sourceTableDetails(SourceTableDetails sourceTableDetails) { this.sourceTableDetails = sourceTableDetails; return this; } public final void setSourceTableDetails(SourceTableDetails.BuilderImpl sourceTableDetails) { this.sourceTableDetails = sourceTableDetails != null ? sourceTableDetails.build() : null; } public final SourceTableFeatureDetails.Builder getSourceTableFeatureDetails() { return sourceTableFeatureDetails != null ? sourceTableFeatureDetails.toBuilder() : null; } @Override public final Builder sourceTableFeatureDetails(SourceTableFeatureDetails sourceTableFeatureDetails) { this.sourceTableFeatureDetails = sourceTableFeatureDetails; return this; } public final void setSourceTableFeatureDetails(SourceTableFeatureDetails.BuilderImpl sourceTableFeatureDetails) { this.sourceTableFeatureDetails = sourceTableFeatureDetails != null ? sourceTableFeatureDetails.build() : null; } @Override public BackupDescription build() { return new BackupDescription(this); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy