Class ExecutorReactiveOperations

  • All Implemented Interfaces:
    io.micronaut.data.operations.reactive.ReactiveRepositoryOperations

    public class ExecutorReactiveOperations
    extends java.lang.Object
    implements io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
    An implementation of ReactiveRepositoryOperations that delegates to a blocking operations and specified Executor. This can be used in absence of true reactive support at the driver level an allows composing blocking operations within reactive flows.

    If a backing implementation provides a reactive API then the backing implementation should not use this class and instead directly implement the ReactiveRepositoryOperations interface.

    Since:
    1.0.0
    See Also:
    ReactiveRepositoryOperations
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> org.reactivestreams.Publisher<java.lang.Long> count​(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery)  
      <T> org.reactivestreams.Publisher<java.lang.Number> delete​(io.micronaut.data.model.runtime.DeleteOperation<T> operation)  
      <T> org.reactivestreams.Publisher<java.lang.Number> deleteAll​(io.micronaut.data.model.runtime.DeleteBatchOperation<T> operation)  
      org.reactivestreams.Publisher<java.lang.Number> executeUpdate​(io.micronaut.data.model.runtime.PreparedQuery<?,​java.lang.Number> preparedQuery)  
      <T> org.reactivestreams.Publisher<java.lang.Boolean> exists​(io.micronaut.data.model.runtime.PreparedQuery<T,​java.lang.Boolean> preparedQuery)  
      <T> org.reactivestreams.Publisher<T> findAll​(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery)  
      <T,​R>
      org.reactivestreams.Publisher<R>
      findAll​(io.micronaut.data.model.runtime.PreparedQuery<T,​R> preparedQuery)  
      <T,​R>
      org.reactivestreams.Publisher<R>
      findOne​(io.micronaut.data.model.runtime.PreparedQuery<T,​R> preparedQuery)  
      <T> org.reactivestreams.Publisher<T> findOne​(java.lang.Class<T> type, java.io.Serializable id)  
      <T,​R>
      org.reactivestreams.Publisher<R>
      findOptional​(io.micronaut.data.model.runtime.PreparedQuery<T,​R> preparedQuery)  
      <T> org.reactivestreams.Publisher<T> findOptional​(java.lang.Class<T> type, java.io.Serializable id)  
      <R> org.reactivestreams.Publisher<io.micronaut.data.model.Page<R>> findPage​(io.micronaut.data.model.runtime.PagedQuery<R> pagedQuery)  
      <T> org.reactivestreams.Publisher<T> persist​(io.micronaut.data.model.runtime.InsertOperation<T> entity)  
      <T> org.reactivestreams.Publisher<T> persistAll​(io.micronaut.data.model.runtime.InsertBatchOperation<T> operation)  
      <T> org.reactivestreams.Publisher<T> update​(io.micronaut.data.model.runtime.UpdateOperation<T> operation)  
      <T> org.reactivestreams.Publisher<T> updateAll​(io.micronaut.data.model.runtime.UpdateBatchOperation<T> operation)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations

        executeDelete
    • Constructor Detail

      • ExecutorReactiveOperations

        @Deprecated
        public ExecutorReactiveOperations​(@NonNull
                                          io.micronaut.data.operations.RepositoryOperations datastore,
                                          @NonNull
                                          java.util.concurrent.Executor executor)
        Deprecated.
        Default constructor.
        Parameters:
        datastore - The target operations
        executor - The executor to use.
      • ExecutorReactiveOperations

        public ExecutorReactiveOperations​(@NonNull
                                          io.micronaut.data.operations.RepositoryOperations datastore,
                                          @NonNull
                                          java.util.concurrent.Executor executor,
                                          DataConversionService<?> dataConversionService)
        Default constructor.
        Parameters:
        datastore - The target operations
        executor - The executor to use.
        dataConversionService - The data conversion service
      • ExecutorReactiveOperations

        @Deprecated
        public ExecutorReactiveOperations​(@NonNull
                                          ExecutorAsyncOperations asyncOperations)
        Deprecated.
        Default constructor.
        Parameters:
        asyncOperations - The instance operations instance
      • ExecutorReactiveOperations

        public ExecutorReactiveOperations​(@NonNull
                                          ExecutorAsyncOperations asyncOperations,
                                          DataConversionService dataConversionService)
        Default constructor.
        Parameters:
        asyncOperations - The instance operations instance
        dataConversionService - The data conversion service
    • Method Detail

      • findOne

        @NonNull
        public <T> org.reactivestreams.Publisher<T> findOne​(@NonNull
                                                            java.lang.Class<T> type,
                                                            @NonNull
                                                            java.io.Serializable id)
        Specified by:
        findOne in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • exists

        public <T> org.reactivestreams.Publisher<java.lang.Boolean> exists​(@NonNull
                                                                           io.micronaut.data.model.runtime.PreparedQuery<T,​java.lang.Boolean> preparedQuery)
        Specified by:
        exists in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • findOne

        @NonNull
        public <T,​R> org.reactivestreams.Publisher<R> findOne​(@NonNull
                                                                    io.micronaut.data.model.runtime.PreparedQuery<T,​R> preparedQuery)
        Specified by:
        findOne in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • findOptional

        @NonNull
        public <T> org.reactivestreams.Publisher<T> findOptional​(@NonNull
                                                                 java.lang.Class<T> type,
                                                                 @NonNull
                                                                 java.io.Serializable id)
        Specified by:
        findOptional in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • findOptional

        @NonNull
        public <T,​R> org.reactivestreams.Publisher<R> findOptional​(@NonNull
                                                                         io.micronaut.data.model.runtime.PreparedQuery<T,​R> preparedQuery)
        Specified by:
        findOptional in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • findAll

        @NonNull
        public <T> org.reactivestreams.Publisher<T> findAll​(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery)
        Specified by:
        findAll in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • count

        @NonNull
        public <T> org.reactivestreams.Publisher<java.lang.Long> count​(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery)
        Specified by:
        count in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • findPage

        @NonNull
        public <R> org.reactivestreams.Publisher<io.micronaut.data.model.Page<R>> findPage​(@NonNull
                                                                                           io.micronaut.data.model.runtime.PagedQuery<R> pagedQuery)
        Specified by:
        findPage in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • findAll

        @NonNull
        public <T,​R> org.reactivestreams.Publisher<R> findAll​(@NonNull
                                                                    io.micronaut.data.model.runtime.PreparedQuery<T,​R> preparedQuery)
        Specified by:
        findAll in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • persist

        @NonNull
        public <T> org.reactivestreams.Publisher<T> persist​(@NonNull
                                                            io.micronaut.data.model.runtime.InsertOperation<T> entity)
        Specified by:
        persist in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • update

        @NonNull
        public <T> org.reactivestreams.Publisher<T> update​(@NonNull
                                                           io.micronaut.data.model.runtime.UpdateOperation<T> operation)
        Specified by:
        update in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • updateAll

        @NonNull
        public <T> org.reactivestreams.Publisher<T> updateAll​(@NonNull
                                                              io.micronaut.data.model.runtime.UpdateBatchOperation<T> operation)
        Specified by:
        updateAll in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • persistAll

        @NonNull
        public <T> org.reactivestreams.Publisher<T> persistAll​(@NonNull
                                                               io.micronaut.data.model.runtime.InsertBatchOperation<T> operation)
        Specified by:
        persistAll in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • executeUpdate

        @NonNull
        public org.reactivestreams.Publisher<java.lang.Number> executeUpdate​(@NonNull
                                                                             io.micronaut.data.model.runtime.PreparedQuery<?,​java.lang.Number> preparedQuery)
        Specified by:
        executeUpdate in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • delete

        @NonNull
        public <T> org.reactivestreams.Publisher<java.lang.Number> delete​(@NonNull
                                                                          io.micronaut.data.model.runtime.DeleteOperation<T> operation)
        Specified by:
        delete in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
      • deleteAll

        @NonNull
        public <T> org.reactivestreams.Publisher<java.lang.Number> deleteAll​(@NonNull
                                                                             io.micronaut.data.model.runtime.DeleteBatchOperation<T> operation)
        Specified by:
        deleteAll in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations