Class RegionScopedSwiftBlobStore

java.lang.Object
org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore
All Implemented Interfaces:
org.jclouds.blobstore.BlobStore

public class RegionScopedSwiftBlobStore extends Object implements org.jclouds.blobstore.BlobStore
  • Field Details

    • slicer

      protected final org.jclouds.io.PayloadSlicer slicer
    • userExecutor

      protected final com.google.common.util.concurrent.ListeningExecutorService userExecutor
    • logger

      protected org.jclouds.logging.Logger logger
    • containerCache

      protected final com.google.common.cache.LoadingCache<String,com.google.common.base.Optional<Container>> containerCache
    • retryCountLimit

      @Inject(optional=true) @Named("jclouds.max-retries") protected int retryCountLimit
  • Constructor Details

    • RegionScopedSwiftBlobStore

      @Inject protected RegionScopedSwiftBlobStore(com.google.inject.Injector baseGraph, org.jclouds.blobstore.BlobStoreContext context, SwiftApi api, com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations, String regionId, org.jclouds.io.PayloadSlicer slicer, @Named("jclouds.user-threads") com.google.common.util.concurrent.ListeningExecutorService userExecutor)
  • Method Details

    • listAssignableLocations

      public Set<? extends org.jclouds.domain.Location> listAssignableLocations()
      Specified by:
      listAssignableLocations in interface org.jclouds.blobstore.BlobStore
    • list

      public org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata> list()
      Specified by:
      list in interface org.jclouds.blobstore.BlobStore
    • containerExists

      public boolean containerExists(String container)
      Specified by:
      containerExists in interface org.jclouds.blobstore.BlobStore
    • createContainerInLocation

      public boolean createContainerInLocation(org.jclouds.domain.Location location, String container)
      Specified by:
      createContainerInLocation in interface org.jclouds.blobstore.BlobStore
    • createContainerInLocation

      public boolean createContainerInLocation(org.jclouds.domain.Location location, String container, org.jclouds.blobstore.options.CreateContainerOptions options)
      Specified by:
      createContainerInLocation in interface org.jclouds.blobstore.BlobStore
    • getContainerAccess

      public org.jclouds.blobstore.domain.ContainerAccess getContainerAccess(String name)
      Specified by:
      getContainerAccess in interface org.jclouds.blobstore.BlobStore
    • setContainerAccess

      public void setContainerAccess(String name, org.jclouds.blobstore.domain.ContainerAccess access)
      Specified by:
      setContainerAccess in interface org.jclouds.blobstore.BlobStore
    • list

      public org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata> list(String container)
      Specified by:
      list in interface org.jclouds.blobstore.BlobStore
    • list

      public org.jclouds.blobstore.domain.PageSet<? extends org.jclouds.blobstore.domain.StorageMetadata> list(String container, org.jclouds.blobstore.options.ListContainerOptions options)
      Specified by:
      list in interface org.jclouds.blobstore.BlobStore
    • blobExists

      public boolean blobExists(String container, String name)
      Specified by:
      blobExists in interface org.jclouds.blobstore.BlobStore
    • putBlob

      public String putBlob(String container, org.jclouds.blobstore.domain.Blob blob)
      Specified by:
      putBlob in interface org.jclouds.blobstore.BlobStore
    • putBlob

      public String putBlob(String container, org.jclouds.blobstore.domain.Blob blob, org.jclouds.blobstore.options.PutOptions options)
      Specified by:
      putBlob in interface org.jclouds.blobstore.BlobStore
    • copyBlob

      public String copyBlob(String fromContainer, String fromName, String toContainer, String toName, org.jclouds.blobstore.options.CopyOptions options)
      Specified by:
      copyBlob in interface org.jclouds.blobstore.BlobStore
    • blobMetadata

      public org.jclouds.blobstore.domain.BlobMetadata blobMetadata(String container, String name)
      Specified by:
      blobMetadata in interface org.jclouds.blobstore.BlobStore
    • getBlob

      public org.jclouds.blobstore.domain.Blob getBlob(String container, String key)
      Specified by:
      getBlob in interface org.jclouds.blobstore.BlobStore
    • getBlob

      public org.jclouds.blobstore.domain.Blob getBlob(String container, String name, org.jclouds.blobstore.options.GetOptions options)
      Specified by:
      getBlob in interface org.jclouds.blobstore.BlobStore
    • removeBlob

      public void removeBlob(String container, String name)
      Specified by:
      removeBlob in interface org.jclouds.blobstore.BlobStore
    • removeBlobs

      public void removeBlobs(String container, Iterable<String> names)
      Delete multiple single-part objects. Note that this does not remove the subobjects of a multi-part upload.
      Specified by:
      removeBlobs in interface org.jclouds.blobstore.BlobStore
    • getBlobAccess

      public org.jclouds.blobstore.domain.BlobAccess getBlobAccess(String container, String name)
      Specified by:
      getBlobAccess in interface org.jclouds.blobstore.BlobStore
    • setBlobAccess

      public void setBlobAccess(String container, String name, org.jclouds.blobstore.domain.BlobAccess access)
      Specified by:
      setBlobAccess in interface org.jclouds.blobstore.BlobStore
    • getContext

      public org.jclouds.blobstore.BlobStoreContext getContext()
      Specified by:
      getContext in interface org.jclouds.blobstore.BlobStore
    • blobBuilder

      public org.jclouds.blobstore.domain.BlobBuilder blobBuilder(String name)
      Specified by:
      blobBuilder in interface org.jclouds.blobstore.BlobStore
    • directoryExists

      public boolean directoryExists(String containerName, String directory)
      Specified by:
      directoryExists in interface org.jclouds.blobstore.BlobStore
    • createDirectory

      public void createDirectory(String containerName, String directory)
      Specified by:
      createDirectory in interface org.jclouds.blobstore.BlobStore
    • deleteDirectory

      public void deleteDirectory(String containerName, String directory)
      Specified by:
      deleteDirectory in interface org.jclouds.blobstore.BlobStore
    • countBlobs

      public long countBlobs(String containerName)
      Specified by:
      countBlobs in interface org.jclouds.blobstore.BlobStore
    • initiateMultipartUpload

      public org.jclouds.blobstore.domain.MultipartUpload initiateMultipartUpload(String container, org.jclouds.blobstore.domain.BlobMetadata blobMetadata, org.jclouds.blobstore.options.PutOptions options)
      Specified by:
      initiateMultipartUpload in interface org.jclouds.blobstore.BlobStore
    • abortMultipartUpload

      public void abortMultipartUpload(org.jclouds.blobstore.domain.MultipartUpload mpu)
      Specified by:
      abortMultipartUpload in interface org.jclouds.blobstore.BlobStore
    • completeMultipartUpload

      public String completeMultipartUpload(org.jclouds.blobstore.domain.MultipartUpload mpu, List<org.jclouds.blobstore.domain.MultipartPart> parts)
      Specified by:
      completeMultipartUpload in interface org.jclouds.blobstore.BlobStore
    • uploadMultipartPart

      public org.jclouds.blobstore.domain.MultipartPart uploadMultipartPart(org.jclouds.blobstore.domain.MultipartUpload mpu, int partNumber, org.jclouds.io.Payload payload)
      Specified by:
      uploadMultipartPart in interface org.jclouds.blobstore.BlobStore
    • listMultipartUpload

      public List<org.jclouds.blobstore.domain.MultipartPart> listMultipartUpload(org.jclouds.blobstore.domain.MultipartUpload mpu)
      Specified by:
      listMultipartUpload in interface org.jclouds.blobstore.BlobStore
    • listMultipartUploads

      public List<org.jclouds.blobstore.domain.MultipartUpload> listMultipartUploads(String container)
      Specified by:
      listMultipartUploads in interface org.jclouds.blobstore.BlobStore
    • getMinimumMultipartPartSize

      public long getMinimumMultipartPartSize()
      Specified by:
      getMinimumMultipartPartSize in interface org.jclouds.blobstore.BlobStore
    • getMaximumMultipartPartSize

      public long getMaximumMultipartPartSize()
      Specified by:
      getMaximumMultipartPartSize in interface org.jclouds.blobstore.BlobStore
    • getMaximumNumberOfParts

      public int getMaximumNumberOfParts()
      Specified by:
      getMaximumNumberOfParts in interface org.jclouds.blobstore.BlobStore
    • clearContainer

      public void clearContainer(String containerName)
      Specified by:
      clearContainer in interface org.jclouds.blobstore.BlobStore
    • clearContainer

      public void clearContainer(String containerName, org.jclouds.blobstore.options.ListContainerOptions options)
      Specified by:
      clearContainer in interface org.jclouds.blobstore.BlobStore
    • deleteContainer

      public void deleteContainer(String container)
      Specified by:
      deleteContainer in interface org.jclouds.blobstore.BlobStore
    • deleteContainerIfEmpty

      public boolean deleteContainerIfEmpty(String container)
      Specified by:
      deleteContainerIfEmpty in interface org.jclouds.blobstore.BlobStore
    • toBlobMetadata

      protected com.google.common.base.Function<SwiftObject,org.jclouds.blobstore.domain.MutableBlobMetadata> toBlobMetadata(String container)
    • countBlobs

      public long countBlobs(String containerName, org.jclouds.blobstore.options.ListContainerOptions options)
      Specified by:
      countBlobs in interface org.jclouds.blobstore.BlobStore
    • putMultipartBlob

      @Beta protected String putMultipartBlob(String container, org.jclouds.blobstore.domain.Blob blob, org.jclouds.blobstore.options.PutOptions overrides)
      Upload using a user-provided executor, or the jclouds userExecutor
      Parameters:
      container -
      blob -
      overrides -
      Returns:
      the multipart blob etag
    • putMultipartBlob

      @Beta protected String putMultipartBlob(String container, org.jclouds.blobstore.domain.Blob blob, org.jclouds.blobstore.options.PutOptions overrides, com.google.common.util.concurrent.ListeningExecutorService executor)
    • downloadBlob

      @Beta public void downloadBlob(String container, String name, File destination)
      Specified by:
      downloadBlob in interface org.jclouds.blobstore.BlobStore
    • downloadBlob

      @Beta public void downloadBlob(String container, String name, File destination, ExecutorService executor)
      Specified by:
      downloadBlob in interface org.jclouds.blobstore.BlobStore
    • streamBlob

      @Beta public InputStream streamBlob(String container, String name)
      Specified by:
      streamBlob in interface org.jclouds.blobstore.BlobStore
    • streamBlob

      @Beta public InputStream streamBlob(String container, String name, ExecutorService executor)
      Specified by:
      streamBlob in interface org.jclouds.blobstore.BlobStore