org.jclouds.atmos.blobstore
Class AtmosAsyncBlobStore

java.lang.Object
  extended by org.jclouds.blobstore.internal.BaseAsyncBlobStore
      extended by org.jclouds.atmos.blobstore.AtmosAsyncBlobStore
All Implemented Interfaces:
org.jclouds.blobstore.AsyncBlobStore

@Singleton
public class AtmosAsyncBlobStore
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
 
Method Summary
 com.google.common.util.concurrent.ListenableFuture<Boolean> blobExists(String container, String key)
          This implementation invokes AtmosAsyncClient.pathExists(java.lang.String)
 com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.BlobMetadata> blobMetadata(String container, String key)
          This implementation invokes AtmosAsyncClient.headFile(java.lang.String)
 com.google.common.util.concurrent.ListenableFuture<Boolean> containerExists(String container)
          This implementation invokes AtmosAsyncClient.pathExists(java.lang.String)
 com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(org.jclouds.domain.Location location, String container)
          This implementation invokes AtmosAsyncClient.createDirectory(java.lang.String, org.jclouds.atmos.options.PutOptions...)

Note location is ignored

 com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(org.jclouds.domain.Location location, String container, org.jclouds.blobstore.options.CreateContainerOptions options)
           
 com.google.common.util.concurrent.ListenableFuture<Void> createDirectory(String container, String directory)
          This implementation invokes AtmosAsyncClient.createDirectory(java.lang.String, org.jclouds.atmos.options.PutOptions...)
protected  boolean deleteAndVerifyContainerGone(String container)
          This implementation invokes AtmosAsyncClient.deletePath(java.lang.String) followed by AtmosAsyncClient.pathExists(java.lang.String) until it is true.
 com.google.common.util.concurrent.ListenableFuture<Void> deleteDirectory(String containerName, String directory)
          This implementation invokes removeBlob(java.lang.String, java.lang.String)
 com.google.common.util.concurrent.ListenableFuture<Boolean> directoryExists(String container, String directory)
          This implementation invokes AtmosAsyncClient.pathExists(java.lang.String)
 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 AtmosAsyncClient.readFile(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 AtmosAsyncClient.listDirectories(org.jclouds.atmos.options.ListOptions...)
 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 AtmosAsyncClient.listDirectory(java.lang.String, org.jclouds.atmos.options.ListOptions...)
 com.google.common.util.concurrent.ListenableFuture<String> putBlob(String container, org.jclouds.blobstore.domain.Blob blob)
          This implementation invokes AtmosAsyncClient.createFile(java.lang.String, org.jclouds.atmos.domain.AtmosObject, org.jclouds.atmos.options.PutOptions...)

Since there is no etag support in atmos, we just return the path.

 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 AtmosAsyncClient.deletePath(java.lang.String)
 
Methods inherited from class org.jclouds.blobstore.internal.BaseAsyncBlobStore
blobBuilder, clearContainer, clearContainer, countBlobs, countBlobs, deleteAndEnsurePathGone, deleteContainer, getBlob, getContext, list, listAssignableLocations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

blobMetadata

public com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.BlobMetadata> blobMetadata(String container,
                                                                                                                  String key)
This implementation invokes AtmosAsyncClient.headFile(java.lang.String)


createContainerInLocation

public com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(org.jclouds.domain.Location location,
                                                                                             String container)
This implementation invokes AtmosAsyncClient.createDirectory(java.lang.String, org.jclouds.atmos.options.PutOptions...)

Note location is ignored


createDirectory

public com.google.common.util.concurrent.ListenableFuture<Void> createDirectory(String container,
                                                                                String directory)
This implementation invokes AtmosAsyncClient.createDirectory(java.lang.String, org.jclouds.atmos.options.PutOptions...)

Specified by:
createDirectory in interface org.jclouds.blobstore.AsyncBlobStore
Overrides:
createDirectory in class org.jclouds.blobstore.internal.BaseAsyncBlobStore

deleteAndVerifyContainerGone

protected boolean deleteAndVerifyContainerGone(String container)
This implementation invokes AtmosAsyncClient.deletePath(java.lang.String) followed by AtmosAsyncClient.pathExists(java.lang.String) until it is true.

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

containerExists

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


directoryExists

public com.google.common.util.concurrent.ListenableFuture<Boolean> directoryExists(String container,
                                                                                   String directory)
This implementation invokes AtmosAsyncClient.pathExists(java.lang.String)

Specified by:
directoryExists in interface org.jclouds.blobstore.AsyncBlobStore
Overrides:
directoryExists in class org.jclouds.blobstore.internal.BaseAsyncBlobStore

deleteDirectory

public com.google.common.util.concurrent.ListenableFuture<Void> deleteDirectory(String containerName,
                                                                                String directory)
This implementation invokes removeBlob(java.lang.String, java.lang.String)

Specified by:
deleteDirectory in interface org.jclouds.blobstore.AsyncBlobStore
Overrides:
deleteDirectory in class org.jclouds.blobstore.internal.BaseAsyncBlobStore

blobExists

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

Parameters:
container - container
key - file name

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 AtmosAsyncClient.readFile(java.lang.String, org.jclouds.http.options.GetOptions...)


list

public com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata>> list()
This implementation invokes AtmosAsyncClient.listDirectories(org.jclouds.atmos.options.ListOptions...)


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 AtmosAsyncClient.listDirectory(java.lang.String, org.jclouds.atmos.options.ListOptions...)


putBlob

public com.google.common.util.concurrent.ListenableFuture<String> putBlob(String container,
                                                                          org.jclouds.blobstore.domain.Blob blob)
This implementation invokes AtmosAsyncClient.createFile(java.lang.String, org.jclouds.atmos.domain.AtmosObject, org.jclouds.atmos.options.PutOptions...)

Since there is no etag support in atmos, we just return the path.


removeBlob

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


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.