BaseServiceBuilder

onera.pmlanalyzer.pml.model.service.BaseServiceBuilder

Base trait for all hardware node builder the name of the transporter is implicitly derived from the name of the variable used during instantiation. Usually an hardware can be constructed without arguments, where T can be Load, Store, ArtificialService

        val myService = T()

It is also possible to give a specific name, for instance when creating the component in a loop then the following constructor can bee used

          val serviceSeq = for { i <- O to N } yield T(s"myService$i")

Attributes

T

the concrete type of built object

See also:
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object ArtificialService.type
object Load.type
object Store.type

Members list

Concise view

embedFunctions

def all(implicit owner: Owner): Set[T]

Provide all the object of the current type created for the platform, including the ones created in composite components

Provide all the object of the current type created for the platform, including the ones created in composite components

Attributes

owner

the name of the platform owning the objects

Returns:

set of created objects

Inherited from:
PMLNodeBuilder
def allDirect(implicit owner: Owner): Set[T]

Provide all the object of the current type created for the platform, without the ones created in composite components

Provide all the object of the current type created for the platform, without the ones created in composite components

Attributes

owner

the name of the platform owning the objects

Returns:

set of created objects

Inherited from:
PMLNodeBuilder

Value members

Abstract methods

protected def builder(name: Symbol): T

The builder that must be implemented by specific builder

The builder that must be implemented by specific builder

Attributes

name

the name of the object

Returns:

the object

Concrete methods

def apply()(implicit name: Name, owner: Owner): T

A service can be defined by the name provided by the implicit declaration context (the name of the value enclosing the object)

A service can be defined by the name provided by the implicit declaration context (the name of the value enclosing the object)

Attributes

name

the implicit service name

owner

implicitly retrieved name of the platform

Returns:

the service

def apply(name: Symbol)(implicit owner: Owner): T

A service can be defined by its name

A service can be defined by its name

Attributes

name

the service name

owner

implicitly retrieved name of the platform

Returns:

the service

Inherited fields

protected val _memo: HashMap[(Symbol, Symbol), T]

Attributes

Inherited from:
PMLNodeBuilder