Package org.jclouds.blobstore.util
Class ReadOnlyBlobStore
java.lang.Object
com.google.common.collect.ForwardingObject
org.jclouds.blobstore.util.ForwardingBlobStore
org.jclouds.blobstore.util.ReadOnlyBlobStore
- All Implemented Interfaces:
BlobStore
-
Method Summary
Modifier and TypeMethodDescriptionvoid
blobBuilder
(String name) void
clearContainer
(String container) This will delete the contents of a container at its root path without deleting the containervoid
clearContainer
(String container, ListContainerOptions options) LikeBlobStore.clearContainer(String)
except you can use options to do things like recursive deletes, or clear at a different path than root.completeMultipartUpload
(MultipartUpload mpu, List<MultipartPart> parts) copyBlob
(String fromContainer, String fromName, String toContainer, String toName, CopyOptions options) Copy blob from one container to another.boolean
createContainerInLocation
(Location location, String container) Creates a namespace for your blobsboolean
createContainerInLocation
(Location location, String container, CreateContainerOptions createContainerOptions) void
createDirectory
(String container, String directory) Creates a folder or a directory marker depending on the servicevoid
deleteContainer
(String container) This will delete everything inside a container recursively.boolean
deleteContainerIfEmpty
(String container) Deletes a container if it is empty.void
deleteDirectory
(String container, String directory) Deletes a folder or a directory marker depending on the servicevoid
downloadBlob
(String container, String name, File destination) void
downloadBlob
(String container, String name, File destination, ExecutorService executor) initiateMultipartUpload
(String container, BlobMetadata blobMetadata, PutOptions options) listMultipartUploads
(String container) static BlobStore
newReadOnlyBlobStore
(BlobStore blobStore) Adds aBlob
representing the data at locationcontainer/blob.metadata.name
putBlob
(String containerName, Blob blob, PutOptions putOptions) Adds aBlob
representing the data at locationcontainer/blob.metadata.name
options using multipart strategies.void
removeBlob
(String container, String name) Deletes aBlob
representing the data at locationcontainer/name
void
removeBlobs
(String container, Iterable<String> iterable) Deletes multipleBlob
s representing the data at locationcontainer/name
void
setBlobAccess
(String container, String name, BlobAccess access) void
setContainerAccess
(String container, ContainerAccess containerAccess) streamBlob
(String container, String name) streamBlob
(String container, String name, ExecutorService executor) uploadMultipartPart
(MultipartUpload mpu, int partNumber, Payload payload) Methods inherited from class org.jclouds.blobstore.util.ForwardingBlobStore
blobExists, blobMetadata, containerExists, countBlobs, countBlobs, delegate, directoryExists, getBlob, getBlob, getBlobAccess, getContainerAccess, getMaximumMultipartPartSize, getMaximumNumberOfParts, getMinimumMultipartPartSize, list, list, list, listAssignableLocations
Methods inherited from class com.google.common.collect.ForwardingObject
toString
-
Method Details
-
newReadOnlyBlobStore
-
getContext
- Specified by:
getContext
in interfaceBlobStore
- Overrides:
getContext
in classForwardingBlobStore
- Returns:
- a reference to the context that created this BlobStore.
-
blobBuilder
- Specified by:
blobBuilder
in interfaceBlobStore
- Overrides:
blobBuilder
in classForwardingBlobStore
- Returns:
- builder for creating new
Blob
s
-
createContainerInLocation
Description copied from interface:BlobStore
Creates a namespace for your blobs A container is a namespace for your objects. Depending on the service, the scope can be global, identity, or sub-identity scoped. For example, in Amazon S3, containers are called buckets, and they must be uniquely named such that no-one else in the world conflicts. In other blobstores, the naming convention of the container is less strict. All blobstores allow you to list your containers and also the contents within them. These contents can either be blobs, folders, or virtual paths.- Specified by:
createContainerInLocation
in interfaceBlobStore
- Overrides:
createContainerInLocation
in classForwardingBlobStore
- Parameters:
location
- some blobstores allow you to specify a location, such as US-EAST, for where this container will exist. null will choose a default locationcontainer
- namespace. Typically constrained to lowercase alpha-numeric and hyphens.- Returns:
- true if the container was created, false if it already existed.
-
createContainerInLocation
public boolean createContainerInLocation(Location location, String container, CreateContainerOptions createContainerOptions) - Specified by:
createContainerInLocation
in interfaceBlobStore
- Overrides:
createContainerInLocation
in classForwardingBlobStore
- Parameters:
createContainerOptions
- controls default access control- See Also:
-
setContainerAccess
- Specified by:
setContainerAccess
in interfaceBlobStore
- Overrides:
setContainerAccess
in classForwardingBlobStore
-
clearContainer
Description copied from interface:BlobStore
This will delete the contents of a container at its root path without deleting the container- Specified by:
clearContainer
in interfaceBlobStore
- Overrides:
clearContainer
in classForwardingBlobStore
- Parameters:
container
- what to clear
-
clearContainer
Description copied from interface:BlobStore
LikeBlobStore.clearContainer(String)
except you can use options to do things like recursive deletes, or clear at a different path than root.- Specified by:
clearContainer
in interfaceBlobStore
- Overrides:
clearContainer
in classForwardingBlobStore
- Parameters:
container
- what to clearoptions
- recursion and path to clear
-
deleteContainer
Description copied from interface:BlobStore
This will delete everything inside a container recursively.- Specified by:
deleteContainer
in interfaceBlobStore
- Overrides:
deleteContainer
in classForwardingBlobStore
- Parameters:
container
- what to delete
-
deleteContainerIfEmpty
Description copied from interface:BlobStore
Deletes a container if it is empty.- Specified by:
deleteContainerIfEmpty
in interfaceBlobStore
- Overrides:
deleteContainerIfEmpty
in classForwardingBlobStore
- Parameters:
container
- name of the container to delete- Returns:
- true if the container was deleted or does not exist
-
createDirectory
Description copied from interface:BlobStore
Creates a folder or a directory marker depending on the service- Specified by:
createDirectory
in interfaceBlobStore
- Overrides:
createDirectory
in classForwardingBlobStore
- Parameters:
container
- container to create the directory indirectory
- full path to the directory
-
deleteDirectory
Description copied from interface:BlobStore
Deletes a folder or a directory marker depending on the service- Specified by:
deleteDirectory
in interfaceBlobStore
- Overrides:
deleteDirectory
in classForwardingBlobStore
-
putBlob
Description copied from interface:BlobStore
Adds aBlob
representing the data at locationcontainer/blob.metadata.name
- Specified by:
putBlob
in interfaceBlobStore
- Overrides:
putBlob
in classForwardingBlobStore
- Parameters:
containerName
- container to place the blob.blob
- fully qualified name relative to the container.- Returns:
- etag of the blob you uploaded, possibly null where etags are unsupported
-
putBlob
Description copied from interface:BlobStore
Adds aBlob
representing the data at locationcontainer/blob.metadata.name
options using multipart strategies.- Specified by:
putBlob
in interfaceBlobStore
- Overrides:
putBlob
in classForwardingBlobStore
- Parameters:
containerName
- container to place the blob.blob
- fully qualified name relative to the container.putOptions
- byte range options- Returns:
- etag of the blob you uploaded, possibly null where etags are unsupported
-
copyBlob
public String copyBlob(String fromContainer, String fromName, String toContainer, String toName, CopyOptions options) Description copied from interface:BlobStore
Copy blob from one container to another. Some providers implement this more efficiently than corresponding getBlob and putBlob operations. Note: options are currently ignored- Specified by:
copyBlob
in interfaceBlobStore
- Overrides:
copyBlob
in classForwardingBlobStore
- Returns:
- ETag of new blob
-
removeBlob
Description copied from interface:BlobStore
Deletes aBlob
representing the data at locationcontainer/name
- Specified by:
removeBlob
in interfaceBlobStore
- Overrides:
removeBlob
in classForwardingBlobStore
- Parameters:
container
- container where this exists.name
- fully qualified name relative to the container.
-
removeBlobs
Description copied from interface:BlobStore
Deletes multipleBlob
s representing the data at locationcontainer/name
- Specified by:
removeBlobs
in interfaceBlobStore
- Overrides:
removeBlobs
in classForwardingBlobStore
- Parameters:
container
- container where this exists.iterable
- fully qualified names relative to the container.
-
setBlobAccess
- Specified by:
setBlobAccess
in interfaceBlobStore
- Overrides:
setBlobAccess
in classForwardingBlobStore
-
initiateMultipartUpload
public MultipartUpload initiateMultipartUpload(String container, BlobMetadata blobMetadata, PutOptions options) - Specified by:
initiateMultipartUpload
in interfaceBlobStore
- Overrides:
initiateMultipartUpload
in classForwardingBlobStore
-
abortMultipartUpload
- Specified by:
abortMultipartUpload
in interfaceBlobStore
- Overrides:
abortMultipartUpload
in classForwardingBlobStore
-
completeMultipartUpload
- Specified by:
completeMultipartUpload
in interfaceBlobStore
- Overrides:
completeMultipartUpload
in classForwardingBlobStore
-
uploadMultipartPart
- Specified by:
uploadMultipartPart
in interfaceBlobStore
- Overrides:
uploadMultipartPart
in classForwardingBlobStore
-
listMultipartUpload
- Specified by:
listMultipartUpload
in interfaceBlobStore
- Overrides:
listMultipartUpload
in classForwardingBlobStore
-
listMultipartUploads
- Specified by:
listMultipartUploads
in interfaceBlobStore
- Overrides:
listMultipartUploads
in classForwardingBlobStore
-
downloadBlob
- Specified by:
downloadBlob
in interfaceBlobStore
- Overrides:
downloadBlob
in classForwardingBlobStore
-
downloadBlob
- Specified by:
downloadBlob
in interfaceBlobStore
- Overrides:
downloadBlob
in classForwardingBlobStore
-
streamBlob
- Specified by:
streamBlob
in interfaceBlobStore
- Overrides:
streamBlob
in classForwardingBlobStore
-
streamBlob
- Specified by:
streamBlob
in interfaceBlobStore
- Overrides:
streamBlob
in classForwardingBlobStore
-