/* * Copyright 2010-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 com.amazonaws.services.s3.model; import java.io.Serializable; import java.util.Date; /** * Contains the summary of an object stored in an Amazon S3 bucket. This object * doesn't contain contain the * object's full metadata or any of its contents. * * @see S3Object */ public class S3ObjectSummary implements Serializable { /** The name of the bucket in which this object is stored */ protected String bucketName; /** The key under which this object is stored */ protected String key; /** Hex encoded MD5 hash of this object's contents, as computed by Amazon S3 */ protected String eTag; /** The size of this object, in bytes */ protected long size; /** The date, according to Amazon S3, when this object was last modified */ protected Date lastModified; /** The class of storage used by Amazon S3 to store this object */ protected String storageClass; /** * The owner of this object - can be null if the requester doesn't have * permission to view object ownership information */ protected Owner owner; /** * Gets the name of the Amazon S3 bucket in which this object is stored. * * @return The name of the Amazon S3 bucket in which this object is stored. * * @see S3ObjectSummary#setBucketName(String) */ public String getBucketName() { return bucketName; } /** * Sets the name of the Amazon S3 bucket in which this object is stored. * * @param bucketName * The name of the Amazon S3 bucket in which this object is * stored. * * @see S3ObjectSummary#getBucketName() */ public void setBucketName(String bucketName) { this.bucketName = bucketName; } /** * Gets the key under which this object is stored in Amazon S3. * * @return The key under which this object is stored in Amazon S3. * * @see S3ObjectSummary#setKey(String) */ public String getKey() { return key; } /** * Sets the key under which this object is stored in Amazon S3. * * @param key * The key under which this object is stored in Amazon S3. * * @see S3ObjectSummary#getKey() */ public void setKey(String key) { this.key = key; } /** * Gets the hex encoded 128-bit MD5 hash of this object's contents as * computed by Amazon S3. * * @return The hex encoded 128-bit MD5 hash of this object's contents as * computed by Amazon S3. * * @see S3ObjectSummary#setETag(String) */ public String getETag() { return eTag; } /** * Sets the hex encoded 128-bit MD5 hash of this object's contents as * computed by Amazon S3. * * @param eTag * The hex encoded 128-bit MD5 hash of this object's contents as * computed by Amazon S3. * * @see S3ObjectSummary#getETag() */ public void setETag(String eTag) { this.eTag = eTag; } /** * Gets the size of this object in bytes. * * @return The size of this object in bytes. * * @see #setSize(long) */ public long getSize() { return size; } /** * Sets the size of this object in bytes. * * @param size * The size of this object in bytes. * * @see #getSize() */ public void setSize(long size) { this.size = size; } /** * Gets the date when, according to Amazon S3, this object * was last modified. * * @return The date when, according to Amazon S3, this object * was last modified. * * @see S3ObjectSummary#setLastModified(Date) */ public Date getLastModified() { return lastModified; } /** * Sets the date, according to Amazon S3, this object * was last modified. * * @param lastModified * The date when, according to Amazon S3, this object * was last modified. * * @see S3ObjectSummary#getLastModified() */ public void setLastModified(Date lastModified) { this.lastModified = lastModified; } /** * Gets the owner of this object. Returns <code>null</code> * if the requester doesn't have * {@link Permission#ReadAcp} permission for this object or owns the bucket * in which it resides. * * @return The owner of this object. Returns <code>null</code> * if the requester doesn't have * permission to see object ownership. * * @see S3ObjectSummary#setOwner(Owner) */ public Owner getOwner() { return owner; } /** * Sets the owner of this object. * * @param owner * The owner of this object. * * @see S3ObjectSummary#getOwner() */ public void setOwner(Owner owner) { this.owner = owner; } /** * Gets the storage class used by Amazon S3 for this object. * * @return The storage class used by Amazon S3 for this object. * * @see S3ObjectSummary#setStorageClass(String) */ public String getStorageClass() { return storageClass; } /** * Sets the storage class used by Amazon S3 for this object. * * @param storageClass * The storage class used by Amazon S3 for this object. * * @see S3ObjectSummary#getStorageClass() */ public void setStorageClass(String storageClass) { this.storageClass = storageClass; } @Override public String toString() { return "S3ObjectSummary{" + "bucketName='" + bucketName + '\'' + ", key='" + key + '\'' + ", eTag='" + eTag + '\'' + ", size=" + size + ", lastModified=" + lastModified + ", storageClass='" + storageClass + '\'' + ", owner=" + owner + '}'; } }