Class

eventstore.pipeline

AbstractPipePair

Related Doc: package pipeline

Permalink

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
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AbstractPipePair()

    Permalink

Abstract Value Members

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

    Permalink

    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]]

    Permalink

    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.

    event

    the incoming event

    returns

    an Iterable of elements which are either events or commands

    See also

    #makeEvent

    #makeCommand

Concrete Value Members

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

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

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

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

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

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

    Permalink

    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

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

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

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

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

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

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

    Permalink

    Helper method for wrapping a command which shall be emitted.

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

    Permalink

    Helper method for wrapping an event which shall be emitted.

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

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

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

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

    Permalink

    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]]

    Permalink

    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]]

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped