package dsl
Type Members
-
trait
AccumulationDsl
extends BaseTypedSystemDsl with SystemBuilderDsl
DSL for working with accumulators
- trait AutomataDsl extends SystemBuilderDsl
- trait ContactsDsl extends ComponentsApi
-
sealed
trait
Continuation
[T1, T2] extends AnyRef
The continuation usually has a function that will return new continuation.
The continuation usually has a function that will return new continuation. The current continuation has result that is returned immediately when the continuation is created. Later this result can be considered as a hint of what was returned.
-
case class
ContinuationCalcWithResult
[T1, T2](f: (T1) ⇒ Continuation[T1, T2], result: Seq[T2]) extends Continuation[T1, T2] with Product with Serializable
a continuation with calculations.
a continuation with calculations. Returns some result before entering expectation state
-
trait
ContinuationDsl
extends SystemBuilderDsl
A builder that creates a kind of state machine.
A builder that creates a kind of state machine. The state contains a continuation. On every processed signal a new continuation is generated. Usually the last statement of the continuation is a call to some constructor method that creates a continuation for the next signal.
- case class Done [T1, T2](result: Seq[T2]) extends Continuation[T1, T2] with Product with Serializable
-
trait
ManagedStatesDsl
extends BaseTypedSystemDsl with ContactsDsl with SystemBuilderDsl
Managed states are not accessible directly.
Managed states are not accessible directly. Instead the state can be overwritten by sending some data on a special contact. On every state change a signal appears on a contact onUpdated. TODO: detect changes and create event only when changed.
-
trait
SwitcherDsl
extends SystemBuilderDsl
API for creating "switcher".
API for creating "switcher". A switcher is a special mini-builder for constructing a set of case branches that are "sealed" - the last branch "else" will take all the rest signals.
-
trait
SystemBuilderDsl
extends SystemBuilderApi with NextLabelExt with AuxNumberingExt with DevNullExt
Doesn't work because T2 is unknown when it is called implicitly.
Doesn't work because T2 is unknown when it is called implicitly.
implicit def contactToLink[T1, T2](c1:Contact[T1]) = { val c2 = addContact(new Contact[T2](nextContactName, AuxiliaryContact)) new ImplLinkBuilder(c1, c2) } -
trait
TryDsl
extends SystemBuilderApi with NextLabelExt with SystemBuilderDsl
DSL for working with links that catch exceptions and encapsulate them in Try monad.