Class ExecutorAsyncOperations
java.lang.Object
io.micronaut.data.runtime.operations.ExecutorAsyncOperations
- All Implemented Interfaces:
AsyncRepositoryOperations
An implementation of
AsyncRepositoryOperations that delegates to a blocking operations and specified Executor.
This can be used in absence of true asynchronous support at the driver level.
If a backing implementation provides a async API then the backing implementation should not use this class and instead directly implement the AsyncRepositoryOperations interface.
- Since:
- 1.0.0
- Author:
- graemerocher
-
Constructor Summary
ConstructorsConstructorDescriptionExecutorAsyncOperations(RepositoryOperations operations, Executor executor) Default constructor. -
Method Summary
Modifier and TypeMethodDescription<T> CompletableFuture<Long>count(PagedQuery<T> pagedQuery) Counts all results for the given query.<T> CompletableFuture<Number>delete(DeleteOperation<T> operation) Deletes the entity.<T> CompletableFuture<Number>deleteAll(DeleteBatchOperation<T> operation) Deletes all the entities of the given type.executeDelete(PreparedQuery<?, Number> preparedQuery) Executes a delete batch for the given query and parameter values.executeUpdate(PreparedQuery<?, Number> preparedQuery) Executes an update for the given query and parameter values.<T> CompletableFuture<Boolean>exists(PreparedQuery<T, Boolean> preparedQuery) Check with an record exists for the given query.<T> CompletableFuture<Iterable<T>>findAll(PagedQuery<T> pagedQuery) Finds all results for the given query.<T,R> CompletableFuture<Iterable<R>> findAll(PreparedQuery<T, R> preparedQuery) Finds all results for the given query.<T,R> CompletableFuture<R> findOne(PreparedQuery<T, R> preparedQuery) Find one by Query.<T> CompletableFuture<T>findOne(Class<T> type, Serializable id) Find one by ID.<T,R> CompletableFuture<R> findOptional(PreparedQuery<T, R> preparedQuery) Find one by Query.<T> CompletableFuture<T>findOptional(Class<T> type, Serializable id) Find one by ID.<R> CompletableFuture<Page<R>>findPage(PagedQuery<R> pagedQuery) Find a page for the given entity and pageable.<T> CompletableFuture<T>persist(InsertOperation<T> entity) Persist the entity returning a possibly new entity.<T> CompletableFuture<Iterable<T>>persistAll(InsertBatchOperation<T> operation) Persist all the given entities.<T> CompletableFuture<T>update(UpdateOperation<T> operation) Updates the entity returning a possibly new entity.<T> CompletableFuture<Iterable<T>>updateAll(UpdateBatchOperation<T> operation) Updates the entities for the given operation.
-
Constructor Details
-
ExecutorAsyncOperations
public ExecutorAsyncOperations(@NonNull RepositoryOperations operations, @NonNull Executor executor) Default constructor.- Parameters:
operations- The target operationsexecutor- The executor to use.
-
-
Method Details
-
getExecutor
- Specified by:
getExecutorin interfaceAsyncRepositoryOperations- Returns:
- The executor used by this async operations
-
findOne
Description copied from interface:AsyncRepositoryOperationsFind one by ID.- Specified by:
findOnein interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
type- The typeid- The id- Returns:
- A completion stage that emits the result
-
exists
Description copied from interface:AsyncRepositoryOperationsCheck with an record exists for the given query.- Specified by:
existsin interfaceAsyncRepositoryOperations- Type Parameters:
T- The declaring type- Parameters:
preparedQuery- The query- Returns:
- True if it exists
-
findOne
Description copied from interface:AsyncRepositoryOperationsFind one by Query.- Specified by:
findOnein interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic resultTypeR- The result type- Parameters:
preparedQuery- The prepared query- Returns:
- A completion stage that emits the result
-
findOptional
@NonNull public <T> CompletableFuture<T> findOptional(@NonNull Class<T> type, @NonNull Serializable id) Description copied from interface:AsyncRepositoryOperationsFind one by ID.- Specified by:
findOptionalin interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
type- The typeid- The id- Returns:
- A completion stage that emits the result or null if there is no result
-
findOptional
Description copied from interface:AsyncRepositoryOperationsFind one by Query.- Specified by:
findOptionalin interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic resultTypeR- The result type- Parameters:
preparedQuery- The prepared query- Returns:
- A completion stage that emits the result or null if there is no result
-
findAll
Description copied from interface:AsyncRepositoryOperationsFinds all results for the given query.- Specified by:
findAllin interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
pagedQuery- The paged query- Returns:
- A completion stage that emits the results
-
count
Description copied from interface:AsyncRepositoryOperationsCounts all results for the given query.- Specified by:
countin interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
pagedQuery- The paged query- Returns:
- A completion stage that emits the count as a long
-
findAll
@NonNull public <T,R> CompletableFuture<Iterable<R>> findAll(@NonNull PreparedQuery<T, R> preparedQuery) Description copied from interface:AsyncRepositoryOperationsFinds all results for the given query.- Specified by:
findAllin interfaceAsyncRepositoryOperations- Type Parameters:
T- The entity typeR- The result type- Parameters:
preparedQuery- The prepared query- Returns:
- A completion stage that emits an iterable with all results
-
persist
Description copied from interface:AsyncRepositoryOperationsPersist the entity returning a possibly new entity.- Specified by:
persistin interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
entity- The entity operation- Returns:
- A completion stage that emits the entity
-
update
Description copied from interface:AsyncRepositoryOperationsUpdates the entity returning a possibly new entity.- Specified by:
updatein interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The entity operation- Returns:
- A completion stage that emits the entity
-
updateAll
@NonNull public <T> CompletableFuture<Iterable<T>> updateAll(@NonNull UpdateBatchOperation<T> operation) Description copied from interface:AsyncRepositoryOperationsUpdates the entities for the given operation.- Specified by:
updateAllin interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The operation- Returns:
- The updated entities
-
delete
Description copied from interface:AsyncRepositoryOperationsDeletes the entity.- Specified by:
deletein interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The batch operation- Returns:
- A publisher that emits the number of entities deleted
-
persistAll
@NonNull public <T> CompletableFuture<Iterable<T>> persistAll(@NonNull InsertBatchOperation<T> operation) Description copied from interface:AsyncRepositoryOperationsPersist all the given entities.- Specified by:
persistAllin interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The batch operation- Returns:
- The entities, possibly mutated
-
executeUpdate
@NonNull public CompletableFuture<Number> executeUpdate(@NonNull PreparedQuery<?, Number> preparedQuery) Description copied from interface:AsyncRepositoryOperationsExecutes an update for the given query and parameter values. If it is possible to return the number of objects updated, then do so.- Specified by:
executeUpdatein interfaceAsyncRepositoryOperations- Parameters:
preparedQuery- The prepared query- Returns:
- A completion that emits a boolean true if successful
-
executeDelete
Description copied from interface:AsyncRepositoryOperationsExecutes a delete batch for the given query and parameter values. If it is possible to return the number of objects updated, then do so.- Specified by:
executeDeletein interfaceAsyncRepositoryOperations- Parameters:
preparedQuery- The prepared query- Returns:
- A completion that emits a boolean true if successful
-
deleteAll
Description copied from interface:AsyncRepositoryOperationsDeletes all the entities of the given type.- Specified by:
deleteAllin interfaceAsyncRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The batch operation- Returns:
- A completion that emits a boolean true if successful
-
findPage
Description copied from interface:AsyncRepositoryOperationsFind a page for the given entity and pageable.- Specified by:
findPagein interfaceAsyncRepositoryOperations- Type Parameters:
R- The entity generic type- Parameters:
pagedQuery- The paged query- Returns:
- The page type
-