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.
See Also: