All Known Implementing Classes:
EventBusImpl

public interface EventBus
Interface for a simple EventBus implementation. Uses project reactor fluxes to notify subscribers of events.
  • Method Details

    • emit

      void emit(PermissionEvent event)
      Emit an event via the EventBus. Every subscriber to this event will get the event.
      Parameters:
      event - event to be emitted
    • filteredFlux

      <T extends PermissionEvent> reactor.core.publisher.Flux<T> filteredFlux(Class<T> clazz)
      Get all events of a specific type.
      Type Parameters:
      T - the type of the event
      Parameters:
      clazz - the class of the events.
      Returns:
      a flux, which streams the subscribed events.
    • filteredFlux

      reactor.core.publisher.Flux<PermissionEvent> filteredFlux(PermissionProcessStatus status)
      Get all events of a specific PermissionProcessStatus.
      Parameters:
      status - the PermissionProcessStatus of the event.
      Returns:
      a flux, which streams the subscribed events.