/* * Copyright 2010-2016 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.s3.model; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.internal.ObjectExpirationResult; import com.amazonaws.services.s3.internal.SSEResultBase; import java.util.Date; /** * <p> * Contains the data returned by Amazon S3 from the * {@link AmazonS3#copyObject(CopyObjectRequest copyObjectRequest)} call. This * result may be ignored if not needed; otherwise, use this result to access * information about the new object created from the copyObject call. * </p> * * @see AmazonS3Client#copyObject(String, String, String, String) * @see AmazonS3Client#copyObject(com.amazonaws.services.s3.model.CopyObjectRequest) */ public class CopyObjectResult extends SSEResultBase implements ObjectExpirationResult { /** The ETag value of the new object */ private String etag; /** The last modified date for the new object */ private Date lastModifiedDate; /** * The version ID of the new, copied object. This field will only be present * if object versioning has been enabled for the bucket to which the object * was copied. */ private String versionId; /** The time this object expires, or null if it has no expiration */ private Date expirationTime; /** The expiration rule for this object */ private String expirationTimeRuleId; /** * Gets the ETag value for the new object that was created in the associated * {@link CopyObjectRequest}. * * @return The ETag value for the new object. * @see CopyObjectResult#setETag(String) */ public String getETag() { return etag; } /** * Sets the ETag value for the new object that was created from the * associated copy object request. * * @param etag The ETag value for the new object. * @see CopyObjectResult#getETag() */ public void setETag(String etag) { this.etag = etag; } /** * Gets the date the newly copied object was last modified. * * @return The date the newly copied object was last modified. * @see CopyObjectResult#setLastModifiedDate(Date) */ public Date getLastModifiedDate() { return lastModifiedDate; } /** * Sets the date the newly copied object was last modified. * * @param lastModifiedDate The date the new, copied object was last * modified. * @see CopyObjectResult#getLastModifiedDate() */ public void setLastModifiedDate(Date lastModifiedDate) { this.lastModifiedDate = lastModifiedDate; } /** * Gets the version ID of the newly copied object. This field is only * present if object versioning has been enabled for the bucket the object * was copied to. * * @return The version ID of the newly copied object. * @see CopyObjectResult#setVersionId(String) */ public String getVersionId() { return versionId; } /** * Sets the version ID of the newly copied object. * * @param versionId The version ID of the newly copied object. * @see CopyObjectResult#getVersionId() */ public void setVersionId(String versionId) { this.versionId = versionId; } /** * Returns the expiration time for this object, or null if it doesn't * expire. */ @Override public Date getExpirationTime() { return expirationTime; } /** * Sets the expiration time for the object. * * @param expirationTime The expiration time for the object. */ @Override public void setExpirationTime(Date expirationTime) { this.expirationTime = expirationTime; } /** * Returns the {@link BucketLifecycleConfiguration} rule ID for this * object's expiration, or null if it doesn't expire. */ @Override public String getExpirationTimeRuleId() { return expirationTimeRuleId; } /** * Sets the {@link BucketLifecycleConfiguration} rule ID for this object's * expiration * * @param expirationTimeRuleId The rule ID for this object's expiration */ @Override public void setExpirationTimeRuleId(String expirationTimeRuleId) { this.expirationTimeRuleId = expirationTimeRuleId; } }