eventstore.pipeline

AbstractPipePair

abstract class AbstractPipePair[CmdAbove, CmdBelow, EvtAbove, EvtBelow] extends AnyRef

Java API: A pair of pipes, one for commands and one for events. Commands travel from top to bottom, events from bottom to top.

See also

PipePairFactory

AbstractSymmetricPipePair

PipelineStage

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. AbstractPipePair
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AbstractPipePair()

Abstract Value Members

  1. abstract def onCommand(cmd: CmdAbove): Iterable[Either[EvtAbove, CmdBelow]]

    Commands reaching this pipe pair are transformed into a sequence of commands for the next or events for the previous stage.

    Commands reaching this pipe pair are transformed into a sequence of commands for the next or events for the previous stage.

    Throwing exceptions within this method will abort processing of the whole pipeline which this pipe pair is part of.

    cmd

    the incoming command

    returns

    an Iterable of elements which are either events or commands

    See also

    #makeEvent

    #makeCommand

  2. abstract def onEvent(event: EvtBelow): Iterable[Either[EvtAbove, CmdBelow]]

    Events reaching this pipe pair are transformed into a sequence of commands for the next or events for the previous stage.

    Events reaching this pipe pair are transformed into a sequence of commands for the next or events for the previous stage.

    Throwing exceptions within this method will abort processing of the whole pipeline which this pipe pair is part of.

    returns

    an Iterable of elements which are either events or commands

    See also

    #makeEvent

    #makeCommand

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def dealias[Cmd, Evt](msg: Iterable[Either[Evt, Cmd]]): Iterable[Either[Evt, Cmd]]

    INTERNAL API: Dealias a possibly optimized return value such that it can be safely used; this is never needed when only using public API.

  7. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  13. def makeCommand(cmd: CmdBelow): Either[EvtAbove, CmdBelow]

    Helper method for wrapping a command which shall be emitted.

  14. def makeEvent(event: EvtAbove): Either[EvtAbove, CmdBelow]

    Helper method for wrapping an event which shall be emitted.

  15. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  18. def onManagementCommand(cmd: AnyRef): Iterable[Either[EvtAbove, CmdBelow]]

    Management commands are sent to all stages in a broadcast fashion, conceptually in parallel (but not actually executing a stage reentrantly in case of events or commands being generated in response to a management command).

  19. def singleCommand(cmd: CmdBelow): Iterable[Either[EvtAbove, CmdBelow]]

    Wrap a single command for efficient return to the pipeline’s machinery.

    Wrap a single command for efficient return to the pipeline’s machinery. This method avoids allocating a scala.util.Right and an java.lang.Iterable by reusing one such instance within the AbstractPipePair, hence it can be used ONLY ONCE by each pipeline stage. Prototypic and safe usage looks like this:

    final MyResult result = ... ;
    return singleCommand(result);
    See also

    PipelineContext#singleCommand

  20. def singleEvent(evt: EvtAbove): Iterable[Either[EvtAbove, CmdBelow]]

    Wrap a single event for efficient return to the pipeline’s machinery.

    Wrap a single event for efficient return to the pipeline’s machinery. This method avoids allocating a scala.util.Left and an java.lang.Iterable by reusing one such instance within the AbstractPipePair, hence it can be used ONLY ONCE by each pipeline stage. Prototypic and safe usage looks like this:

    final MyResult result = ... ;
    return singleEvent(result);
    See also

    PipelineContext#singleEvent

  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  22. def toString(): String

    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped