Class ExecutorReactiveOperations

java.lang.Object
io.micronaut.data.runtime.operations.ExecutorReactiveOperations
All Implemented Interfaces:
io.micronaut.core.convert.ConversionServiceProvider, io.micronaut.data.operations.reactive.ReactiveRepositoryOperations

public class ExecutorReactiveOperations extends 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
  • Constructor Summary

    Constructors
    Constructor
    Description
    ExecutorReactiveOperations(@NonNull io.micronaut.data.operations.RepositoryOperations datastore, @NonNull Executor executor, DataConversionService dataConversionService)
    Default constructor.
    ExecutorReactiveOperations(@NonNull ExecutorAsyncOperations asyncOperations, DataConversionService dataConversionService)
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> @NonNull org.reactivestreams.Publisher<Long>
    count(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery)
     
    <T> @NonNull org.reactivestreams.Publisher<Number>
    delete(@NonNull io.micronaut.data.model.runtime.DeleteOperation<T> operation)
     
    <T> @NonNull org.reactivestreams.Publisher<Number>
    deleteAll(@NonNull io.micronaut.data.model.runtime.DeleteBatchOperation<T> operation)
     
    @NonNull org.reactivestreams.Publisher<Number>
    executeUpdate(@NonNull io.micronaut.data.model.runtime.PreparedQuery<?,Number> preparedQuery)
     
    <T> org.reactivestreams.Publisher<Boolean>
    exists(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T,Boolean> preparedQuery)
     
    <T, R> @NonNull org.reactivestreams.Publisher<R>
    findAll(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
     
    <T> @NonNull org.reactivestreams.Publisher<T>
    findAll(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery)
     
    <T, R> @NonNull org.reactivestreams.Publisher<R>
    findOne(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
     
    <T> @NonNull org.reactivestreams.Publisher<T>
    findOne(@NonNull Class<T> type, @NonNull Object id)
     
    <T, R> @NonNull org.reactivestreams.Publisher<R>
    findOptional(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
     
    <T> @NonNull org.reactivestreams.Publisher<T>
    findOptional(@NonNull Class<T> type, @NonNull Object id)
     
    <R> @NonNull org.reactivestreams.Publisher<io.micronaut.data.model.Page<R>>
    findPage(@NonNull io.micronaut.data.model.runtime.PagedQuery<R> pagedQuery)
     
    io.micronaut.core.convert.ConversionService
     
    <T> @NonNull org.reactivestreams.Publisher<T>
    persist(@NonNull io.micronaut.data.model.runtime.InsertOperation<T> entity)
     
    <T> @NonNull org.reactivestreams.Publisher<T>
    persistAll(@NonNull io.micronaut.data.model.runtime.InsertBatchOperation<T> operation)
     
    <T> @NonNull org.reactivestreams.Publisher<T>
    update(@NonNull io.micronaut.data.model.runtime.UpdateOperation<T> operation)
     
    <T> @NonNull org.reactivestreams.Publisher<T>
    updateAll(@NonNull 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

    execute, executeDelete
  • Constructor Details

    • ExecutorReactiveOperations

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

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

    • findOne

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

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

      @NonNull public <T, R> @NonNull org.reactivestreams.Publisher<R> findOne(@NonNull @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> @NonNull org.reactivestreams.Publisher<T> findOptional(@NonNull @NonNull Class<T> type, @NonNull @NonNull Object id)
      Specified by:
      findOptional in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
    • findOptional

      @NonNull public <T, R> @NonNull org.reactivestreams.Publisher<R> findOptional(@NonNull @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> @NonNull 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> @NonNull org.reactivestreams.Publisher<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> @NonNull org.reactivestreams.Publisher<io.micronaut.data.model.Page<R>> findPage(@NonNull @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> @NonNull org.reactivestreams.Publisher<R> findAll(@NonNull @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> @NonNull org.reactivestreams.Publisher<T> persist(@NonNull @NonNull io.micronaut.data.model.runtime.InsertOperation<T> entity)
      Specified by:
      persist in interface io.micronaut.data.operations.reactive.ReactiveRepositoryOperations
    • update

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

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

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

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

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

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

      public io.micronaut.core.convert.ConversionService getConversionService()
      Specified by:
      getConversionService in interface io.micronaut.core.convert.ConversionServiceProvider