com.amazonaws.services.s3.model
Class ListVersionsRequest

java.lang.Object
  extended by com.amazonaws.AmazonWebServiceRequest
      extended by com.amazonaws.services.s3.model.ListVersionsRequest

public class ListVersionsRequest
extends AmazonWebServiceRequest

Provides options for returning a list of summary information about the versions in a specified bucket.

Returned version summaries are ordered first by key and then by version. Keys are sorted lexicographically (i.e. alphabetically from a-Z) and versions are sorted from the most recent to the least recent. Versions with data and versions with delete markers are included in the results.

Buckets can contain a virtually unlimited number of keys, and the complete results of a list query can be extremely large. To manage large result sets, Amazon S3 uses pagination to split them into multiple responses. Always check the ObjectListing.isTruncated() method to see if the returned listing is complete, or if callers need to make additional calls to get more results. Alternatively, use the AmazonS3Client.listNextBatchOfVersions(VersionListing) method as an easy way to get the next page of object listings.

Objects created before versioning was enabled or when versioning is suspended will be given the default null version ID (see Constants.NULL_VERSION_ID). Note that the null version ID is a valid version ID and is not the same as not having a version ID.

Calling setDelimiter(String) sets the delimiter, allowing groups of keys that share the delimiter-terminated prefix to be included in the returned listing. This allows applications to organize and browse their keys hierarchically, similar to how a file system organizes files into directories. These common prefixes can be retrieved through the VersionListing.getCommonPrefixes() method.

For example, consider a bucket that contains the following keys:

If calling listVersions with a prefix value of "foo/" and a delimiter value of "/" on this bucket, an VersionListing is returned that contains one key ("foo/boo") and one entry in the common prefixes list ("foo/bar/"). To see deeper into the virtual hierarchy, make another call to listVersions setting the prefix parameter to any interesting common prefix to list the individual keys under that prefix.

The total number of keys in a bucket doesn't substantially affect list performance, nor does the presence or absence of additional request parameters.

For more information about enabling versioning for a bucket, see AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).


Constructor Summary
ListVersionsRequest()
          Constructs a new ListVersionsRequest object.
ListVersionsRequest(String bucketName, String prefix, String keyMarker, String versionIdMarker, String delimiter, Integer maxResults)
          Constructs a new ListVersionsRequest object and initializes all required and optional fields.
 
Method Summary
 String getBucketName()
          Gets the name of the Amazon S3 bucket whose versions are to be listed.
 String getDelimiter()
          Gets the optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list.
 String getKeyMarker()
          Gets the optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
 Integer getMaxResults()
          Gets the optional maxResults parameter indicating the maximum number of results to include in the response.
 String getPrefix()
          Gets the optional prefix parameter restricting the response to keys that begin with the specified prefix.
 String getVersionIdMarker()
          Gets the optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
 void setBucketName(String bucketName)
          Sets the name of the Amazon S3 bucket whose versions are to be listed.
 void setDelimiter(String delimiter)
          Sets the optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list.
 void setKeyMarker(String keyMarker)
          Sets the optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
 void setMaxResults(Integer maxResults)
          Sets the optional maxResults parameter indicating the maximum number of results to include in the response.
 void setPrefix(String prefix)
          Sets the optional prefix parameter restricting the response to keys that begin with the specified prefix.
 void setVersionIdMarker(String versionIdMarker)
          Sets the optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
 ListVersionsRequest withBucketName(String bucketName)
          Sets the name of the Amazon S3 bucket whose versions are to be listed.
 ListVersionsRequest withDelimiter(String delimiter)
          Sets the optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list.
 ListVersionsRequest withKeyMarker(String keyMarker)
          Sets the optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
 ListVersionsRequest withMaxResults(Integer maxResults)
          Sets the optional maxResults parameter indicating the maximum number of results to include in the response.
 ListVersionsRequest withPrefix(String prefix)
          Sets the optional prefix parameter restricting the response to keys that begin with the specified prefix.
 ListVersionsRequest withVersionIdMarker(String versionIdMarker)
          Sets the optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
 
Methods inherited from class com.amazonaws.AmazonWebServiceRequest
copyPrivateRequestParameters, getDelegationToken, getRequestClientOptions, getRequestCredentials, setDelegationToken, setRequestCredentials
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListVersionsRequest

public ListVersionsRequest()
Constructs a new ListVersionsRequest object. The caller must populate the fields before the request is executed.

See Also:
ListVersionsRequest(String, String, String, String, String, Integer)

ListVersionsRequest

public ListVersionsRequest(String bucketName,
                           String prefix,
                           String keyMarker,
                           String versionIdMarker,
                           String delimiter,
                           Integer maxResults)
Constructs a new ListVersionsRequest object and initializes all required and optional fields.

Parameters:
bucketName - The name of the bucket whose versions are to be listed.
prefix - The prefix restricting what keys will be listed.
keyMarker - The key marker indicating where results should begin.
versionIdMarker - The version ID marker indicating where results should begin.
delimiter - The delimiter for condensing common prefixes in returned results.
maxResults - The maximum number of results to return.
See Also:
ListVersionsRequest()
Method Detail

getBucketName

public String getBucketName()
Gets the name of the Amazon S3 bucket whose versions are to be listed.

Returns:
The name of the Amazon S3 bucket whose versions are to be listed.
See Also:
setBucketName(String), withBucketName(String)

setBucketName

public void setBucketName(String bucketName)
Sets the name of the Amazon S3 bucket whose versions are to be listed.

Parameters:
bucketName - The name of the Amazon S3 bucket whose versions are to be listed.
See Also:
getBucketName(), withBucketName(String)

withBucketName

public ListVersionsRequest withBucketName(String bucketName)
Sets the name of the Amazon S3 bucket whose versions are to be listed. Returns this ListVersionsRequest, enabling additional method calls to be chained together.

Parameters:
bucketName - The name of the Amazon S3 bucket whose versions are to be listed.
Returns:
This ListVersionsRequest, enabling additional method calls to be chained together.
See Also:
getBucketName(), setBucketName(String)

getPrefix

public String getPrefix()
Gets the optional prefix parameter restricting the response to keys that begin with the specified prefix. Use prefixes to separate a bucket into different sets of keys, similar to how a file system organizes files into directories.

Returns:
The optional prefix parameter restricting the response to keys that begin with the specified prefix.
See Also:
setPrefix(String), withPrefix(String)

setPrefix

public void setPrefix(String prefix)
Sets the optional prefix parameter restricting the response to keys that begin with the specified prefix.

Parameters:
prefix - The optional prefix parameter restricting the response to keys that begin with the specified prefix.
See Also:
getPrefix(), withPrefix(String)

withPrefix

public ListVersionsRequest withPrefix(String prefix)
Sets the optional prefix parameter restricting the response to keys that begin with the specified prefix. Returns this ListVersionsRequest, enabling additional method calls to be chained together.

Parameters:
prefix - The optional prefix parameter restricting the response to keys that begin with the specified prefix.
Returns:
This ListVersionsRequest, enabling additional method calls to be chained together.
See Also:
getPrefix(), setPrefix(String)

getKeyMarker

public String getKeyMarker()
Gets the optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results. Results are always ordered first lexicographically (i.e. alphabetically) and then from most recent version to least recent version.

If a keyMarker is used without a version ID marker, results begin immediately after that key's last version. When a keyMarker is used with a version ID marker, results begin immediately after the version with the specified key and version ID.

Returns:
The optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
See Also:
setKeyMarker(String), withKeyMarker(String)

setKeyMarker

public void setKeyMarker(String keyMarker)
Sets the optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.

Parameters:
keyMarker - The optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
See Also:
getKeyMarker(), withKeyMarker(String)

withKeyMarker

public ListVersionsRequest withKeyMarker(String keyMarker)
Sets the optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results. Returns this ListVersionsRequest, enabling additional method calls to be chained together.

Parameters:
keyMarker - The optional keyMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
Returns:
This ListVersionsRequest, enabling additional method calls to be chained together.
See Also:
getKeyMarker(), setKeyMarker(String)

getVersionIdMarker

public String getVersionIdMarker()
Gets the optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results. Results are always ordered first lexicographically (i.e. alphabetically) and then from most recent version to least recent version.

A key marker must be specified when specifying a versionIdMarker. Results begin immediately after the version with the specified key and version ID.

Returns:
The optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
See Also:
setVersionIdMarker(String), withVersionIdMarker(String)

setVersionIdMarker

public void setVersionIdMarker(String versionIdMarker)
Sets the optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.

Parameters:
versionIdMarker - The optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
See Also:
getVersionIdMarker(), withVersionIdMarker(String)

withVersionIdMarker

public ListVersionsRequest withVersionIdMarker(String versionIdMarker)
Sets the optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results. Returns this ListVersionsRequest, enabling additional method calls to be chained together.

Parameters:
versionIdMarker - The optional versionIdMarker parameter indicating where in the sorted list of all versions in the specified bucket to begin returning results.
Returns:
This ListVersionsRequest, enabling additional method calls to be chained together.
See Also:
getVersionIdMarker(), setVersionIdMarker(String)

getDelimiter

public String getDelimiter()
Gets the optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list. These combined keys are not returned elsewhere in the response.

The most commonly used delimiter is "/", which simulates a hierarchical organization similar to a file system directory structure.

Returns:
The optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list.
See Also:
setDelimiter(String), withDelimiter(String)

setDelimiter

public void setDelimiter(String delimiter)
Sets the optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list.

Parameters:
delimiter - The optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list.
See Also:
getDelimiter(), withDelimiter(String)

withDelimiter

public ListVersionsRequest withDelimiter(String delimiter)
Sets the optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list. Returns this ListVersionsRequest, enabling additional method calls to be chained together.

Parameters:
delimiter - The optional delimiter parameter that causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element in the VersionListing.getCommonPrefixes() list.
Returns:
This ListVersionsRequest, enabling additional method calls to be chained together.
See Also:
getDelimiter(), setDelimiter(String)

getMaxResults

public Integer getMaxResults()
Gets the optional maxResults parameter indicating the maximum number of results to include in the response. Amazon S3 might return fewer than this, but will never return more. Even if maxResults is not specified, Amazon S3 will limit the number of results in the response.

Returns:
The optional maxResults parameter indicating the maximum number of results
See Also:
setMaxResults(Integer), withMaxResults(Integer)

setMaxResults

public void setMaxResults(Integer maxResults)
Sets the optional maxResults parameter indicating the maximum number of results to include in the response.

Parameters:
maxResults - The optional maxResults parameter indicating the maximum number of results to include in the response.
See Also:
getMaxResults(), withMaxResults(Integer)

withMaxResults

public ListVersionsRequest withMaxResults(Integer maxResults)
Sets the optional maxResults parameter indicating the maximum number of results to include in the response. Returns this ListVersionsRequest, enabling additional method calls to be chained together.

Parameters:
maxResults - The optional maxResults parameter indicating the maximum number of results to include in the response.
Returns:
This ListVersionsRequest, enabling additional method calls to be chained together.
See Also:
getMaxResults(), setMaxResults(Integer)


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