Trait

ru.primetalk.synapse.core.ext.SystemBuilderApi

SystemBuilder

Related Doc: package SystemBuilderApi

Permalink

trait SystemBuilder extends OuterInterfaceBuilder with WithStaticSystem

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.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SystemBuilder
  2. WithStaticSystem
  3. OuterInterfaceBuilder
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. def addComponent[T <: SystemBuilderApi.Component](component: T): T

    Permalink

    Adds a self contained component.

    Adds a self contained component. NB: The state of the component is not managed!

  5. def addLink[T1, T2](link: SystemBuilderApi.Link[T1, T2, T1, T2]): SystemBuilderApi.Contact[T2]

    Permalink

  6. def addLink[T1, T2](from: SystemBuilderApi.Contact[T1], to: SystemBuilderApi.Contact[T2], name: String, info: SystemBuilderApi.LinkInfo[T1, T2]): SystemBuilderApi.Contact[T2]

    Permalink
  7. def addStateHandle[S](sh: SystemBuilderApi.StateHandle[S]): SystemBuilderApi.StateHandle[S]

    Permalink

    Add StateHandle to the system

  8. def addSubsystem[T](system: T, sharedStateHandles: SystemBuilderApi.StateHandle[_]*)(implicit ev: (T) ⇒ SystemBuilderApi.StaticSystem): T

    Permalink

    Subsystem.

    Subsystem. It can have a few input contacts (any number), however, it will process signals by one.

    If the subsystem has output contacts (it usually has), then the result of subsystem processing will appear on the same contacts of the parent system.

    sharedStateHandles

    a collection of state handles that is shared between the parent and the child system. Whenever the system gets a signal, shared state values are copied into it's internal state.

  9. def addSubsystems(subsystems: SystemBuilderApi.StaticSystem*): Unit

    Permalink

    Adds a few subsystems at once.

    Adds a few subsystems at once. Useful for super systems construction.

  10. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def complete(): components.StaticSystem

    Permalink

    Makes the builder unmodifiable and returns completed static system.

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  15. def extend[T <: SystemBuilderExtension](implicit extensionId: SystemBuilderExtensionId[T]): T

    Permalink
  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def findInput(name: String): Option[SystemBuilderApi.Contact[_]]

    Permalink
  18. def findOutput(name: String): Option[SystemBuilderApi.Contact[_]]

    Permalink
  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def handleExceptions(handler: SystemBuilderApi.UnhandledProcessingExceptionHandler): Unit

    Permalink
  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. def input[T](name: String): components.Contact[T]

    Permalink

    Create contact and add it to the builder as an input

    Create contact and add it to the builder as an input

    Definition Classes
    SystemBuilderOuterInterfaceBuilder
  23. def inputs(lc: SystemBuilderApi.Contact[_]*): Unit

    Permalink
  24. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  25. def minDistance(c1: SystemBuilderApi.Contact[_], c2: SystemBuilderApi.Contact[_]): Int

    Permalink

    Calculates the number of transitions from c1 to that contact.

    Calculates the number of transitions from c1 to that contact. If the contact is not reachable then the distance is equals = -1

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

    Permalink
    Definition Classes
    AnyRef
  27. def newSubsystem[T](name: String)(implicit outerBuilder: (OuterInterfaceBuilder) ⇒ T, definitionBuilder: (T) ⇒ SystemBuilderApi.StaticSystem): T

    Permalink

    Creates subsystem and adds it to this system as a component.

    Creates subsystem and adds it to this system as a component.

    T

    outer system's interface type

    name

    the name of the component

    outerBuilder

    function that creates outer interface of the system of type T

    definitionBuilder

    function that constructs StaticSystem for type T.

    returns

    outer system's interface

  28. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  30. def output[T](name: String): components.Contact[T]

    Permalink

    Create contact and add it to the builder as an output

    Create contact and add it to the builder as an output

    Definition Classes
    SystemBuilderOuterInterfaceBuilder
  31. def outputs(lc: SystemBuilderApi.Contact[_]*): Unit

    Permalink
  32. def predecessors(c: SystemBuilderApi.Contact[_]): List[SystemBuilderApi.Contact[_]]

    Permalink

    returns one step successors from the given contact

  33. def readOnly(): Unit

    Permalink

    Sets this builder to the read only mode.

    Sets this builder to the read only mode. Subsequent modifications will lead to exceptions.

  34. def setSystemName(name: String): Unit

    Permalink

    Changes the name of the component.

    Changes the name of the component.

    Definition Classes
    SystemBuilderOuterInterfaceBuilder
  35. def state[S](name: String, initialValue: S): SystemBuilderApi.StateHandle[S]

    Permalink

    Create StateHandle and add it to the system

  36. def successors(c: SystemBuilderApi.Contact[_]): List[SystemBuilderApi.Contact[_]]

    Permalink

    returns one step successors from the given contact

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

    Permalink
    Definition Classes
    AnyRef
  38. def systemName: String

    Permalink
  39. def systemName_=(name: String): Unit

    Permalink
  40. def toStaticSystem: components.StaticSystem

    Permalink

    Constructs the current version of static system.

    Constructs the current version of static system.

    Definition Classes
    SystemBuilderWithStaticSystem
  41. def toString(): String

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

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

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

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

Inherited from OuterInterfaceBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped