org.jclouds.filesystem
Class FilesystemAsyncBlobStore

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

public class FilesystemAsyncBlobStore
extends org.jclouds.blobstore.internal.BaseAsyncBlobStore

Preconditions: Blob name cannot start with / char (or \ under windows)

Author:
Alfredo "Rainbowbreeze" Morresi

Nested Class Summary
protected static class FilesystemAsyncBlobStore.CommonPrefixes
           
protected static class FilesystemAsyncBlobStore.DelimiterFilter
           
 
Field Summary
protected  org.jclouds.blobstore.domain.Blob.Factory blobFactory
           
protected  org.jclouds.io.ContentMetadataCodec contentMetadataCodec
           
protected  org.jclouds.crypto.Crypto crypto
           
protected  org.jclouds.date.DateService dateService
           
protected  org.jclouds.blobstore.functions.HttpGetOptionsListToGetOptions httpGetOptionsConverter
           
protected  org.jclouds.blobstore.strategy.IfDirectoryReturnNameStrategy ifDirectoryReturnName
           
protected  org.jclouds.logging.Logger logger
           
protected  FilesystemStorageStrategy storageStrategy
           
 
Fields inherited from class org.jclouds.blobstore.internal.BaseAsyncBlobStore
blobUtils, context, defaultLocation, locations, service
 
Constructor Summary
protected FilesystemAsyncBlobStore(org.jclouds.blobstore.BlobStoreContext context, org.jclouds.date.DateService dateService, org.jclouds.crypto.Crypto crypto, org.jclouds.blobstore.functions.HttpGetOptionsListToGetOptions httpGetOptionsConverter, org.jclouds.io.ContentMetadataCodec contentMetadataCodec, org.jclouds.blobstore.strategy.IfDirectoryReturnNameStrategy ifDirectoryReturnName, 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, org.jclouds.blobstore.domain.Blob.Factory blobFactory, FilesystemStorageStrategy storageStrategy)
           
 
Method Summary
 com.google.common.util.concurrent.ListenableFuture<Boolean> blobExists(String containerName, String key)
          
 com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.BlobMetadata> blobMetadata(String container, String key)
          
 com.google.common.util.concurrent.ListenableFuture<Boolean> containerExists(String containerName)
          
static org.jclouds.blobstore.domain.MutableBlobMetadata copy(org.jclouds.blobstore.domain.MutableBlobMetadata in)
           
static org.jclouds.blobstore.domain.MutableBlobMetadata copy(org.jclouds.blobstore.domain.MutableBlobMetadata in, String newKey)
           
protected  org.jclouds.blobstore.domain.MutableStorageMetadata create()
           
 com.google.common.util.concurrent.ListenableFuture<Boolean> createContainerInLocation(org.jclouds.domain.Location location, String name)
          
 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<Void> deleteContainer(String container)
          Override parent method because it uses strange futures and listenables that creates problem in the test if more than one test that deletes the container is executed
 com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.Blob> getBlob(String containerName, String key, org.jclouds.blobstore.options.GetOptions options)
          
 com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata>> list()
          
 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)
          default maxResults is 1000
 com.google.common.util.concurrent.ListenableFuture<String> putBlob(String containerName, org.jclouds.blobstore.domain.Blob blob)
          
 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)
          
static org.jclouds.http.HttpResponseException returnResponseException(int code)
           
 
Methods inherited from class org.jclouds.blobstore.internal.BaseAsyncBlobStore
blobBuilder, clearContainer, clearContainer, countBlobs, countBlobs, createDirectory, deleteAndEnsurePathGone, deleteDirectory, directoryExists, getBlob, getContext, list, listAssignableLocations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected org.jclouds.logging.Logger logger

dateService

protected final org.jclouds.date.DateService dateService

crypto

protected final org.jclouds.crypto.Crypto crypto

httpGetOptionsConverter

protected final org.jclouds.blobstore.functions.HttpGetOptionsListToGetOptions httpGetOptionsConverter

contentMetadataCodec

protected final org.jclouds.io.ContentMetadataCodec contentMetadataCodec

ifDirectoryReturnName

protected final org.jclouds.blobstore.strategy.IfDirectoryReturnNameStrategy ifDirectoryReturnName

blobFactory

protected final org.jclouds.blobstore.domain.Blob.Factory blobFactory

storageStrategy

protected final FilesystemStorageStrategy storageStrategy
Constructor Detail

FilesystemAsyncBlobStore

@Inject
protected FilesystemAsyncBlobStore(org.jclouds.blobstore.BlobStoreContext context,
                                          org.jclouds.date.DateService dateService,
                                          org.jclouds.crypto.Crypto crypto,
                                          org.jclouds.blobstore.functions.HttpGetOptionsListToGetOptions httpGetOptionsConverter,
                                          org.jclouds.io.ContentMetadataCodec contentMetadataCodec,
                                          org.jclouds.blobstore.strategy.IfDirectoryReturnNameStrategy ifDirectoryReturnName,
                                          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,
                                          org.jclouds.blobstore.domain.Blob.Factory blobFactory,
                                          FilesystemStorageStrategy storageStrategy)
Method Detail

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)
default maxResults is 1000


copy

public static org.jclouds.blobstore.domain.MutableBlobMetadata copy(org.jclouds.blobstore.domain.MutableBlobMetadata in)

copy

public static org.jclouds.blobstore.domain.MutableBlobMetadata copy(org.jclouds.blobstore.domain.MutableBlobMetadata in,
                                                                    String newKey)

removeBlob

public com.google.common.util.concurrent.ListenableFuture<Void> removeBlob(String container,
                                                                           String key)


deleteContainer

public com.google.common.util.concurrent.ListenableFuture<Void> deleteContainer(String container)
Override parent method because it uses strange futures and listenables that creates problem in the test if more than one test that deletes the container is executed

Specified by:
deleteContainer in interface org.jclouds.blobstore.AsyncBlobStore
Overrides:
deleteContainer in class org.jclouds.blobstore.internal.BaseAsyncBlobStore
Parameters:
container -
Returns:

containerExists

public com.google.common.util.concurrent.ListenableFuture<Boolean> containerExists(String containerName)


list

public com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata>> list()


create

protected org.jclouds.blobstore.domain.MutableStorageMetadata create()

createContainerInLocation

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


returnResponseException

public static org.jclouds.http.HttpResponseException returnResponseException(int code)

putBlob

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


blobExists

public com.google.common.util.concurrent.ListenableFuture<Boolean> blobExists(String containerName,
                                                                              String key)


getBlob

public com.google.common.util.concurrent.ListenableFuture<org.jclouds.blobstore.domain.Blob> getBlob(String containerName,
                                                                                                     String key,
                                                                                                     org.jclouds.blobstore.options.GetOptions options)


blobMetadata

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