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.
- Alphabetic
- By Inheritance
- SystemBuilder
- WithStaticSystem
- OuterInterfaceBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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!
- def addLink[T1, T2](link: SystemBuilderApi.Link[T1, T2, T1, T2]): SystemBuilderApi.Contact[T2]
- def addLink[T1, T2](from: SystemBuilderApi.Contact[T1], to: SystemBuilderApi.Contact[T2], name: String, info: SystemBuilderApi.LinkInfo[T1, T2]): SystemBuilderApi.Contact[T2]
- def addStateHandle[S](sh: SystemBuilderApi.StateHandle[S]): SystemBuilderApi.StateHandle[S]
Add StateHandle to the system
- 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.
- def addSubsystems(subsystems: SystemBuilderApi.StaticSystem*): Unit
Adds a few subsystems at once.
Adds a few subsystems at once. Useful for super systems construction.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def complete(): SystemBuilderApi.StaticSystem
Makes the builder unmodifiable and returns completed static system.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def extend[T <: SystemBuilderExtension](implicit extensionId: SystemBuilderExtensionId[T]): T
- def findInput(name: String): Option[SystemBuilderApi.Contact[_]]
- def findOutput(name: String): Option[SystemBuilderApi.Contact[_]]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def handleExceptions(handler: SystemBuilderApi.UnhandledProcessingExceptionHandler): Unit
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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
- SystemBuilder → OuterInterfaceBuilder
- def inputs(lc: SystemBuilderApi.Contact[_]*): Unit
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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
- SystemBuilder → OuterInterfaceBuilder
- def outputs(lc: SystemBuilderApi.Contact[_]*): Unit
- def predecessors(c: SystemBuilderApi.Contact[_]): List[SystemBuilderApi.Contact[_]]
returns one step successors from the given contact
- 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.
- def setSystemName(name: String): Unit
Changes the name of the component.
Changes the name of the component.
- Definition Classes
- SystemBuilder → OuterInterfaceBuilder
- def state[S](name: String, initialValue: S): SystemBuilderApi.StateHandle[S]
Create StateHandle and add it to the system
- def successors(c: SystemBuilderApi.Contact[_]): List[SystemBuilderApi.Contact[_]]
returns one step successors from the given contact
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def systemName: String
- def systemName_=(name: String): Unit
- def toStaticSystem: SystemBuilderApi.StaticSystem
Constructs the current version of static system.
Constructs the current version of static system.
- Definition Classes
- SystemBuilder → WithStaticSystem
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated