IPlayer
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
- Graph
-
- Supertypes
-
trait Dynamictrait SCROLLDispatchabletrait Dispatchableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class Player[W]class MultiPlayer[W]
- Self type
-
T
Members list
Type members
Classlikes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Value members
Concrete methods
Alias for IPlayer.play.
Alias for IPlayer.play.
Type parameters
- R
-
type of role
Value parameters
- role
-
the role that should be played
Attributes
- Returns
-
this
Alias for IPlayer.drop.
Alias for IPlayer.drop.
Value parameters
- role
-
the role that should be removed
Attributes
- Returns
-
this
Alias for IPlayer.playing.
Alias for IPlayer.playing.
Type parameters
- R
-
type of role
Value parameters
- role
-
the role that should played
Attributes
- Returns
-
the player instance
Removes the play relation between core and role.
Removes the play relation between core and role.
Value parameters
- role
-
the role that should be removed
Attributes
- Returns
-
this
Compares the receiver object (this
) with the argument object (that
) for equivalence.
Compares the receiver object (this
) with the argument object (that
) for equivalence.
Any implementation of this method should be an equivalence relation:
- It is reflexive: for any instance
x
of typeAny
,x.equals(x)
should returntrue
. - It is symmetric: for any instances
x
andy
of typeAny
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any instances
x
,y
, andz
of typeAny
ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
.
If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode
to ensure that objects which are "equal" (o1.equals(o2)
returns true
) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)
).
Value parameters
- that
-
the object to compare against this object for equality.
Attributes
- Returns
-
true
if the receiver object is equivalent to the argument;false
otherwise. - Definition Classes
-
Any
Returns a Seq of all facets attached to this player.
Returns a Seq of all facets attached to this player.
Attributes
- Returns
-
a Seq of all facets of this player including the player object itself. Returns an empty Seq if this player is not in the role-playing graph.
Checks of this IPlayer has an extension of the given type. Alias for IPlayer.isPlaying.
Checks if this IPlayer has all of the given facet(s) attached.
Checks if this IPlayer has all of the given facet(s) attached.
Value parameters
- f
-
the facet(s)
Attributes
- Returns
-
true if this player has all of the given facets attached, false otherwise.
Checks if this IPlayer has at least one of the given facets attached.
Checks if this IPlayer has at least one of the given facets attached.
Value parameters
- f
-
the facets
Attributes
- Returns
-
true if this player has at least one of the given facets attached, false otherwise.
Calculates a hash code value for the object.
Calculates a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)
) yet not be equal (o1.equals(o2)
returns false
). A degenerate implementation could always return 0
. However, it is required that if two objects are equal (o1.equals(o2)
returns true
) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)
). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals
method.
Attributes
- Returns
-
the hash code value for this object.
- Definition Classes
-
Any
Checks of this IPlayer is playing a role of the given type R.
Checks of this IPlayer is playing a role of the given type R.
Type parameters
- R
-
type of role
Attributes
- Returns
-
true if this player is playing a role of type R, false otherwise. Returns false also, if the player is not available in the role-playing graph.
Adds a play relation between core and role.
Adds a play relation between core and role.
Type parameters
- R
-
type of role
Value parameters
- role
-
the role that should be played
Attributes
- Returns
-
this
Returns the player of this player instance if this is a role, or this itself.
Returns the player of this player instance if this is a role, or this itself.
Value parameters
- dispatchQuery
-
provide this to sort the resulting instances if a role instance is played by multiple core objects
Attributes
- Returns
-
the player of this player instance if this is a role, or this itself or an appropriate error
Adds a play relation between core and role but always returns the player instance.
Adds a play relation between core and role but always returns the player instance.
Type parameters
- R
-
type of role
Value parameters
- role
-
the role that should played
Attributes
- Returns
-
the player instance
Returns a list of all predecessors of this player, i.e., a transitive closure of its cores (deep roles).
Returns a list of all predecessors of this player, i.e., a transitive closure of its cores (deep roles).
Attributes
- Returns
-
a list of all predecessors of this player
Removes this player from the graph.
Removes this player from the graph.
Attributes
Returns a Seq of all roles attached to this player.
Returns a Seq of all roles attached to this player.
Attributes
- Returns
-
a Seq of all roles of this player. Returns an empty Seq if this player is not in the role-playing graph.
Transfers a role to another player.
Transfers a role to another player.
Type parameters
- R
-
type of role
Value parameters
- role
-
the role to transfer
Attributes
Applies lifting to IPlayer
Applies lifting to IPlayer
Attributes
- Returns
-
an lifted IPlayer instance with the calling object as wrapped.
Inherited methods
For reflective dispatch.
For reflective dispatch.
Type parameters
- E
-
the return type of method m
Value parameters
- args
-
the arguments to pass to method m
- m
-
the method to dispatch
- on
-
the instance to dispatch the given method m on
Attributes
- Returns
-
the resulting return value of the method invocation or an appropriate error
- Definition Classes
- Inherited from:
- SCROLLDispatchable