org.jclouds.openstack.swift.blobstore
Class SwiftAsyncBlobStore

java.lang.Object
  extended by org.jclouds.blobstore.internal.BaseAsyncBlobStore
      extended by org.jclouds.openstack.swift.blobstore.SwiftAsyncBlobStore
All Implemented Interfaces:
AsyncBlobStore
Direct Known Subclasses:
CloudFilesAsyncBlobStore, HPCloudObjectStorageLasVegasAsyncBlobStore

@Singleton
public class SwiftAsyncBlobStore
extends BaseAsyncBlobStore

Author:
Adrian Cole

Field Summary
 
Fields inherited from class org.jclouds.blobstore.internal.BaseAsyncBlobStore
blobUtils, context, defaultLocation, locations, service
 
Constructor Summary
protected SwiftAsyncBlobStore(BlobStoreContext context, BlobUtils blobUtils, ExecutorService service, com.google.common.base.Supplier<Location> defaultLocation, com.google.common.base.Supplier<Set<? extends Location>> locations, CommonSwiftClient sync, CommonSwiftAsyncClient async, ContainerToResourceMetadata container2ResourceMd, BlobStoreListContainerOptionsToListContainerOptions container2ContainerListOptions, ContainerToResourceList container2ResourceList, ObjectToBlob object2Blob, BlobToObject blob2Object, ObjectToBlobMetadata object2BlobMd, BlobToHttpGetOptions blob2ObjectGetOptions, javax.inject.Provider<FetchBlobMetadata> fetchBlobMetadataProvider)
           
 
Method Summary
 com.google.common.util.concurrent.ListenableFuture<Boolean> blobExists(String container, String key)
          This implementation invokes CommonSwiftAsyncClient.objectExists(java.lang.String, java.lang.String)
 com.google.common.util.concurrent.ListenableFuture<BlobMetadata> blobMetadata(String container, String key)
          This implementation invokes CommonSwiftAsyncClient#headObject
 com.google.common.util.concurrent.ListenableFuture<Boolean> containerExists(String container)
          This implementation invokes CommonSwiftAsyncClient.containerExists(java.lang.String)
 com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(Location location, String container)
          Note that location is currently ignored.
 com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(Location location, String container, CreateContainerOptions options)
           
protected  boolean deleteAndVerifyContainerGone(String container)
           
 com.google.common.util.concurrent.ListenableFuture<Blob> getBlob(String container, String key, GetOptions options)
          This implementation invokes CommonSwiftAsyncClient.getObject(java.lang.String, java.lang.String, org.jclouds.http.options.GetOptions...)
 com.google.common.util.concurrent.ListenableFuture<PageSet<? extends StorageMetadata>> list()
          This implementation invokes CommonSwiftAsyncClient.listContainers(org.jclouds.openstack.swift.options.ListContainerOptions...)
 com.google.common.util.concurrent.ListenableFuture<PageSet<? extends StorageMetadata>> list(String container, ListContainerOptions options)
          This implementation invokes CommonSwiftAsyncClient#listBucket
 com.google.common.util.concurrent.ListenableFuture<String> putBlob(String container, Blob blob)
          This implementation invokes CommonSwiftAsyncClient.putObject(java.lang.String, org.jclouds.openstack.swift.domain.SwiftObject)
 com.google.common.util.concurrent.ListenableFuture<String> putBlob(String container, Blob blob, PutOptions options)
           
 com.google.common.util.concurrent.ListenableFuture<Void> removeBlob(String container, String key)
          This implementation invokes CommonSwiftAsyncClient.removeObject(java.lang.String, java.lang.String)
 
Methods inherited from class org.jclouds.blobstore.internal.BaseAsyncBlobStore
blobBuilder, clearContainer, clearContainer, countBlobs, countBlobs, createDirectory, deleteAndEnsurePathGone, deleteContainer, 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

SwiftAsyncBlobStore

