Interface ReactorEventStore<TxCtx,E extends fr.maif.eventsourcing.Event,Meta,Context>

All Known Implementing Classes:
DefaultReactorEventStore

public interface ReactorEventStore<TxCtx,E extends fr.maif.eventsourcing.Event,Meta,Context>
  • Method Summary

    Modifier and Type
    Method
    Description
    reactor.core.publisher.Mono<io.vavr.Tuple0>
    commitOrRollback(io.vavr.control.Option<Throwable> of, TxCtx tx)
     
    static <TxCtx, E extends fr.maif.eventsourcing.Event, Meta, Context>
    ReactorEventStore<TxCtx,E,Meta,Context>
    fromEventStore(fr.maif.eventsourcing.EventStore<TxCtx,E,Meta,Context> eventStore)
     
    default reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>
     
    default reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>
     
    reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>
    loadEventsByQuery(fr.maif.eventsourcing.EventStore.Query query)
     
    reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>
    loadEventsByQuery(TxCtx tx, fr.maif.eventsourcing.EventStore.Query query)
     
    reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>
    loadEventsUnpublished(TxCtx tx, fr.maif.eventsourcing.EventStore.ConcurrentReplayStrategy concurrentReplayStrategy)
     
    reactor.core.publisher.Mono<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>
    markAsPublished(fr.maif.eventsourcing.EventEnvelope<E,Meta,Context> eventEnvelope)
     
    default reactor.core.publisher.Mono<io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>>
    markAsPublished(io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> eventEnvelopes)
     
    reactor.core.publisher.Mono<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>
    markAsPublished(TxCtx tx, fr.maif.eventsourcing.EventEnvelope<E,Meta,Context> eventEnvelope)
     
    default reactor.core.publisher.Mono<io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>>
    markAsPublished(TxCtx tx, io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> eventEnvelopes)
     
    reactor.core.publisher.Mono<Long>
     
    reactor.core.publisher.Mono<TxCtx>
     
    reactor.core.publisher.Mono<io.vavr.Tuple0>
    persist(TxCtx transactionContext, io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> events)
     
    reactor.core.publisher.Mono<io.vavr.Tuple0>
    publish(io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> events)
     
    fr.maif.eventsourcing.EventStore<TxCtx,E,Meta,Context>
     
  • Method Details

    • persist

      reactor.core.publisher.Mono<io.vavr.Tuple0> persist(TxCtx transactionContext, io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> events)
    • loadEventsUnpublished

      reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> loadEventsUnpublished(TxCtx tx, fr.maif.eventsourcing.EventStore.ConcurrentReplayStrategy concurrentReplayStrategy)
    • loadEventsByQuery

      reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> loadEventsByQuery(TxCtx tx, fr.maif.eventsourcing.EventStore.Query query)
    • loadEventsByQuery

      reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> loadEventsByQuery(fr.maif.eventsourcing.EventStore.Query query)
    • loadEvents

      default reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> loadEvents(String id)
    • loadAllEvents

      default reactor.core.publisher.Flux<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> loadAllEvents()
    • nextSequence

      reactor.core.publisher.Mono<Long> nextSequence(TxCtx tx)
    • publish

      reactor.core.publisher.Mono<io.vavr.Tuple0> publish(io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> events)
    • markAsPublished

      reactor.core.publisher.Mono<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> markAsPublished(TxCtx tx, fr.maif.eventsourcing.EventEnvelope<E,Meta,Context> eventEnvelope)
    • markAsPublished

      default reactor.core.publisher.Mono<io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>> markAsPublished(TxCtx tx, io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> eventEnvelopes)
    • markAsPublished

      reactor.core.publisher.Mono<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> markAsPublished(fr.maif.eventsourcing.EventEnvelope<E,Meta,Context> eventEnvelope)
    • markAsPublished

      default reactor.core.publisher.Mono<io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>>> markAsPublished(io.vavr.collection.List<fr.maif.eventsourcing.EventEnvelope<E,Meta,Context>> eventEnvelopes)
    • openTransaction

      reactor.core.publisher.Mono<TxCtx> openTransaction()
    • commitOrRollback

      reactor.core.publisher.Mono<io.vavr.Tuple0> commitOrRollback(io.vavr.control.Option<Throwable> of, TxCtx tx)
    • toEventStore

      fr.maif.eventsourcing.EventStore<TxCtx,E,Meta,Context> toEventStore()
    • fromEventStore

      static <TxCtx, E extends fr.maif.eventsourcing.Event, Meta, Context> ReactorEventStore<TxCtx,E,Meta,Context> fromEventStore(fr.maif.eventsourcing.EventStore<TxCtx,E,Meta,Context> eventStore)