Class EventFlowRegistry<I,C,E,R,S>

java.lang.Object
org.springframework.cloud.servicebroker.service.events.EventFlowRegistry<I,C,E,R,S>
Type Parameters:
I - type of initialization flow
C - type of completion flow
E - type of error flow
R - type of request
S - type of response
Direct Known Subclasses:
AsyncOperationServiceInstanceBindingEventFlowRegistry, AsyncOperationServiceInstanceEventFlowRegistry, CreateServiceInstanceBindingEventFlowRegistry, CreateServiceInstanceEventFlowRegistry, DeleteServiceInstanceBindingEventFlowRegistry, DeleteServiceInstanceEventFlowRegistry, UpdateServiceInstanceEventFlowRegistry

public abstract class EventFlowRegistry<I,C,E,R,S> extends Object
Abstract class for defining an event flow registry.
Author:
Roy Clarkson
  • Constructor Details

    • EventFlowRegistry

      protected EventFlowRegistry(List<I> initializationFlows, List<C> completionFlows, List<E> errorFlows)
      Construct a new EventFlowRegistry.
      Parameters:
      initializationFlows - the initialization flows
      completionFlows - the completion flows
      errorFlows - the error flows
  • Method Details

    • addInitializationFlow

      public reactor.core.publisher.Mono<Void> addInitializationFlow(I object)
      Add an initialization flow.
      Parameters:
      object - the initialization flow
      Returns:
      an empty Mono
    • getInitializationFlows

      public abstract reactor.core.publisher.Flux<Void> getInitializationFlows(R request)
      Retrieve the initialization flows as a Flux.
      Parameters:
      request - the service broker request
      Returns:
      a Flux of initialization flows
    • getInitializationFlowsInternal

      protected reactor.core.publisher.Flux<I> getInitializationFlowsInternal()
      Merges the initialization flows into a Flux.
      Returns:
      a Flux of initialization flows
    • addCompletionFlow

      public reactor.core.publisher.Mono<Void> addCompletionFlow(C object)
      Add a completion flow.
      Parameters:
      object - the completion flow
      Returns:
      an empty Mono
    • getCompletionFlows

      public abstract reactor.core.publisher.Flux<Void> getCompletionFlows(R request, S response)
      Retrieve the completion flows as a Flux.
      Parameters:
      request - the service broker request
      response - the service broker response
      Returns:
      a Flux of completion flows
    • getCompletionFlowsInternal

      protected reactor.core.publisher.Flux<C> getCompletionFlowsInternal()
      Merges the completion flows into a Flux.
      Returns:
      a Flux of completion flows
    • addErrorFlow

      public reactor.core.publisher.Mono<Void> addErrorFlow(E object)
      Add an error flow.
      Parameters:
      object - the error flow
      Returns:
      an empty Mono
    • getErrorFlows

      public abstract reactor.core.publisher.Flux<Void> getErrorFlows(R request, Throwable t)
      Retrieve the error flows as a Flux.
      Parameters:
      request - the service broker request
      t - the error
      Returns:
      a Flux of error flows
    • getErrorFlowsInternal

      protected reactor.core.publisher.Flux<E> getErrorFlowsInternal()
      Merges the error flows into a Flux.
      Returns:
      a Flux of error flows