Interface AsyncRepositoryOperations


  • public interface AsyncRepositoryOperations
    Asynchronous operations for reading data from a backing implementations.
    Since:
    1.0.0
    • 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 type
        id - 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 resultType
        R - 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 type
        id - 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 resultType
        R - 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 type
        R - 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