Class DefaultReactiveObjectStorageOperations<I,O,D>
java.lang.Object
io.micronaut.objectstorage.internal.DefaultReactiveObjectStorageOperations<I,O,D>
- Type Parameters:
I- Cloud vendor-specific upload request class or builderO- Cloud vendor-specific upload responseD- Cloud vendor-specific delete response
- All Implemented Interfaces:
ReactiveObjectStorageOperations<I,O, D>
- Direct Known Subclasses:
GoogleCloudStorageReactiveOperations, LocalStorageReactiveOperations
@Internal
public class DefaultReactiveObjectStorageOperations<I,O,D>
extends Object
implements ReactiveObjectStorageOperations<I,O,D>
Executor-backed reactive adapter for the blocking object storage contract.
- Since:
- 3.0.0
- Author:
- Álvaro Sánchez-Mariscal
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultReactiveObjectStorageOperations(ObjectStorageOperations<I, O, D> delegate, ExecutorService blockingExecutor) -
Method Summary
Modifier and TypeMethodDescription@NonNull org.reactivestreams.Publisher<Void> Copies an object stored atsourceKeytodestinationKey, within the same object storage (bucket/container).@NonNull org.reactivestreams.Publisher<D> Deletes an object from the object storage.@NonNull org.reactivestreams.Publisher<Boolean> Checks whether an entry with the given key exists in the object storage.Lists the objects that exist in the object storage.@NonNull org.reactivestreams.Publisher<ListObjectsResponse> listObjects(@NonNull ListObjectsRequest request) Lists a page of objects that exist in the object storage.<E extends ObjectStorageEntry<?>>
@NonNull org.reactivestreams.Publisher<Optional<E>> Gets the object from object storage.@NonNull org.reactivestreams.Publisher<UploadResponse<O>> upload(@NonNull UploadRequest request) Uploads an object to the object storage.@NonNull org.reactivestreams.Publisher<UploadResponse<O>> upload(@NonNull UploadRequest request, @NonNull Consumer<I> requestConsumer) Uploads an object to the object storage.
-
Constructor Details
-
DefaultReactiveObjectStorageOperations
public DefaultReactiveObjectStorageOperations(ObjectStorageOperations<I, O, D> delegate, ExecutorService blockingExecutor)
-
-
Method Details
-
upload
public @NonNull org.reactivestreams.Publisher<UploadResponse<O>> upload(@NonNull UploadRequest request) Description copied from interface:ReactiveObjectStorageOperationsUploads an object to the object storage. If there is an existing entry, it will be updated.- Specified by:
uploadin interfaceReactiveObjectStorageOperations<I,O, D> - Parameters:
request- the upload request- Returns:
- a publisher that emits the upload response
-
upload
public @NonNull org.reactivestreams.Publisher<UploadResponse<O>> upload(@NonNull UploadRequest request, @NonNull Consumer<I> requestConsumer) Description copied from interface:ReactiveObjectStorageOperationsUploads an object to the object storage. If there is an existing entry, it will be updated.- Specified by:
uploadin interfaceReactiveObjectStorageOperations<I,O, D> - Parameters:
request- the upload requestrequestConsumer- upload request builder consumer- Returns:
- a publisher that emits the upload response
-
retrieve
public <E extends ObjectStorageEntry<?>> @NonNull org.reactivestreams.Publisher<Optional<E>> retrieve(@NonNull String key) Description copied from interface:ReactiveObjectStorageOperationsGets the object from object storage.- Specified by:
retrievein interfaceReactiveObjectStorageOperations<I,O, D> - Type Parameters:
E- an instance ofObjectStorageEntry- Parameters:
key- the object path in the format/foo/bar/file- Returns:
- a publisher that emits an optional object storage entry
-
delete
Description copied from interface:ReactiveObjectStorageOperationsDeletes an object from the object storage.- Specified by:
deletein interfaceReactiveObjectStorageOperations<I,O, D> - Parameters:
key- object path in the format/foo/bar/file- Returns:
- a publisher that emits the cloud vendor-specific delete response
-
exists
Description copied from interface:ReactiveObjectStorageOperationsChecks whether an entry with the given key exists in the object storage.- Specified by:
existsin interfaceReactiveObjectStorageOperations<I,O, D> - Parameters:
key- object path in the format/foo/bar/file- Returns:
- a publisher that emits true if the entry exists, false otherwise
-
listObjects
Description copied from interface:ReactiveObjectStorageOperationsLists the objects that exist in the object storage.- Specified by:
listObjectsin interfaceReactiveObjectStorageOperations<I,O, D> - Returns:
- a publisher that emits the full set of keys
-
listObjects
public @NonNull org.reactivestreams.Publisher<ListObjectsResponse> listObjects(@NonNull ListObjectsRequest request) Description copied from interface:ReactiveObjectStorageOperationsLists a page of objects that exist in the object storage.- Specified by:
listObjectsin interfaceReactiveObjectStorageOperations<I,O, D> - Parameters:
request- the paginated listing request- Returns:
- a publisher that emits the current page of object keys
-
copy
public @NonNull org.reactivestreams.Publisher<Void> copy(@NonNull String sourceKey, @NonNull String destinationKey) Description copied from interface:ReactiveObjectStorageOperationsCopies an object stored atsourceKeytodestinationKey, within the same object storage (bucket/container). If the destination exists, it will be overwritten.- Specified by:
copyin interfaceReactiveObjectStorageOperations<I,O, D> - Parameters:
sourceKey- the key of the source objectdestinationKey- the key of the destination object- Returns:
- a completion-only publisher
-