Class 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:
    MarkerFileMkdirStrategy
    • Field Detail

      • logger

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

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