Packages

t

ru.primetalk.synapse.core.dsl

ManagedStatesDsl

trait ManagedStatesDsl extends BaseTypedSystemDsl with ContactsDsl with SystemBuilderDsl

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.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ManagedStatesDsl
  2. SystemBuilderDsl
  3. DevNullExt
  4. AuxNumberingExt
  5. ContactStyleExt
  6. NextLabelExt
  7. BaseTypedSystemDsl
  8. SystemBuilderApi
  9. ExceptionHandlingExt
  10. TrellisApi
  11. SignalsApi
  12. ContactsDsl
  13. ComponentsApi
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. implicit class ContactExtractor[T] extends AnyRef

    Extractor of contacts' data from result.

    Extractor of contacts' data from result.

    Definition Classes
    SignalsApi
  2. implicit class RichSignalList extends AnyRef
    Definition Classes
    SignalsApi
  3. case class SubsystemDirectSignal[T](subsystemName: String, signal: SignalsApi.Signal[T]) extends SubsystemDirectSignal0 with Product with Serializable

    An encapsulation of the signal that targets a subsystem's internal contact.

    An encapsulation of the signal that targets a subsystem's internal contact.

    Definition Classes
    SignalsApi
  4. sealed trait SubsystemDirectSignal0 extends AnyRef
    Definition Classes
    SignalsApi
  5. case class SubsystemDirectSignalDist(subsystemName: String, signal: SignalsApi.SignalDist) extends SubsystemDirectSignal0 with Product with Serializable
    Definition Classes
    SignalsApi
  6. type Component = components.Component
    Definition Classes
    ComponentsApi
  7. type ComponentWithInternalStructure = components.ComponentWithInternalStructure
    Definition Classes
    ComponentsApi
  8. type Contact[T] = components.Contact[T]
    Definition Classes
    ComponentsApi
  9. type Context = Map[Contact[_], _]

    The context for system is a map from state handles to values.

    The context for system is a map from state handles to values.

    Definition Classes
    TrellisApi
  10. type FlatMapLink[-T1, +T2] = components.FlatMapLink[T1, T2]
    Definition Classes
    ComponentsApi
  11. type Link[T1, T2, -TL1 >: T1, +TL2 <: T2] = components.Link[T1, T2, TL1, TL2]
    Definition Classes
    ComponentsApi
  12. type LinkInfo[-T1, +T2] = components.LinkInfo[T1, T2]
    Definition Classes
    ComponentsApi
  13. implicit class ManagedRichContact[T] extends AnyRef
  14. class ManagedRichState[S] extends AnyRef
  15. class ManagedStateSnippet[S] extends AnyRef
  16. type Named = components.Named
    Definition Classes
    ComponentsApi
  17. type NopLink[-T1, +T2 >: T1] = components.NopLink[T1, T2]
    Definition Classes
    ComponentsApi
  18. type RedMapLink[-T1, +T2] = components.RedMapLink[T1, T2]
    Definition Classes
    ComponentsApi
  19. type Signal[T] = components.Signal[T]
    Definition Classes
    ComponentsApi
  20. type SignalCollection[+T] = Iterable[T]
    Definition Classes
    ComponentsApi
  21. type SignalDist = components.SignalDist
    Definition Classes
    ComponentsApi
  22. type SimpleSignalProcessor = (Signal[_]) => SignalCollection[Signal[_]]

    The simplest signal processor.

    The simplest signal processor. Corresponds to FlatMap.

    Definition Classes
    TrellisApi
  23. type StateHandle[T] = components.StateHandle[T]
    Definition Classes
    ComponentsApi
  24. type StateZipLink[S, -T1, +T2 >: T1] = components.StateZipLink[S, T1, T2]
    Definition Classes
    ComponentsApi
  25. type StatefulFlatMapLink[S, -T1, +T2] = components.StatefulFlatMapLink[S, T1, T2]
    Definition Classes
    ComponentsApi
  26. type StaticSystem = components.StaticSystem
    Definition Classes
    ComponentsApi
  27. type StaticSystemExtensionId[+T] = components.StaticSystemExtensionId[T]
    Definition Classes
    ComponentsApi
  28. type TotalTrellisProducer = (Context, Signal[_]) => TrellisElement

    A function that takes a single signal on input and returns the last trellis element.

    A function that takes a single signal on input and returns the last trellis element. This producer does not store managed state in it.

    Definition Classes
    TrellisApi
  29. type TrellisElement = (Context, SignalCollection[Signal[_]])

    A snapshot of a running system at some discrete time moment.

    A snapshot of a running system at some discrete time moment.

    Definition Classes
    TrellisApi
  30. type TrellisProducer = (TrellisElement) => TrellisElement

    A function that makes single step (or a few steps) over time.

    A function that makes single step (or a few steps) over time.

    Definition Classes
    TrellisApi
  31. type UnhandledProcessingExceptionHandler = (Throwable, String, Signal[_], Context) => Context

    The type of a handler that will handle exceptions during signal processing.

    The type of a handler that will handle exceptions during signal processing. If the exception is recoverable, then the handler should provide a new Context for further processing. If not recoverable - throw some exception (or rethrow the original one).

    Definition Classes
    ExceptionHandlingExt
  32. type WithStaticSystem = components.WithStaticSystem
    Definition Classes
    ComponentsApi
  33. implicit class ContactOps[T] extends AnyRef

    New methods available on contacts that construct links.

    New methods available on contacts that construct links.

    Definition Classes
    SystemBuilderDsl
  34. implicit class ContactPairOps[Key, T] extends AnyRef

    Miscellaneous operations with prefixed data.

    Miscellaneous operations with prefixed data.

    Definition Classes
    SystemBuilderDsl
  35. class ContactWithState[T1, S] extends AnyRef
    Definition Classes
    SystemBuilderDsl
  36. implicit class DirectLinkBuilderOps[T1, T2 >: T1] extends AnyRef
    Definition Classes
    SystemBuilderDsl
  37. implicit class LinkBuilderOps[T1, T2] extends AnyRef

    DSL methods for creating links between the two given contacts.

    DSL methods for creating links between the two given contacts.

    Definition Classes
    SystemBuilderDsl
  38. implicit class StateLinkBuilder2Ops[T1, T2, S] extends AnyRef
    Definition Classes
    SystemBuilderDsl
  39. implicit class StateOps[S] extends AnyRef
    Definition Classes
    SystemBuilderDsl
  40. implicit class ZippingLinkOps[S, T] extends AnyRef
    Definition Classes
    SystemBuilderDsl
  41. class AuxContactNumberingExt extends SystemBuilderExtension
    Definition Classes
    AuxNumberingExt
  42. trait ContactStyle extends AnyRef
    Definition Classes
    ContactStyleExt
  43. class ContactStyleExtension extends SystemBuilderExtension
    Definition Classes
    ContactStyleExt
  44. case class ContactStyleStaticExtension(styles: Map[ContactStyleExt.Contact[_], ContactStyle]) extends Product with Serializable
    Definition Classes
    ContactStyleExt
  45. implicit class StyleableContact[T] extends AnyRef
    Definition Classes
    ContactStyleExt
  46. class DevNullExtension extends SystemBuilderExtension
    Definition Classes
    DevNullExt
  47. implicit class StaticSystemWithUnhandledExceptionHandler extends AnyRef
    Definition Classes
    ExceptionHandlingExt
  48. class LabellingExt extends SystemBuilderExtension

    An extension that adds easy labelling to System builder.

    An extension that adds easy labelling to System builder.

    Definition Classes
    NextLabelExt
  49. trait OuterInterfaceBuilder extends AnyRef

    An interface of some object that can collect information about outer interface of a system.

    An interface of some object that can collect information about outer interface of a system. Not only it create contact instances, but it usually transforms and collect them.

    Definition Classes
    SystemBuilderApi
  50. trait SystemBuilder extends OuterInterfaceBuilder with WithStaticSystem

    DSL for constructing systems.

    DSL for constructing systems.

    This builder supports step-by-step creation of contact system. At the end one must convert it to StaticSystem.

    The builder supports the notion of extensions (much like akka actor system extensions). When we need to store additional information during system construction, we may request an extention instance from the builder. The builder creates the singleton instance if it is not available yet and returns it.

    The builder is used in BaseTypedSystem as a DSL for system's construction.

    Definition Classes
    SystemBuilderApi
  51. class SystemBuilderC extends SystemBuilder
    Definition Classes
    SystemBuilderApi
  52. trait SystemBuilderExtension extends AnyRef

    An extension that adds some additional state to SystemBuilder.

    An extension that adds some additional state to SystemBuilder. It also has an opportunity to adjust the generated StaticSystem via hook #postProcess

    Definition Classes
    SystemBuilderApi
  53. final class SystemBuilderExtensionId[T <: SystemBuilderExtension] extends AnyRef

    ExtensionId for a system builder.

    ExtensionId for a system builder. Every extension can be installed only once on the same SystemBuilder. An instance of the extension is created by the extend method.

    Definition Classes
    SystemBuilderApi
  54. implicit class RichSimpleSignalProcessor extends AnyRef
    Definition Classes
    TrellisApi
  55. implicit class RichTotalTrellisProducer extends AnyRef
    Definition Classes
    TrellisApi
  56. trait SystemImplementation[T] extends AnyRef

    Implements a system of type T.

    Implements a system of type T. Uses external SystemBuilder instance to define internal System's structure.

    Definition Classes
    BaseTypedSystemDsl
  57. case class TypedSystem[T](outer: T, staticSystem: BaseTypedSystemDsl.StaticSystem) extends WithStaticSystem with Product with Serializable

    Definition Classes
    BaseTypedSystemDsl
  58. trait TypedSystemConstructor[T] extends (T) => StaticSystem

    Another way for system's construction is to define inputs and outputs in a separate class/trait and then enumerate them in system builder: sb.inputs(in1, in2, in3) and sb.outputs(out1, out2)

    Another way for system's construction is to define inputs and outputs in a separate class/trait and then enumerate them in system builder: sb.inputs(in1, in2, in3) and sb.outputs(out1, out2)

    class MySystemsInterface { val in1 = new Contact[String]("in1") val in2 = new Contact[String]("in2") val out1 = new Contact[String]("out1") }

    implicit object MySystemImplementation extends TypedSystemConstructor[T] { def apply(outer:T):StaticSystem = {

    } }

    Definition Classes
    BaseTypedSystemDsl

