Interface LocalStorageStrategy

All Known Implementing Classes:
FilesystemStorageStrategyImpl, TransientStorageStrategy

public interface LocalStorageStrategy
Strategy for local operations related to container and blob
  • Method Details

    • containerExists

      boolean containerExists(String container)
      Checks if a container exists
      Parameters:
      container -
      Returns:
    • getAllContainerNames

      Collection<String> getAllContainerNames()
      Return an iterator that reports all the containers under base path
      Returns:
    • createContainerInLocation

      boolean createContainerInLocation(String container, Location location, CreateContainerOptions options)
      Creates a new container
      Parameters:
      container -
      Returns:
    • getContainerAccess

      ContainerAccess getContainerAccess(String container)
    • setContainerAccess

      void setContainerAccess(String container, ContainerAccess access)
    • deleteContainer

      void deleteContainer(String container)
      Deletes a container and all its content
      Parameters:
      container -
    • clearContainer

      void clearContainer(String container)
      Empty the container of its content (files and subdirectories), but doesn't delete the container itself
      Parameters:
      container -
    • clearContainer

      void clearContainer(String container, ListContainerOptions options)
      Like clearContainer(String) except you can use options to do things like recursive deletes, or clear at a different path than root.
      Parameters:
      container - what to clear
      options - recursion and path to clear
    • getContainerMetadata

      StorageMetadata getContainerMetadata(String container)
      Returns:
      StorageMetadata associated with a container name, e.g., creation date and location, or null if container does not exist
    • blobExists

      boolean blobExists(String container, String key)
      Return true if a blob named by key exists
      Parameters:
      container -
      key -
      Returns:
    • getBlobKeysInsideContainer

      Iterable<String> getBlobKeysInsideContainer(String container, String prefix, String delimiter) throws IOException
      Returns all the blobs key inside a container
      Parameters:
      container -
      Returns:
      Throws:
      IOException
    • getBlob

      Blob getBlob(String containerName, String blobName)
      Load the blob with the given key belonging to the container with the given name. There must exist a resource on the file system whose complete name is given concatenating the container name and the key
      Parameters:
      container - it's the name of the container the blob belongs to
      key - it's the key of the blob
      Returns:
      the blob belonging to the given container with the given key
    • putBlob

      @Deprecated String putBlob(String containerName, Blob blob) throws IOException
      Deprecated.
      Throws:
      IOException
    • putBlob

      String putBlob(String containerName, Blob blob, BlobAccess access) throws IOException
      Write a Blob into a file
      Parameters:
      blob -
      access -
      container -
      Returns:
      etag of blob
      Throws:
      IOException
    • removeBlob

      void removeBlob(String container, String key)
      Remove blob named by the given key
      Parameters:
      container -
      key -
    • getBlobAccess

      BlobAccess getBlobAccess(String container, String key)
    • setBlobAccess

      void setBlobAccess(String container, String key, BlobAccess access)
    • getLocation

      Location getLocation(String containerName)
      Parameters:
      containerName - name of container
      Returns:
      Location of container or null
    • getSeparator

      String getSeparator()
      Returns:
      path separator, either / or \