Compartment
This Trait allows for implementing an objectified collaboration with a limited number of participating roles and a fixed scope.
==Overview== Roles are dependent on some sort of context. We call them compartments. A typical example of a compartment is a university, which contains the roles Student and Teacher collaborating in Courses. Everything in SCROLL happens inside of Compartments but roles (implemented as standard Scala classes) can be defined or imported from everywhere. Just mix in this Trait into your own specific compartment class or create an anonymous instance.
==Example==
val player = new Player()
new Compartment {
class RoleA
class RoleB
player play new RoleA()
player play new RoleB()
// call some behaviour
}
Attributes
- Graph
-
- Supertypes
Members list
Type members
Classlikes
Attributes
- Supertypes
-
trait SCROLLDynamictrait Dynamictrait SCROLLDispatchabletrait Dispatchableclass Objecttrait Matchableclass AnyShow all
Inherited and Abstract classlikes
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 Dynamictrait SCROLLDispatchabletrait Dispatchableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
Value members
Concrete methods
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
Attributes
- Inherited from:
- AbstractCompartment
Inherited fields
Get scroll.internal.support.CompartmentRelationsApi API entry point.
Get scroll.internal.support.CompartmentRelationsApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment
Get scroll.internal.support.PlayerEqualityApi API entry point.
Get scroll.internal.support.PlayerEqualityApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment
Get scroll.internal.support.RoleConstraintsApi API entry point.
Get scroll.internal.support.RoleConstraintsApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment
Get scroll.internal.graph.RoleGraphProxyApi API entry point.
Get scroll.internal.graph.RoleGraphProxyApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment
Get scroll.internal.support.RoleGroupsApi API entry point.
Get scroll.internal.support.RoleGroupsApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment
Get scroll.internal.support.RolePlayingApi API entry point.
Get scroll.internal.support.RolePlayingApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment
Get scroll.internal.support.RoleQueriesApi API entry point.
Get scroll.internal.support.RoleQueriesApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment
Get scroll.internal.support.RelationshipsApi API entry point.
Get scroll.internal.support.RelationshipsApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment
Get scroll.internal.support.RoleRestrictionsApi API entry point.
Get scroll.internal.support.RoleRestrictionsApi API entry point.
Attributes
- Inherited from:
- AbstractCompartment