org.jclouds.filesystem.strategy.internal
Class FilesystemStorageStrategyImpl

java.lang.Object
  extended by org.jclouds.filesystem.strategy.internal.FilesystemStorageStrategyImpl
All Implemented Interfaces:
org.jclouds.blobstore.LocalStorageStrategy

public class FilesystemStorageStrategyImpl
extends Object
implements org.jclouds.blobstore.LocalStorageStrategy

Author:
Alfredo "Rainbowbreeze" Morresi

Field Summary
protected  String baseDirectory
           
protected  javax.inject.Provider<org.jclouds.blobstore.domain.BlobBuilder> blobBuilders
           
protected  FilesystemBlobKeyValidator filesystemBlobKeyValidator
           
protected  FilesystemContainerNameValidator filesystemContainerNameValidator
           
protected  org.jclouds.logging.Logger logger
           
 
Constructor Summary
protected FilesystemStorageStrategyImpl(javax.inject.Provider<org.jclouds.blobstore.domain.BlobBuilder> blobBuilders, String baseDir, FilesystemContainerNameValidator filesystemContainerNameValidator, FilesystemBlobKeyValidator filesystemBlobKeyValidator)
           
 
Method Summary
 boolean blobExists(String container, String key)
           
protected  String buildPathStartingFromBaseDir(String... pathTokens)
          Facility method used to concatenate path tokens normalizing separators
 void clearContainer(String container)
           
 void clearContainer(String container, org.jclouds.blobstore.options.ListContainerOptions options)
           
 boolean containerExists(String container)
           
 long countBlobs(String container, org.jclouds.blobstore.options.ListContainerOptions options)
           
 boolean createContainer(String container)
           
 boolean createContainerInLocation(String container, org.jclouds.domain.Location location)
           
 void createDirectory(String container, String directory)
           
protected  boolean createDirectoryWithResult(String container, String directory)
          Creates a directory and returns the result
 void deleteContainer(String container)
           
 void deleteDirectory(String container, String directory)
           
 boolean directoryExists(String container, String directory)
           
 Iterable<String> getAllContainerNames()
           
 org.jclouds.blobstore.domain.Blob getBlob(String container, String key)
           
 Iterable<String> getBlobKeysInsideContainer(String container)
          Returns all the blobs key inside a container
 File getFileForBlobKey(String container, String blobKey)
          Returns a File object that links to the blob
 org.jclouds.domain.Location getLocation(String containerName)
           
 String getSeparator()
           
 org.jclouds.blobstore.domain.Blob newBlob(String name)
           
 String putBlob(String containerName, org.jclouds.blobstore.domain.Blob blob)
           
 void removeBlob(String container, String blobKey)
           
 
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

blobBuilders

protected final javax.inject.Provider<org.jclouds.blobstore.domain.BlobBuilder> blobBuilders

baseDirectory

protected final String baseDirectory

filesystemContainerNameValidator

protected final FilesystemContainerNameValidator filesystemContainerNameValidator

filesystemBlobKeyValidator

protected final FilesystemBlobKeyValidator filesystemBlobKeyValidator
Constructor Detail

FilesystemStorageStrategyImpl

@Inject
protected FilesystemStorageStrategyImpl(javax.inject.Provider<org.jclouds.blobstore.domain.BlobBuilder> blobBuilders,
                                               @Named(value="jclouds.filesystem.basedir")
                                               String baseDir,
                                               FilesystemContainerNameValidator filesystemContainerNameValidator,
                                               FilesystemBlobKeyValidator filesystemBlobKeyValidator)
Method Detail

containerExists

public boolean containerExists(String container)
Specified by:
containerExists in interface org.jclouds.blobstore.LocalStorageStrategy

getAllContainerNames

public Iterable<String> getAllContainerNames()
Specified by:
getAllContainerNames in interface org.jclouds.blobstore.LocalStorageStrategy

createContainerInLocation

public boolean createContainerInLocation(String container,
                                         org.jclouds.domain.Location location)
Specified by:
createContainerInLocation in interface org.jclouds.blobstore.LocalStorageStrategy

deleteContainer

public void deleteContainer(String container)
Specified by:
deleteContainer in interface org.jclouds.blobstore.LocalStorageStrategy

clearContainer

public void clearContainer(String container)
Specified by:
clearContainer in interface org.jclouds.blobstore.LocalStorageStrategy

clearContainer

public void clearContainer(String container,
                           org.jclouds.blobstore.options.ListContainerOptions options)
Specified by:
clearContainer in interface org.jclouds.blobstore.LocalStorageStrategy

blobExists

public boolean blobExists(String container,
                          String key)
Specified by:
blobExists in interface org.jclouds.blobstore.LocalStorageStrategy

getBlobKeysInsideContainer

public Iterable<String> getBlobKeysInsideContainer(String container)
                                            throws IOException
Returns all the blobs key inside a container

Specified by:
getBlobKeysInsideContainer in interface org.jclouds.blobstore.LocalStorageStrategy
Parameters:
container -
Returns:
Throws:
IOException

getBlob

public org.jclouds.blobstore.domain.Blob getBlob(String container,
                                                 String key)
Specified by:
getBlob in interface org.jclouds.blobstore.LocalStorageStrategy

putBlob

public String putBlob(String containerName,
                      org.jclouds.blobstore.domain.Blob blob)
               throws IOException
Specified by:
putBlob in interface org.jclouds.blobstore.LocalStorageStrategy
Throws:
IOException

removeBlob

public void removeBlob(String container,
                       String blobKey)
Specified by:
removeBlob in interface org.jclouds.blobstore.LocalStorageStrategy

getLocation

public org.jclouds.domain.Location getLocation(String containerName)
Specified by:
getLocation in interface org.jclouds.blobstore.LocalStorageStrategy

getSeparator

public String getSeparator()
Specified by:
getSeparator in interface org.jclouds.blobstore.LocalStorageStrategy

createContainer

public boolean createContainer(String container)

newBlob

public org.jclouds.blobstore.domain.Blob newBlob(String name)

getFileForBlobKey

public File getFileForBlobKey(String container,
                              String blobKey)
Returns a File object that links to the blob

Parameters:
container -
blobKey -
Returns:

directoryExists

public boolean directoryExists(String container,
                               String directory)

createDirectory

public void createDirectory(String container,
                            String directory)

deleteDirectory

public void deleteDirectory(String container,
                            String directory)

countBlobs

public long countBlobs(String container,
                       org.jclouds.blobstore.options.ListContainerOptions options)

buildPathStartingFromBaseDir

protected String buildPathStartingFromBaseDir(String... pathTokens)
Facility method used to concatenate path tokens normalizing separators

Parameters:
pathTokens - all the string in the proper order that must be concatenated in order to obtain the filename
Returns:
the resulting string

createDirectoryWithResult

protected boolean createDirectoryWithResult(String container,
                                            String directory)
Creates a directory and returns the result

Parameters:
container -
directory -
Returns:
true if the directory was created, otherwise false


Copyright © 2009-2013 jclouds. All Rights Reserved.