@Inject
protected SwiftAsyncBlobStore(BlobStoreContext context,
                                     BlobUtils blobUtils,
                                     @Named(value="jclouds.user-threads")
                                     ExecutorService service,
                                     com.google.common.base.Supplier<Location> defaultLocation,
                                     com.google.common.base.Supplier<Set<? extends Location>> locations,
                                     CommonSwiftClient sync,
                                     CommonSwiftAsyncClient async,
                                     ContainerToResourceMetadata container2ResourceMd,
                                     BlobStoreListContainerOptionsToListContainerOptions container2ContainerListOptions,
                                     ContainerToResourceList container2ResourceList,
                                     ObjectToBlob object2Blob,
                                     BlobToObject blob2Object,
                                     ObjectToBlobMetadata object2BlobMd,
                                     BlobToHttpGetOptions blob2ObjectGetOptions,
                                     javax.inject.Provider<FetchBlobMetadata> fetchBlobMetadataProvider)
Method Detail

list

public com.google.common.util.concurrent.ListenableFuture<PageSet<? extends StorageMetadata>> list()
This implementation invokes CommonSwiftAsyncClient.listContainers(org.jclouds.openstack.swift.options.ListContainerOptions...)

See Also:
BlobStore.list()

containerExists

public com.google.common.util.concurrent.ListenableFuture<Boolean> containerExists(String container)
This implementation invokes CommonSwiftAsyncClient.containerExists(java.lang.String)

Parameters:
container - container name
See Also:
BlobStore.containerExists(java.lang.String)

createContainerInLocation

public com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(Location location,
                                                                                             String container)
Note that location is currently ignored.

See Also:
BlobStore.createContainerInLocation(Location, String)

list

public com.google.common.util.concurrent.ListenableFuture<PageSet<? extends StorageMetadata>> list(String container,
                                                                                                   ListContainerOptions options)
This implementation invokes CommonSwiftAsyncClient#listBucket

Parameters:
container - container name
See Also:
BlobStore.list(String, ListContainerOptions)

blobExists

public com.google.common.util.concurrent.ListenableFuture<Boolean> blobExists(String container,
                                                                              String key)
This implementation invokes CommonSwiftAsyncClient.objectExists(java.lang.String, java.lang.String)

Parameters:
container - container name
key - object key
See Also:
BlobStore.blobExists(java.lang.String, java.lang.String)

blobMetadata

public com.google.common.util.concurrent.ListenableFuture<BlobMetadata> blobMetadata(String container,
                                                                                     String key)
This implementation invokes CommonSwiftAsyncClient#headObject

Parameters:
container - container name
key - object key
See Also:
BlobStore.blobMetadata(java.lang.String, java.lang.String)

getBlob

public com.google.common.util.concurrent.ListenableFuture<Blob> getBlob(String container,
                                                                        String key,
                                                                        GetOptions options)
This implementation invokes CommonSwiftAsyncClient.getObject(java.lang.String, java.lang.String, org.jclouds.http.options.GetOptions...)

Parameters:
container - container name
key - object key
See Also:
BlobStore.getBlob(String, String, GetOptions)

putBlob

public com.google.common.util.concurrent.ListenableFuture<String> putBlob(String container,
                                                                          Blob blob)
This implementation invokes CommonSwiftAsyncClient.putObject(java.lang.String, org.jclouds.openstack.swift.domain.SwiftObject)

Parameters:
container - container name
blob - object
See Also:
BlobStore.putBlob(String,Blob)

removeBlob

public com.google.common.util.concurrent.ListenableFuture<Void> removeBlob(String container,
                                                                           String key)
This implementation invokes CommonSwiftAsyncClient.removeObject(java.lang.String, java.lang.String)

Parameters:
container - container name
key - object key
See Also:
BlobStore.removeBlob(java.lang.String, java.lang.String)

deleteAndVerifyContainerGone

protected boolean deleteAndVerifyContainerGone(String container)
Specified by:
deleteAndVerifyContainerGone in class BaseAsyncBlobStore

putBlob

public com.google.common.util.concurrent.ListenableFuture<String> putBlob(String container,
                                                                          Blob blob,
                                                                          PutOptions options)
See Also:
BlobStore.putBlob(String,Blob,PutOptions)

createContainerInLocation

public com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(Location location,
                                                                                             String container,
                                                                                             CreateContainerOptions options)
See Also:
BlobStore.createContainerInLocation(Location,String,CreateContainerOptions)


Copyright © 2009-2012 jclouds. All Rights Reserved.