com.amazonaws.services.s3.model
Class S3Object

java.lang.Object
  extended by com.amazonaws.services.s3.model.S3Object
All Implemented Interfaces:
java.io.Closeable

public class S3Object
extends java.lang.Object
implements java.io.Closeable

Represents an object stored in Amazon S3. This object contains the data content and the object metadata stored by Amazon S3, such as content type, content length, etc.

See Also:
ObjectMetadata

Constructor Summary
S3Object()
           
 
Method Summary
 void close()
          Releases any underlying system resources.
 java.lang.String getBucketName()
          Gets the name of the bucket in which this object is contained.
 java.lang.String getKey()
          Gets the key under which this object is stored.
 S3ObjectInputStream getObjectContent()
          Gets an input stream containing the contents of this object.
 ObjectMetadata getObjectMetadata()
          Gets the metadata stored by Amazon S3 for this object.
 java.lang.String getRedirectLocation()
          Gets the redirect location for this object.
 boolean isRequesterCharged()
          Returns true if the user is charged for downloading the object from an Requester Pays Bucket; else false.
 void setBucketName(java.lang.String bucketName)
          Sets the name of the bucket in which this object is contained.
 void setKey(java.lang.String key)
          Sets the key under which this object is stored.
 void setObjectContent(java.io.InputStream objectContent)
          Sets the input stream containing this object's contents.
 void setObjectContent(S3ObjectInputStream objectContent)
          Sets the input stream containing this object's contents.
 void setObjectMetadata(ObjectMetadata metadata)
          Sets the object metadata for this object.
 void setRedirectLocation(java.lang.String redirectLocation)
          Sets the redirect location for this object.
 void setRequesterCharged(boolean isRequesterCharged)
          Used for downloading an Amazon S3 Object from a Requester Pays Bucket.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

S3Object

public S3Object()
Method Detail

getObjectMetadata

public ObjectMetadata getObjectMetadata()
Gets the metadata stored by Amazon S3 for this object. The ObjectMetadata object includes any custom user metadata supplied by the caller when the object was uploaded, as well as HTTP metadata such as content length and content type.

Returns:
The metadata stored by Amazon S3 for this object.
See Also:
getObjectContent()

setObjectMetadata

public void setObjectMetadata(ObjectMetadata metadata)
Sets the object metadata for this object.

NOTE: This does not update the object metadata stored in Amazon S3, but only updates this object in local memory. To update an object's metadata in S3, use AmazonS3.copyObject(CopyObjectRequest) to copy the object to a new (or the same location) and specify new object metadata then.

Parameters:
metadata - The new metadata to set for this object in memory.

getObjectContent

public S3ObjectInputStream getObjectContent()
Gets an input stream containing the contents of this object. Callers should close this input stream as soon as possible, because the object contents aren't buffered in memory and stream directly from Amazon S3.

Returns:
An input stream containing the contents of this object.
See Also:
getObjectMetadata(), setObjectContent(InputStream)

setObjectContent

public void setObjectContent(S3ObjectInputStream objectContent)
Sets the input stream containing this object's contents.

Parameters:
objectContent - The input stream containing this object's contents.
See Also:
getObjectContent()

setObjectContent

public void setObjectContent(java.io.InputStream objectContent)
Sets the input stream containing this object's contents.

Parameters:
objectContent - The input stream containing this object's contents. Will get wrapped in an S3ObjectInputStream.
See Also:
getObjectContent()

getBucketName

public java.lang.String getBucketName()
Gets the name of the bucket in which this object is contained.

Returns:
The name of the bucket in which this object is contained.
See Also:
setBucketName(String)

setBucketName

public void setBucketName(java.lang.String bucketName)
Sets the name of the bucket in which this object is contained.

Parameters:
bucketName - The name of the bucket containing this object.
See Also:
getBucketName()

getKey

public java.lang.String getKey()
Gets the key under which this object is stored.

Returns:
The key under which this object is stored.
See Also:
setKey(String)

setKey

public void setKey(java.lang.String key)
Sets the key under which this object is stored.

Parameters:
key - The key under which this object is stored.
See Also:
getKey()

getRedirectLocation

public java.lang.String getRedirectLocation()
Gets the redirect location for this object.


setRedirectLocation

public void setRedirectLocation(java.lang.String redirectLocation)
Sets the redirect location for this object.

Parameters:
redirectLocation - the redirect location for that object.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

close

public void close()
           throws java.io.IOException
Releases any underlying system resources. If the resources are already released then invoking this method has no effect.

Specified by:
close in interface java.io.Closeable
Throws:
java.io.IOException - if an I/O error occurs

isRequesterCharged

public boolean isRequesterCharged()
Returns true if the user is charged for downloading the object from an Requester Pays Bucket; else false.

If a bucket is enabled for Requester Pays, then any attempt to read an object from it without Requester Pays enabled will result in a 403 error and the bucket owner will be charged for the request.

Returns:
true if the user has been charged for the download operation from Requester Pays Bucket.

setRequesterCharged

public void setRequesterCharged(boolean isRequesterCharged)
Used for downloading an Amazon S3 Object from a Requester Pays Bucket. If set the requester is charged for downloading the data from the bucket.

If a bucket is enabled for Requester Pays, then any attempt to read an object from it without Requester Pays enabled will result in a 403 error and the bucket owner will be charged for the request.

Parameters:
isRequesterCharged - Indicates requester is charged for this operation.


Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.