Interface AsyncRepositoryOperations
-
- All Known Implementing Classes:
AsyncFromReactiveAsyncRepositoryOperation
,ExecutorAsyncOperations
,ReactorToAsyncOperationsAdaptor
public interface AsyncRepositoryOperations
Asynchronous operations for reading data from a backing implementations.- Since:
- 1.0.0
- Author:
- graemerocher
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <T> java.util.concurrent.CompletionStage<java.lang.Long>
count(PagedQuery<T> pagedQuery)
Counts all results for the given query.<T> java.util.concurrent.CompletionStage<java.lang.Number>
delete(DeleteOperation<T> operation)
Deletes the entity.<T> java.util.concurrent.CompletionStage<java.lang.Number>
deleteAll(DeleteBatchOperation<T> operation)
Deletes all the entities of the given type.default java.util.concurrent.CompletionStage<java.lang.Number>
executeDelete(PreparedQuery<?,java.lang.Number> preparedQuery)
Executes a delete batch for the given query and parameter values.java.util.concurrent.CompletionStage<java.lang.Number>
executeUpdate(PreparedQuery<?,java.lang.Number> preparedQuery)
Executes an update for the given query and parameter values.<T> java.util.concurrent.CompletionStage<java.lang.Boolean>
exists(PreparedQuery<T,java.lang.Boolean> preparedQuery)
Check with an record exists for the given query.<T> java.util.concurrent.CompletionStage<java.lang.Iterable<T>>
findAll(PagedQuery<T> pagedQuery)
Finds all results for the given query.<T,R>
java.util.concurrent.CompletionStage<java.lang.Iterable<R>>findAll(PreparedQuery<T,R> preparedQuery)
Finds all results for the given query.<T,R>
java.util.concurrent.CompletionStage<R>findOne(PreparedQuery<T,R> preparedQuery)
Find one by Query.<T> java.util.concurrent.CompletionStage<T>
findOne(java.lang.Class<T> type, java.io.Serializable id)
Find one by ID.<T,R>
java.util.concurrent.CompletionStage<R>findOptional(PreparedQuery<T,R> preparedQuery)
Find one by Query.<T> java.util.concurrent.CompletionStage<T>
findOptional(java.lang.Class<T> type, java.io.Serializable id)
Find one by ID.<R> java.util.concurrent.CompletionStage<Page<R>>
findPage(PagedQuery<R> pagedQuery)
Find a page for the given entity and pageable.java.util.concurrent.Executor
getExecutor()
<T> java.util.concurrent.CompletionStage<T>
persist(InsertOperation<T> operation)
Persist the entity returning a possibly new entity.<T> java.util.concurrent.CompletionStage<java.lang.Iterable<T>>
persistAll(InsertBatchOperation<T> operation)
Persist all the given entities.<T> java.util.concurrent.CompletionStage<T>
update(UpdateOperation<T> operation)
Updates the entity returning a possibly new entity.default <T> java.util.concurrent.CompletionStage<java.lang.Iterable<T>>
updateAll(UpdateBatchOperation<T> operation)
Updates the entities for the given operation.
-
-
-
Method Detail
-
getExecutor
@NonNull java.util.concurrent.Executor getExecutor()
- Returns:
- The executor used by this async operations
-
findOne
@NonNull <T> java.util.concurrent.CompletionStage<T> findOne(@NonNull java.lang.Class<T> type, @NonNull java.io.Serializable id)
Find one by ID.- Type Parameters:
T
- The generic type- Parameters:
type
- The typeid
- The id- Returns:
- A completion stage that emits the result
- Throws:
EmptyResultException
- if the result couldn't be retrieved
-
exists
<T> java.util.concurrent.CompletionStage<java.lang.Boolean> exists(@NonNull PreparedQuery<T,java.lang.Boolean> preparedQuery)
Check with an record exists for the given query.- Type Parameters:
T
- The declaring type- Parameters:
preparedQuery
- The query- Returns:
- True if it exists
-
findOne
@NonNull <T,R> java.util.concurrent.CompletionStage<R> findOne(@NonNull PreparedQuery<T,R> preparedQuery)
Find one by Query.- Type Parameters:
T
- The generic resultTypeR
- The result type- Parameters:
preparedQuery
- The prepared query- Returns:
- A completion stage that emits the result
- Throws:
EmptyResultException
- if the result couldn't be retrieved
-
findOptional
@NonNull <T> java.util.concurrent.CompletionStage<T> findOptional(@NonNull java.lang.Class<T> type, @NonNull java.io.Serializable id)
Find one by ID.- 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
@NonNull <T,R> java.util.concurrent.CompletionStage<R> findOptional(@NonNull PreparedQuery<T,R> preparedQuery)
Find one by Query.- 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
@NonNull <T> java.util.concurrent.CompletionStage<java.lang.Iterable<T>> findAll(PagedQuery<T> pagedQuery)
Finds all results for the given query.- Type Parameters:
T
- The generic type- Parameters:
pagedQuery
- The paged query- Returns:
- A completion stage that emits the results
-
count
@NonNull <T> java.util.concurrent.CompletionStage<java.lang.Long> count(PagedQuery<T> pagedQuery)
Counts all results for the given query.- Type Parameters:
T
- The generic type- Parameters:
pagedQuery
- The paged query- Returns:
- A completion stage that emits the count as a long
-
findAll
@NonNull <T,R> java.util.concurrent.CompletionStage<java.lang.Iterable<R>> findAll(@NonNull PreparedQuery<T,R> preparedQuery)
Finds all results for the given query.- 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
@NonNull <T> java.util.concurrent.CompletionStage<T> persist(@NonNull InsertOperation<T> operation)
Persist the entity returning a possibly new entity.- Type Parameters:
T
- The generic type- Parameters:
operation
- The entity operation- Returns:
- A completion stage that emits the entity
-
update
@NonNull <T> java.util.concurrent.CompletionStage<T> update(@NonNull UpdateOperation<T> operation)
Updates the entity returning a possibly new entity.- Type Parameters:
T
- The generic type- Parameters:
operation
- The entity operation- Returns:
- A completion stage that emits the entity
-
updateAll
@NonNull default <T> java.util.concurrent.CompletionStage<java.lang.Iterable<T>> updateAll(@NonNull UpdateBatchOperation<T> operation)
Updates the entities for the given operation.- Type Parameters:
T
- The generic type- Parameters:
operation
- The operation- Returns:
- The updated entities
-
delete
@SingleResult @NonNull <T> java.util.concurrent.CompletionStage<java.lang.Number> delete(@NonNull DeleteOperation<T> operation)
Deletes the entity.- Type Parameters:
T
- The generic type- Parameters:
operation
- The batch operation- Returns:
- A publisher that emits the number of entities deleted
-
persistAll
@NonNull <T> java.util.concurrent.CompletionStage<java.lang.Iterable<T>> persistAll(@NonNull InsertBatchOperation<T> operation)
Persist all the given entities.- Type Parameters:
T
- The generic type- Parameters:
operation
- The batch operation- Returns:
- The entities, possibly mutated
-
executeUpdate
@NonNull java.util.concurrent.CompletionStage<java.lang.Number> executeUpdate(@NonNull PreparedQuery<?,java.lang.Number> preparedQuery)
Executes an update for the given query and parameter values. If it is possible to return the number of objects updated, then do so.- Parameters:
preparedQuery
- The prepared query- Returns:
- A completion that emits a boolean true if successful
-
executeDelete
@NonNull default java.util.concurrent.CompletionStage<java.lang.Number> executeDelete(@NonNull PreparedQuery<?,java.lang.Number> preparedQuery)
Executes a delete batch for the given query and parameter values. If it is possible to return the number of objects updated, then do so.- Parameters:
preparedQuery
- The prepared query- Returns:
- A completion that emits a boolean true if successful
-
deleteAll
@NonNull <T> java.util.concurrent.CompletionStage<java.lang.Number> deleteAll(@NonNull DeleteBatchOperation<T> operation)
Deletes all the entities of the given type.- Type Parameters:
T
- The generic type- Parameters:
operation
- The batch operation- Returns:
- A completion that emits a boolean true if successful
-
findPage
@NonNull <R> java.util.concurrent.CompletionStage<Page<R>> findPage(@NonNull PagedQuery<R> pagedQuery)
Find a page for the given entity and pageable.- Type Parameters:
R
- The entity generic type- Parameters:
pagedQuery
- The paged query- Returns:
- The page type
-
-