RoleRestrictionsApi

Allows to add and check role restrictions (in the sense of structural typing) to a compartment instance.

class Object
trait Matchable
class Any

Value members

Abstract methods

def addRoleRestriction[A <: AnyRef : ClassTag, B <: AnyRef : ClassTag](): Unit

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.

Type Params
A

the player type

B

the role type

def removeRoleRestriction[A <: AnyRef : ClassTag](): Unit

Removes all role restriction for a player of type A.

Removes all role restriction for a player of type A.

Type Params
A

the player type

def replaceRoleRestriction[A <: AnyRef : ClassTag, B <: AnyRef : ClassTag](): Unit

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.

Type Params
A

the player type

B

the role type

def validate[R <: AnyRef : ClassTag](player: AnyRef, role: R): Unit

Checks all role restriction between the given player and a role type. Will throw a RuntimeException if a restriction is violated!

Checks all role restriction between the given player and a role type. Will throw a RuntimeException if a restriction is violated!

Value Params
player

the player instance to check

role

the role type to check