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
- All
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
complete(): components.StaticSystem
Makes the builder unmodifiable and returns completed static system.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def extend[T <: SystemBuilderExtension](implicit extensionId: SystemBuilderExtensionId[T]): T
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def findInput(name: String): Option[SystemBuilderApi.Contact[_]]
- def findOutput(name: String): Option[SystemBuilderApi.Contact[_]]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- def handleExceptions(handler: SystemBuilderApi.UnhandledProcessingExceptionHandler): Unit
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
input[T](name: String): components.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
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
output[T](name: String): components.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: components.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(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )