Implicit wrapper class to add basic functionality to roles and its players as unified types.
Implicit wrapper class to add basic functionality to roles and its players as unified types.
type of wrapped object
An implicit wrapper which provides helper functions to access common tasks for working with reflections.
An implicit wrapper which provides helper functions to access common tasks for working with reflections.
Class representation of a relationship between two (role) types.
Class representation of a relationship between two (role) types.
type of the role of the left side of the relationship
type of the role of the right side of the relationship
Trait handling the actual dispatching of role methods.
Trait handling the actual dispatching of role methods.
Generic Trait that enables dynamic invocation of role methods that are not natively available on the player object.
Generic Trait that enables dynamic invocation of role methods that are not natively available on the player object.
Companion object for scroll.internal.support.Relationships.Relationship providing some predefined multiplicities and a fluent relationship creation API.
Companion object for scroll.internal.support.Relationships.Relationship providing some predefined multiplicities and a fluent relationship creation API.
Replaces a role restriction for a player of type A with a new role restriction between the given player type A and role type B.
Replaces a role restriction for a player of type A with a new role restriction between the given player type A and role type B.
the player type
the role type
implicitly added WeakTypeTag for the role type
Wrapping function that checks all available role constraints for all core objects and its roles after the given function was executed.
Wrapping function that checks all available role constraints for all core objects and its roles after the given function was executed. Throws a RuntimeException if a role constraint is violated!
the function to execute and check role constraints afterwards
Adds an role equivalent constraint between the given role types.
Adds an role equivalent constraint between the given role types. Interpretation: if a core object plays an instance of role type A it also has to play an instance of role type B and visa versa.
type of role A that should be played implicitly if B is played
type of role B that should be played implicitly if A is played
Wrapping function that checks all available role group constraints for all core objects and its roles after the given function was executed.
Wrapping function that checks all available role group constraints for all core objects and its roles after the given function was executed. Throws a RuntimeException if a role group constraint is violated!
the function to execute and check role group constraints afterwards
Adds an role implication constraint between the given role types.
Adds an role implication constraint between the given role types. Interpretation: if a core object plays an instance of role type A it also has to play an instance of role type B.
type of role A
type of role B that should be played implicitly if A is played
Adds an role prohibition constraint between the given role types.
Adds an role prohibition constraint between the given role types. Interpretation: if a core object plays an instance of role type A it is not allowed to play B as well.
type of role A
type of role B that is not allowed to be played if A is played already
Add a role restriction between the given player type A and role type B.
Add a role restriction between the given player type A and role type B.
the player type
the role type
implicitly added WeakTypeTag for the role type
Adds a play relation between core and role.
Adds a play relation between core and role.
type of core
type of role
the core to add the given role at
the role that should added to the given core
Query the role playing graph for all player instances that do conform to the given function.
Query the role playing graph for all player instances that do conform to the given function.
the type of the player instance to query for
the matching function that should match the queried player instance in the role playing graph
all player instances as Seq, that do conform to the given matcher
Query the role playing graph for all player instances that do conform to the given matcher.
Query the role playing graph for all player instances that do conform to the given matcher.
the type of the player instance to query for
the matcher that should match the queried player instance in the role playing graph
all player instances as Seq, that do conform to the given matcher
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.
the player or role that is wrapped into this dynamic player type
a new Player instance wrapping the given object
Removing is-part-of relation between compartments.
Removing is-part-of relation between compartments.
Query the role playing graph for all player instances that do conform to the given function and return the first found.
Query the role playing graph for all player instances that do conform to the given function and return the first found.
the type of the player instance to query for
the matching function that should match the queried player instance in the role playing graph
the first player instances, that do conform to the given matcher or an appropriate error
Query the role playing graph for all player instances that do conform to the given matcher and return the first found.
Query the role playing graph for all player instances that do conform to the given matcher and return the first found.
the type of the player instance to query for
the matcher that should match the queried player instance in the role playing graph
the first player instance, that does conform to the given matcher or an appropriate error
Declaring a is-part-of relation between compartments.
Declaring a is-part-of relation between compartments.
Removes the play relation between core and role.
Removes the play relation between core and role.
type of core
type of role
the core the given role should removed from
the role that should removed from the given core
Transfers a role from one core to another.
Transfers a role from one core to another.
type of core the given role should be removed from
type of core the given role should be attached to
type of role
the core the given role should be removed from
the core the given role should be attached to
the role that should be transferred
Declaring a bidirectional is-part-of relation between compartment.
Declaring a bidirectional is-part-of relation between compartment.
Checks all role restriction between the given player and a role type.
Checks all role restriction between the given player and a role type. Will throw a RuntimeException if a restriction is violated!
the player instance to check
the role type to check