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:
org.jclouds.blobstore.AsyncBlobStore

@Singleton
public class SwiftAsyncBlobStore
extends org.jclouds.blobstore.internal.BaseAsyncBlobStore

Author:
Adrian Cole

Field Summary
 
Fields inherited from class org.jclouds.blobstore.internal.BaseAsyncBlobStore
blobUtils, context, defaultLocation, locations, service
 
Constructor Summary
protected SwiftAsyncBlobStore(org.jclouds.blobstore.BlobStoreContext context, org.jclouds.blobstore.util.BlobUtils blobUtils, ExecutorService service, com.google.common.base.Supplier<org.jclouds.domain.Location> defaultLocation, com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations, CommonSwiftClient sync, CommonSwiftAsyncClient async, ContainerToResourceMetadata container2ResourceMd, BlobStoreListContainerOptionsToListContainerOptions container2ContainerListOptions, ContainerToResourceList container2ResourceList, ObjectToBlob object2Blob, BlobToObject blob2Object, ObjectToBlobMetadata object2BlobMd, org.jclouds.blobstore.functions.BlobToHttpGetOptions blob2ObjectGetOptions, javax.inject.Provider<org.jclouds.blobstore.strategy.internal.FetchBlobMetadata> fetchBlobMetadataProvider, javax.inject.Provider<AsyncMultipartUploadStrategy> multipartUploadStrategy)
           
 
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<org.jclouds.blobstore.domain.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(org.jclouds.domain.Location location, String container)
          Note that location is currently ignored.
 com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(org.jclouds.domain.Location location, String container, org.jclouds.blobstore.options.CreateContainerOptions options)
           
protected  boolean deleteAndVerifyContainerGone(String container)
           
 com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.Blob> getBlob(String container, String key, org.jclouds.blobstore.options.GetOptions options)
          This implementation invokes CommonSwiftAsyncClient.getObject(java.lang.String, java.lang.String, org.jclouds.http.options.GetOptions...)
 com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata>> list()
          This implementation invokes CommonSwiftAsyncClient.listContainers(org.jclouds.openstack.swift.options.ListContainerOptions...)
 com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata>> list(String container, org.jclouds.blobstore.options.ListContainerOptions options)
          This implementation invokes CommonSwiftAsyncClient#listBucket
 com.google.common.util.concurrent.ListenableFuture<String> putBlob(String container, org.jclouds.blobstore.domain.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, org.jclouds.blobstore.domain.Blob blob, org.jclouds.blobstore.options.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(org.jclouds.blobstore.BlobStoreContext context,
                                     org.jclouds.blobstore.util.BlobUtils blobUtils,
                                     @Named(value="jclouds.user-threads")
                                     ExecutorService service,
                                     com.google.common.base.Supplier<org.jclouds.domain.Location> defaultLocation,
                                     com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations,
                                     CommonSwiftClient sync,
                                     CommonSwiftAsyncClient async,
                                     ContainerToResourceMetadata container2ResourceMd,
                                     BlobStoreListContainerOptionsToListContainerOptions container2ContainerListOptions,
                                     ContainerToResourceList container2ResourceList,
                                     ObjectToBlob object2Blob,
                                     BlobToObject blob2Object,
                                     ObjectToBlobMetadata object2BlobMd,
                                     org.jclouds.blobstore.functions.BlobToHttpGetOptions blob2ObjectGetOptions,
                                     javax.inject.Provider<org.jclouds.blobstore.strategy.internal.FetchBlobMetadata> fetchBlobMetadataProvider,
                                     javax.inject.Provider<AsyncMultipartUploadStrategy> multipartUploadStrategy)
Method Detail

list

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


containerExists

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

Parameters:
container - container name

createContainerInLocation

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


list

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

Parameters:
container - container name

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

blobMetadata

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

Parameters:
container - container name
key - object key

getBlob

public com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.Blob> getBlob(String container,
                                                                                                     String key,
                                                                                                     org.jclouds.blobstore.options.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

putBlob

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

Parameters:
container - container name
blob - object

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

deleteAndVerifyContainerGone

protected boolean deleteAndVerifyContainerGone(String container)
Specified by:
deleteAndVerifyContainerGone in class org.jclouds.blobstore.internal.BaseAsyncBlobStore

putBlob

public com.google.common.util.concurrent.ListenableFuture<String> putBlob(String container,
                                                                          org.jclouds.blobstore.domain.Blob blob,
                                                                          org.jclouds.blobstore.options.PutOptions options)

createContainerInLocation

public com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(org.jclouds.domain.Location location,
                                                                                             String container,
                                                                                             org.jclouds.blobstore.options.CreateContainerOptions options)


Copyright © 2009-2012 jclouds. All Rights Reserved.