software.amazon.awssdk.services.s3.model.PutBucketMetricsConfigurationRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of s3 Show documentation
Show all versions of s3 Show documentation
The AWS Java SDK for Amazon S3 module holds the client classes that are used for communicating with
Amazon Simple Storage Service
/*
* Copyright 2012-2017 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.s3.model;
import javax.annotation.Generated;
import software.amazon.awssdk.AmazonWebServiceRequest;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*/
@Generated("software.amazon.awssdk:codegen")
public class PutBucketMetricsConfigurationRequest extends AmazonWebServiceRequest implements
ToCopyableBuilder {
private final String bucket;
private final String id;
private final MetricsConfiguration metricsConfiguration;
private PutBucketMetricsConfigurationRequest(BuilderImpl builder) {
this.bucket = builder.bucket;
this.id = builder.id;
this.metricsConfiguration = builder.metricsConfiguration;
}
/**
* The name of the bucket for which the metrics configuration is set.
*
* @return The name of the bucket for which the metrics configuration is set.
*/
public String bucket() {
return bucket;
}
/**
* The ID used to identify the metrics configuration.
*
* @return The ID used to identify the metrics configuration.
*/
public String id() {
return id;
}
/**
* Specifies the metrics configuration.
*
* @return Specifies the metrics configuration.
*/
public MetricsConfiguration metricsConfiguration() {
return metricsConfiguration;
}
@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 int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + ((bucket() == null) ? 0 : bucket().hashCode());
hashCode = 31 * hashCode + ((id() == null) ? 0 : id().hashCode());
hashCode = 31 * hashCode + ((metricsConfiguration() == null) ? 0 : metricsConfiguration().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof PutBucketMetricsConfigurationRequest)) {
return false;
}
PutBucketMetricsConfigurationRequest other = (PutBucketMetricsConfigurationRequest) obj;
if (other.bucket() == null ^ this.bucket() == null) {
return false;
}
if (other.bucket() != null && !other.bucket().equals(this.bucket())) {
return false;
}
if (other.id() == null ^ this.id() == null) {
return false;
}
if (other.id() != null && !other.id().equals(this.id())) {
return false;
}
if (other.metricsConfiguration() == null ^ this.metricsConfiguration() == null) {
return false;
}
if (other.metricsConfiguration() != null && !other.metricsConfiguration().equals(this.metricsConfiguration())) {
return false;
}
return true;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (bucket() != null) {
sb.append("Bucket: ").append(bucket()).append(",");
}
if (id() != null) {
sb.append("Id: ").append(id()).append(",");
}
if (metricsConfiguration() != null) {
sb.append("MetricsConfiguration: ").append(metricsConfiguration()).append(",");
}
sb.append("}");
return sb.toString();
}
public interface Builder extends CopyableBuilder {
/**
* The name of the bucket for which the metrics configuration is set.
*
* @param bucket
* The name of the bucket for which the metrics configuration is set.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder bucket(String bucket);
/**
* The ID used to identify the metrics configuration.
*
* @param id
* The ID used to identify the metrics configuration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder id(String id);
/**
* Specifies the metrics configuration.
*
* @param metricsConfiguration
* Specifies the metrics configuration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder metricsConfiguration(MetricsConfiguration metricsConfiguration);
}
private static final class BuilderImpl implements Builder {
private String bucket;
private String id;
private MetricsConfiguration metricsConfiguration;
private BuilderImpl() {
}
private BuilderImpl(PutBucketMetricsConfigurationRequest model) {
setBucket(model.bucket);
setId(model.id);
setMetricsConfiguration(model.metricsConfiguration);
}
public final String getBucket() {
return bucket;
}
@Override
public final Builder bucket(String bucket) {
this.bucket = bucket;
return this;
}
public final void setBucket(String bucket) {
this.bucket = bucket;
}
public final String getId() {
return id;
}
@Override
public final Builder id(String id) {
this.id = id;
return this;
}
public final void setId(String id) {
this.id = id;
}
public final MetricsConfiguration getMetricsConfiguration() {
return metricsConfiguration;
}
@Override
public final Builder metricsConfiguration(MetricsConfiguration metricsConfiguration) {
this.metricsConfiguration = metricsConfiguration;
return this;
}
public final void setMetricsConfiguration(MetricsConfiguration metricsConfiguration) {
this.metricsConfiguration = metricsConfiguration;
}
@Override
public PutBucketMetricsConfigurationRequest build() {
return new PutBucketMetricsConfigurationRequest(this);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy