org.jclouds.blobstore.strategy.internal
Class MarkersGetDirectoryStrategy
java.lang.Object
org.jclouds.blobstore.strategy.internal.MarkersGetDirectoryStrategy
- All Implemented Interfaces:
- GetDirectoryStrategy
@Singleton
public class MarkersGetDirectoryStrategy
- extends Object
- implements GetDirectoryStrategy
Key-value implementations of BlobStore, such as S3, do not have directories. In following the
rackspace cloud files project, we use an empty object '#{dirpath}' with content type set to
'application/directory'.
To interoperate with other S3 tools, we accept the following ways to tell if the directory
exists:
- an object named '#{dirpath}_$folder$' or '#{dirpath}/' denoting a directory marker
- an object with content type set to 'application/directory' denoting a directory marker
- if there exists any objects with the prefix "#{dirpath}/", then the directory is said to
exist
- if both a file with the name of a directory and a marker for that directory exists, then the
*file masks the directory*, and the directory is never returned.
- Author:
- Adrian Cole
- See Also:
MarkerFileMkdirStrategy
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
resource2Directory
protected final ResourceMetadataToRelativePathResourceMetadata resource2Directory
MarkersGetDirectoryStrategy
@Inject
public MarkersGetDirectoryStrategy(BlobStore connection,
ResourceMetadataToRelativePathResourceMetadata resource2Directory)
execute
public StorageMetadata execute(String containerName,
String directory)
- Specified by:
execute
in interface GetDirectoryStrategy
Copyright © 2009-2011 jclouds. All Rights Reserved.