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. Protected

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

    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]

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

    Add StateHandle to the system

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

    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

    Adds a few subsystems at once.

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

  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  12. def complete(): SystemBuilderApi.StaticSystem

    Makes the builder unmodifiable and returns completed static system.

  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. def extend[T <: SystemBuilderExtension](implicit extensionId: SystemBuilderExtensionId[T]): T
  16. def findInput(name: String): Option[SystemBuilderApi.Contact[_]]
  17. def findOutput(name: String): Option[SystemBuilderApi.Contact[_]]
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def handleExceptions(handler: SystemBuilderApi.UnhandledProcessingExceptionHandler): Unit
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. def input[T](name: String): SystemBuilderApi.Contact[T]

    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
  22. def inputs(lc: SystemBuilderApi.Contact[_]*): Unit
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. def minDistance(c1: SystemBuilderApi.Contact[_], c2: SystemBuilderApi.Contact[_]): Int

    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

  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. def newSubsystem[T](name: String)(implicit outerBuilder: (OuterInterfaceBuilder) => T, definitionBuilder: (T) => SystemBuilderApi.StaticSystem): T

    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

  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. def output[T](name: String): SystemBuilderApi.Contact[T]

    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
  30. def outputs(lc: SystemBuilderApi.Contact[_]*): Unit
  31. def predecessors(c: SystemBuilderApi.Contact[_]): List[SystemBuilderApi.Contact[_]]

    returns one step successors from the given contact

  32. def readOnly(): Unit

    Sets this builder to the read only mode.

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

  33. def setSystemName(name: String): Unit

    Changes the name of the component.

    Changes the name of the component.

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

    Create StateHandle and add it to the system

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

    returns one step successors from the given contact

  36. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  37. def systemName: String
  38. def systemName_=(name: String): Unit
  39. def toStaticSystem: SystemBuilderApi.StaticSystem

    Constructs the current version of static system.

    Constructs the current version of static system.

    Definition Classes
    SystemBuilderWithStaticSystem
  40. def toString(): String
    Definition Classes
    AnyRef → Any
  41. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  42. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  43. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

Inherited from OuterInterfaceBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped