Class MarkersDeleteDirectoryStrategy

java.lang.Object
org.jclouds.blobstore.strategy.internal.MarkersDeleteDirectoryStrategy
All Implemented Interfaces:
DeleteDirectoryStrategy

@Singleton public class MarkersDeleteDirectoryStrategy extends Object implements DeleteDirectoryStrategy
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:
  • Field Details

    • logger

      @Named("jclouds.blobstore") protected Logger logger
    • maxTime

      @Inject(optional=true) @Named("jclouds.request-timeout") protected Long maxTime
      maximum duration of an blob Request
  • Method Details