MultiCompartment

scroll.internal.compartment.impl.MultiCompartment

This Trait allows for implementing an objectified collaboration with a limited number of participating roles and a fixed scope. In contrast to the normal Compartment, in case of ambiguities all role methods will be called in sequence.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

implicit class MultiPlayer[W <: AnyRef](val wrapped: W)(implicit evidence$1: ClassTag[W]) extends IPlayer[W, MultiPlayer[W]]

Attributes

Supertypes
class IPlayer[W, MultiPlayer[W]]
trait Dynamic
trait Dispatchable
class Object
trait Matchable
class Any
Show all

Inherited and Abstract classlikes

abstract class IPlayer[+W <: AnyRef, +T <: IPlayer[W, T]](val wrapped: W)(implicit evidence$1: ClassTag[W]) extends SCROLLDispatchable, Dynamic

Wrapper class to add basic functionality to roles and its players as unified types.

Wrapper class to add basic functionality to roles and its players as unified types.

Type parameters

W

type of wrapped object

Value parameters

wrapped

the player or role that is wrapped into this dynamic type

Attributes

Inherited from:
AbstractCompartment
Supertypes
trait Dynamic
trait Dispatchable
class Object
trait Matchable
class Any
Show all
Known subtypes
class Player[W]
class MultiPlayer[W]

Value members

Concrete methods

override def newPlayer[W <: AnyRef : ClassTag](obj: W): MultiPlayer[W]

Explicit helper factory method for creating a new Player instance without the need to relying on the implicit mechanics of Scala.

Explicit helper factory method for creating a new Player instance without the need to relying on the implicit mechanics of Scala.

Value parameters

obj

the player or role that is wrapped into this dynamic player type

Attributes

Returns

a new Player instance wrapping the given object

Definition Classes

Inherited methods

protected def applyDispatchQuery(dispatchQuery: DispatchQuery, on: AnyRef): Seq[AnyRef]

Attributes

Inherited from:
AbstractCompartment

Inherited fields

lazy override val playerEquality: PlayerEqualityApi

Attributes

Inherited from:
AbstractCompartment
lazy override val roleConstraints: RoleConstraintsApi

Attributes

Inherited from:
AbstractCompartment
lazy override val roleGraph: RoleGraphProxyApi

Attributes

Inherited from:
AbstractCompartment
lazy override val roleGroups: RoleGroupsApi

Attributes

Inherited from:
AbstractCompartment
lazy override val rolePlaying: RolePlayingApi

Attributes

Inherited from:
AbstractCompartment
lazy override val roleQueries: RoleQueriesApi

Attributes

Inherited from:
AbstractCompartment
lazy override val roleRelationships: RelationshipsApi

Attributes

Inherited from:
AbstractCompartment

Attributes

Inherited from:
AbstractCompartment

Implicits

Implicits

final implicit def MultiPlayer[W <: AnyRef : ClassTag](wrapped: W): MultiPlayer[W]
implicit def either2SeqTOrException[T](either: Either[_, Seq[Either[_, T]]]): Seq[T]

Inherited implicits

implicit def either2TorException[T](either: Either[_, T]): T

Attributes

Inherited from:
AbstractCompartment