org.jclouds.s3.blobstore
Class S3BlobStore

java.lang.Object
  extended by org.jclouds.blobstore.internal.BaseBlobStore
      extended by org.jclouds.s3.blobstore.S3BlobStore
All Implemented Interfaces:
org.jclouds.blobstore.BlobStore

@Singleton
public class S3BlobStore
extends org.jclouds.blobstore.internal.BaseBlobStore


Field Summary
 
Fields inherited from class org.jclouds.blobstore.internal.BaseBlobStore
blobUtils, context, defaultLocation, locations
 
Constructor Summary
protected S3BlobStore(org.jclouds.blobstore.BlobStoreContext context, org.jclouds.blobstore.util.BlobUtils blobUtils, com.google.common.base.Supplier<org.jclouds.domain.Location> defaultLocation, com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations, S3Client sync, com.google.common.base.Function<Set<BucketMetadata>,org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata>> convertBucketsToStorageMetadata, ContainerToBucketListOptions container2BucketListOptions, BucketToResourceList bucket2ResourceList, ObjectToBlob object2Blob, org.jclouds.blobstore.functions.BlobToHttpGetOptions blob2ObjectGetOptions, BlobToObject blob2Object, ObjectToBlobMetadata object2BlobMd, javax.inject.Provider<org.jclouds.blobstore.strategy.internal.FetchBlobMetadata> fetchBlobMetadataProvider, com.google.common.cache.LoadingCache<String,AccessControlList> bucketAcls)
           
 
Method Summary
 boolean blobExists(String container, String key)
          This implementation invokes S3Client.objectExists(java.lang.String, java.lang.String)
 org.jclouds.blobstore.domain.BlobMetadata blobMetadata(String container, String key)
          This implementation invokes S3Client.headObject(java.lang.String, java.lang.String)
 boolean containerExists(String container)
          This implementation invokes S3Client.bucketExists(java.lang.String)
 boolean createContainerInLocation(org.jclouds.domain.Location location, String container)
          This implementation invokes S3Client.putBucketInRegion(java.lang.String, java.lang.String, org.jclouds.s3.options.PutBucketOptions...)
 boolean createContainerInLocation(org.jclouds.domain.Location location, String container, org.jclouds.blobstore.options.CreateContainerOptions options)
           
protected  boolean deleteAndVerifyContainerGone(String container)
          This implementation invokes S3Utils.deleteAndVerifyContainerGone(org.jclouds.s3.S3Client, java.lang.String)
protected  void deletePathAndEnsureGone(String path)
          This implementation invokes BaseBlobStore.clearContainer(java.lang.String) then S3Client.deleteBucketIfEmpty(java.lang.String) until it is true.
 org.jclouds.blobstore.domain.Blob getBlob(String container, String key, org.jclouds.blobstore.options.GetOptions optionsList)
          This implementation invokes S3Client.getObject(java.lang.String, java.lang.String, org.jclouds.http.options.GetOptions...)
 org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata> list()
          This implementation invokes S3Client.listOwnedBuckets()
 org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata> list(String container, org.jclouds.blobstore.options.ListContainerOptions options)
          This implementation invokes S3Client.listBucket(java.lang.String, org.jclouds.s3.options.ListBucketOptions...)
 String putBlob(String container, org.jclouds.blobstore.domain.Blob blob)
          This implementation invokes S3Client.putObject(java.lang.String, org.jclouds.s3.domain.S3Object, org.jclouds.s3.options.PutObjectOptions...)
 String putBlob(String container, org.jclouds.blobstore.domain.Blob blob, org.jclouds.blobstore.options.PutOptions overrides)
          This implementation invokes S3Client.putObject(java.lang.String, org.jclouds.s3.domain.S3Object, org.jclouds.s3.options.PutObjectOptions...)
 void removeBlob(String container, String key)
          This implementation invokes S3Client.deleteObject(java.lang.String, java.lang.String)
 
Methods inherited from class org.jclouds.blobstore.internal.BaseBlobStore
blobBuilder, clearContainer, clearContainer, countBlobs, countBlobs, createDirectory, deleteContainer, deleteContainerIfEmpty, deleteDirectory, directoryExists, getBlob, getContext, list, listAssignableLocations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

S3BlobStore

@Inject
protected S3BlobStore(org.jclouds.blobstore.BlobStoreContext context,
                             org.jclouds.blobstore.util.BlobUtils blobUtils,
                             com.google.common.base.Supplier<org.jclouds.domain.Location> defaultLocation,
                             com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations,
                             S3Client sync,
                             com.google.common.base.Function<Set<BucketMetadata>,org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata>> convertBucketsToStorageMetadata,
                             ContainerToBucketListOptions container2BucketListOptions,
                             BucketToResourceList bucket2ResourceList,
                             ObjectToBlob object2Blob,
                             org.jclouds.blobstore.functions.BlobToHttpGetOptions blob2ObjectGetOptions,
                             BlobToObject blob2Object,
                             ObjectToBlobMetadata object2BlobMd,
                             javax.inject.Provider<org.jclouds.blobstore.strategy.internal.FetchBlobMetadata> fetchBlobMetadataProvider,
                             com.google.common.cache.LoadingCache<String,AccessControlList> bucketAcls)
Method Detail

list

public org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata> list()
This implementation invokes S3Client.listOwnedBuckets()


containerExists

public boolean containerExists(String container)
This implementation invokes S3Client.bucketExists(java.lang.String)

Parameters:
container - bucket name

createContainerInLocation

public boolean createContainerInLocation(org.jclouds.domain.Location location,
                                         String container)
This implementation invokes S3Client.putBucketInRegion(java.lang.String, java.lang.String, org.jclouds.s3.options.PutBucketOptions...)

Parameters:
location - corresponds to a Region
container - bucket name

list

public org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata> list(String container,
                                                                                                         org.jclouds.blobstore.options.ListContainerOptions options)
This implementation invokes S3Client.listBucket(java.lang.String, org.jclouds.s3.options.ListBucketOptions...)

Parameters:
container - bucket name

deletePathAndEnsureGone

protected void deletePathAndEnsureGone(String path)
This implementation invokes BaseBlobStore.clearContainer(java.lang.String) then S3Client.deleteBucketIfEmpty(java.lang.String) until it is true.

Overrides:
deletePathAndEnsureGone in class org.jclouds.blobstore.internal.BaseBlobStore

blobExists

public boolean blobExists(String container,
                          String key)
This implementation invokes S3Client.objectExists(java.lang.String, java.lang.String)

Parameters:
container - bucket name
key - object key

blobMetadata

public org.jclouds.blobstore.domain.BlobMetadata blobMetadata(String container,
                                                              String key)
This implementation invokes S3Client.headObject(java.lang.String, java.lang.String)

Parameters:
container - bucket name
key - object key

getBlob

public org.jclouds.blobstore.domain.Blob getBlob(String container,
                                                 String key,
                                                 org.jclouds.blobstore.options.GetOptions optionsList)
This implementation invokes S3Client.getObject(java.lang.String, java.lang.String, org.jclouds.http.options.GetOptions...)

Parameters:
container - bucket name
key - object key

putBlob

public String putBlob(String container,
                      org.jclouds.blobstore.domain.Blob blob)
This implementation invokes S3Client.putObject(java.lang.String, org.jclouds.s3.domain.S3Object, org.jclouds.s3.options.PutObjectOptions...)

Parameters:
container - bucket name
blob - object

putBlob

public String putBlob(String container,
                      org.jclouds.blobstore.domain.Blob blob,
                      org.jclouds.blobstore.options.PutOptions overrides)
This implementation invokes S3Client.putObject(java.lang.String, org.jclouds.s3.domain.S3Object, org.jclouds.s3.options.PutObjectOptions...)

Parameters:
container - bucket name
blob - object

removeBlob

public void removeBlob(String container,
                       String key)
This implementation invokes S3Client.deleteObject(java.lang.String, java.lang.String)

Parameters:
container - bucket name
key - object key

deleteAndVerifyContainerGone

protected boolean deleteAndVerifyContainerGone(String container)
This implementation invokes S3Utils.deleteAndVerifyContainerGone(org.jclouds.s3.S3Client, java.lang.String)

Specified by:
deleteAndVerifyContainerGone in class org.jclouds.blobstore.internal.BaseBlobStore

createContainerInLocation

public boolean createContainerInLocation(org.jclouds.domain.Location location,
                                         String container,
                                         org.jclouds.blobstore.options.CreateContainerOptions options)


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.