Value Members

  1. object SubsystemDirectSignal0
    Definition Classes
    SignalsApi
  2. object SubsystemSpecialAnswerContact extends Contact[SubsystemDirectSignal0]

    This contact is used to process answers of internal system.

    This contact is used to process answers of internal system.

    Definition Classes
    SignalsApi
  3. object SubsystemSpecialContact extends Contact[SubsystemDirectSignal0]

    This contact is used to process signals of internal system.

    This contact is used to process signals of internal system.

    In asynchronous execution the resulting signal should come at the same level of "call stack". However as far as we usually get the signal asynchronously it is processed at top level. So in order to run it in inside the subsystem, we package asynchronous result into Signal(SubsystemSpecialContact, SubsystemDirectSignal( name, actual resulting signal))

    Definition Classes
    SignalsApi
  4. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def ##: Int
    Definition Classes
    AnyRef → Any
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. implicit val AuxContactNumberingExtId: SystemBuilderExtensionId[AuxContactNumberingExt]
    Definition Classes
    AuxNumberingExt
  8. val Contact: components.Contact.type
    Definition Classes
    ComponentsApi
  9. implicit val ContactStyleExtId: SystemBuilderExtensionId[ContactStyleExtension]
    Definition Classes
    ContactStyleExt
  10. implicit val DevNullExtId: SystemBuilderExtensionId[DevNullExtension]
    Definition Classes
    DevNullExt
  11. val FlatMapLink: components.FlatMapLink.type
    Definition Classes
    ComponentsApi
  12. implicit val LabellingExtId: SystemBuilderExtensionId[LabellingExt]
    Definition Classes
    NextLabelExt
  13. val Link: components.Link.type
    Definition Classes
    ComponentsApi
  14. val NopLink: components.NopLink.type
    Definition Classes
    ComponentsApi
  15. val RedMapLink: components.RedMapLink.type
    Definition Classes
    ComponentsApi
  16. val Signal: components.Signal.type
    Definition Classes
    ComponentsApi
  17. val SignalCollection: Iterable.type
    Definition Classes
    ComponentsApi
  18. val SignalDist: components.SignalDist.type
    Definition Classes
    ComponentsApi
  19. val StateHandle: components.StateHandle.type
    Definition Classes
    ComponentsApi
  20. val StateZipLink: components.StateZipLink.type
    Definition Classes
    ComponentsApi
  21. val StatefulFlatMapLink: components.StatefulFlatMapLink.type
    Definition Classes
    ComponentsApi
  22. val StaticSystem: components.StaticSystem.type
    Definition Classes
    ComponentsApi
  23. val WithStaticSystem: components.WithStaticSystem.type
    Definition Classes
    ComponentsApi
  24. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  25. def auxContact[T](implicit sb: SystemBuilder): Contact[T]
    Definition Classes
    AuxNumberingExt
  26. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  27. def connect[T1, T2 >: T1](c1: Contact[T1], c2: Contact[T2], name: String = "")(implicit sb: SystemBuilder): Contact[T2]
    Definition Classes
    SystemBuilderDsl
  28. def contact[T](name: String): components.Contact[T]

    Create a contact with the given name.

    Create a contact with the given name.

    Definition Classes
    ContactsDsl
  29. def createTypedSystem[T](name: String)(implicit outerBuilder: (OuterInterfaceBuilder) => T, systemImplementation: SystemImplementation[T]): TypedSystem[T]
    Definition Classes
    BaseTypedSystemDsl
  30. val defaultUnhandledExceptionHandler: UnhandledProcessingExceptionHandler
    Definition Classes
    ExceptionHandlingExt
  31. def devNull(implicit sb: SystemBuilder): Contact[Any]

    Special contact for consuming unnecessary data values.

    Special contact for consuming unnecessary data values. It is often used as a sink contact in foreach and exec commands.

    Definition Classes
    DevNullExt
  32. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  34. def extension[T <: SystemBuilderExtension](implicit sb: SystemBuilder, extensionInstance: SystemBuilderExtensionId[T]): T

    Usage: extension[LabellingExt].methodInExtension

    Usage: extension[LabellingExt].methodInExtension

    Definition Classes
    SystemBuilderApi
  35. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  36. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  37. implicit def implicitExtendBasicSystemBuilder[T <: SystemBuilderExtension](sb: SystemBuilder)(implicit extensionInstanceId: SystemBuilderExtensionId[T]): T

    Automatic usage of extensions when an implicit extension id is present in the scope.

    Automatic usage of extensions when an implicit extension id is present in the scope.

    Definition Classes
    SystemBuilderApi
  38. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  39. implicit def managedRichState[S](ms: ManagedStateSnippet[S])(implicit sb: SystemBuilder): ManagedRichState[S]
  40. def managedState[S](name: String, initialValue: Option[S] = None)(implicit sb: SystemBuilder): ManagedStateSnippet[S]
  41. def mappedInput[T, T2 >: T](c1: Contact[T], c2: Contact[T2])(implicit sb: SystemBuilder): Contact[T2]

    Declares the first contact as input and creates link to the second

    Declares the first contact as input and creates link to the second

    Definition Classes
    SystemBuilderDsl
  42. def mappedOutput[T, T2 >: T](c1: Contact[T], c2: Contact[T2])(implicit sb: SystemBuilder): Contact[T]

    Declares the second contact as output and creates link from the first.

    Declares the second contact as output and creates link from the first. NB! Returns inner contact c1.

    Definition Classes
    SystemBuilderDsl
  43. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  44. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  45. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  46. implicit def pairToSignal[T](p: (Contact[T], T)): Signal[T]

    One may use notation (contact -> data) to represent a signal

    One may use notation (contact -> data) to represent a signal

    Definition Classes
    SignalsApi
  47. val rethrowUnhandledExceptionHandler: UnhandledProcessingExceptionHandler
    Definition Classes
    ExceptionHandlingExt
  48. implicit def sbToAux(sb: SystemBuilder): AuxContactNumberingExt
    Definition Classes
    AuxNumberingExt
  49. implicit def sbToLabelling(sb: SystemBuilder): LabellingExt
    Definition Classes
    NextLabelExt
  50. def setSystemName(name: String)(implicit sb: SystemBuilder): Unit
    Definition Classes
    SystemBuilderApi
  51. def state[T](name: String, s0: T)(implicit sb: SystemBuilder): StateHandle[T]
    Definition Classes
    SystemBuilderApi
  52. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  53. def systemBuilderTyped(name: String)(_inputs: Contact[_]*)(_outputs: Contact[_]*): SystemBuilder

    A system builder with inputs and outputs given in advance.

    A system builder with inputs and outputs given in advance.

    Definition Classes
    BaseTypedSystemDsl
  54. def toString(): String
    Definition Classes
    AnyRef → Any
  55. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  56. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  57. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  58. case object AuxiliaryContact extends ContactStyle with Product with Serializable
    Definition Classes
    AuxNumberingExt
  59. implicit object ContactStyleStaticExtId extends StaticSystemExtensionId[ContactStyleStaticExtension]
    Definition Classes
    ContactStyleExt
  60. case object NormalContact extends ContactStyle with Product with Serializable

    Default style for contact.

    Default style for contact.

    Definition Classes
    ContactStyleExt
  61. case object DevNullContact extends ContactStyle with Product with Serializable
    Definition Classes
    DevNullExt
  62. implicit object UnhandledExceptionHandlerExtensionId extends StaticSystemExtensionId[UnhandledProcessingExceptionHandler]
    Definition Classes
    ExceptionHandlingExt

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from SystemBuilderDsl

Inherited from DevNullExt

Inherited from AuxNumberingExt

Inherited from ContactStyleExt

Inherited from NextLabelExt

Inherited from BaseTypedSystemDsl

Inherited from SystemBuilderApi

Inherited from ExceptionHandlingExt

Inherited from TrellisApi

Inherited from SignalsApi

Inherited from ContactsDsl

Inherited from ComponentsApi

Inherited from AnyRef

Inherited from Any

Ungrouped