Trait

scroll.internal

KiamaCompartment

Related Doc: package internal

Permalink

trait KiamaCompartment extends Compartment

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. KiamaCompartment
  2. Compartment
  3. RoleUnionTypes
  4. CurryHowardUnionTypes
  5. QueryStrategies
  6. ReflectiveHelper
  7. Relationships
  8. RoleGroups
  9. RoleRestrictions
  10. RoleConstraints
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. trait Dispatchable extends AnyRef

    Permalink
    Definition Classes
    Compartment
  2. trait Entry extends AnyRef

    Permalink
    Definition Classes
    RoleGroups
  3. case class MatchAny() extends RoleQueryStrategy with Product with Serializable

    Permalink
    Definition Classes
    QueryStrategies
  4. implicit class Player[T <: AnyRef] extends SCROLLDynamic with SCROLLDispatch

    Permalink

    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.

    T

    type of wrapped object

    Definition Classes
    Compartment
  5. implicit class Reflective extends AnyRef

    Permalink

    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.

    Definition Classes
    ReflectiveHelper
  6. class Relationship[L, R] extends AnyRef

    Permalink

    Class representation of a relationship between two (role) types.

    Class representation of a relationship between two (role) types.

    L

    type of the role of the left side of the relationship

    R

    type of the role of the right side of the relationship

    Definition Classes
    Relationships
  7. case class RoleGroup(name: String, entries: Seq[Compartment.Entry], limit: (Int, Compartment.CInt), occ: (Int, Compartment.CInt), evaluated: Boolean = false) extends Compartment.Entry with Product with Serializable

    Permalink
    Definition Classes
    RoleGroups
  8. implicit class RoleQueryStrategy extends AnyRef

    Permalink
    Definition Classes
    QueryStrategies
  9. trait SCROLLDispatch extends Dispatchable

    Permalink

    Trait handling the actual dispatching of role methods.

    Trait handling the actual dispatching of role methods.

    Definition Classes
    Compartment
  10. trait SCROLLDynamic extends Dynamic

    Permalink

    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.

    Definition Classes
    Compartment
  11. class Types extends Compartment.Entry

    Permalink
    Definition Classes
    RoleGroups
  12. case class WithProperty[T](name: String, value: T) extends RoleQueryStrategy with Product with Serializable

    Permalink
    Definition Classes
    QueryStrategies
  13. case class WithResult[T](name: String, result: T) extends RoleQueryStrategy with Product with Serializable

    Permalink
    Definition Classes
    QueryStrategies
  14. type nor[T, U] = AnyRef { type λ[X] = shapeless.<:!<[KiamaCompartment.this.¬¬[X],KiamaCompartment.this.∨[T,U]] }

    Permalink
    Definition Classes
    RoleUnionTypes
  15. type or[T, U] = AnyRef { type λ[X] = <:<[KiamaCompartment.this.¬¬[X],KiamaCompartment.this.∨[T,U]] }

    Permalink
    Definition Classes
    RoleUnionTypes
  16. type |∨|[T, U] = AnyRef { type λ[X] = <:<[KiamaCompartment.this.¬¬[X],KiamaCompartment.this.∨[T,U]] }

    Permalink
    Definition Classes
    CurryHowardUnionTypes
  17. type ¬[A] = (A) ⇒ Nothing

    Permalink
    Definition Classes
    CurryHowardUnionTypes
  18. type ¬|∨|[T, U] = AnyRef { type λ[X] = shapeless.<:!<[KiamaCompartment.this.¬¬[X],KiamaCompartment.this.∨[T,U]] }

    Permalink
    Definition Classes
    CurryHowardUnionTypes
  19. type ¬¬[A] = (¬[A]) ⇒ Nothing

    Permalink
    Definition Classes
    CurryHowardUnionTypes
  20. type [T, U] = (¬[T] with ¬[U]) ⇒ Nothing

    Permalink
    Definition Classes
    CurryHowardUnionTypes

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object Relationship

    Permalink

    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.

    Definition Classes
    Relationships
  5. def ReplaceRoleRestriction[A, B](implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[A], tag: scala.reflect.api.JavaUniverse.WeakTypeTag[B]): Unit

    Permalink

    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.

    A

    the player type

    B

    the role type

    tag

    implicitly added WeakTypeTag for the role type

    Definition Classes
    RoleRestrictions
  6. def RoleConstraintsChecked(func: ⇒ Unit): Unit

    Permalink

    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!

    func

    the function to execute and check role constraints afterwards

    Definition Classes
    RoleConstraints
  7. def RoleEquivalence[A, B]()(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[A], arg1: scala.reflect.api.JavaUniverse.WeakTypeTag[B]): Unit

    Permalink

    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.

    A

    type of role A that should be played implicitly if B is played

    B

    type of role B that should be played implicitly if A is played

    Definition Classes
    RoleConstraints
  8. object RoleGroup extends Serializable

    Permalink
    Definition Classes
    RoleGroups
  9. def RoleGroupsChecked(func: ⇒ Unit): Unit

    Permalink

    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!

    func

    the function to execute and check role group constraints afterwards

    Definition Classes
    RoleGroups
  10. def RoleImplication[A, B]()(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[A], arg1: scala.reflect.api.JavaUniverse.WeakTypeTag[B]): Unit

    Permalink

    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.

    A

    type of role A

    B

    type of role B that should be played implicitly if A is played

    Definition Classes
    RoleConstraints
  11. def RoleProhibition[A, B]()(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[A], arg1: scala.reflect.api.JavaUniverse.WeakTypeTag[B]): Unit

    Permalink

    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.

    A

    type of role A

    B

    type of role B that is not allowed to be played if A is played already

    Definition Classes
    RoleConstraints
  12. def RoleRestriction[A, B](implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[A], tag: scala.reflect.api.JavaUniverse.WeakTypeTag[B]): Unit

    Permalink

    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.

    A

    the player type

    B

    the role type

    tag

    implicitly added WeakTypeTag for the role type

    Definition Classes
    RoleRestrictions
  13. object Types

    Permalink
    Definition Classes
    RoleGroups
  14. def addPlaysRelation[C <: AnyRef, R <: AnyRef](core: C, role: R)(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[C], arg1: scala.reflect.api.JavaUniverse.WeakTypeTag[R]): Unit

    Permalink

    Adds a play relation between core and role.

    Adds a play relation between core and role.

    C

    type of core

    R

    type of role

    core

    the core to add the given role at

    role

    the role that should added to the given core

    Definition Classes
    Compartment
  15. def all[T](matcher: (T) ⇒ Boolean)(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[T]): Seq[T]

    Permalink

    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.

    T

    the type of the player instance to query for

    matcher

    the matching function that should match the queried player instance in the role playing graph

    returns

    all player instances as Seq, that do conform to the given matcher

    Definition Classes
    Compartment
  16. def all[T](matcher: RoleQueryStrategy = MatchAny())(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[T]): Seq[T]

    Permalink

    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.

    T

    the type of the player instance to query for

    matcher

    the matcher that should match the queried player instance in the role playing graph

    returns

    all player instances as Seq, that do conform to the given matcher

    Definition Classes
    Compartment
  17. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  18. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. implicit def either2TorException[T](either: Either[_, T]): T

    Permalink
    Definition Classes
    Compartment
  20. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  24. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  25. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  26. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  27. def newPlayer(obj: AnyRef): Player[AnyRef]

    Permalink

    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.

    obj

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

    returns

    a new Player instance wrapping the given object

    Definition Classes
    Compartment
  28. def notPartOf(other: Compartment): Unit

    Permalink

    Removing is-part-of relation between compartments.

    Removing is-part-of relation between compartments.

    Definition Classes
    Compartment
  29. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  31. def one[T](matcher: (T) ⇒ Boolean)(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[T]): Either[TypeError, T]

    Permalink

    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.

    T

    the type of the player instance to query for

    matcher

    the matching function that should match the queried player instance in the role playing graph

    returns

    the first player instances, that do conform to the given matcher or an appropriate error

    Definition Classes
    Compartment
  32. def one[T](matcher: RoleQueryStrategy = MatchAny())(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[T]): Either[TypeError, T]

    Permalink

    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.

    T

    the type of the player instance to query for

    matcher

    the matcher that should match the queried player instance in the role playing graph

    returns

    the first player instance, that does conform to the given matcher or an appropriate error

    Definition Classes
    Compartment
  33. def partOf(other: Compartment): Unit

    Permalink

    Declaring a is-part-of relation between compartments.

    Declaring a is-part-of relation between compartments.

    Definition Classes
    Compartment
  34. var plays: RoleGraph

    Permalink
    Attributes
    protected
    Definition Classes
    Compartment
  35. def removePlaysRelation[C <: AnyRef, R <: AnyRef](core: C, role: R)(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[C], arg1: scala.reflect.api.JavaUniverse.WeakTypeTag[R]): Unit

    Permalink

    Removes the play relation between core and role.

    Removes the play relation between core and role.

    C

    type of core

    R

    type of role

    core

    the core the given role should removed from

    role

    the role that should removed from the given core

    Definition Classes
    Compartment
  36. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  37. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  38. def transferRole[F <: AnyRef, T <: AnyRef, R <: AnyRef](coreFrom: F, coreTo: T, role: R)(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[F], arg1: scala.reflect.api.JavaUniverse.WeakTypeTag[T], arg2: scala.reflect.api.JavaUniverse.WeakTypeTag[R]): Unit

    Permalink

    Transfers a role from one core to another.

    Transfers a role from one core to another.

    F

    type of core the given role should be removed from

    T

    type of core the given role should be attached to

    R

    type of role

    coreFrom

    the core the given role should be removed from

    coreTo

    the core the given role should be attached to

    role

    the role that should be transferred

    Definition Classes
    Compartment
  39. def union(other: Compartment): Compartment

    Permalink

    Declaring a bidirectional is-part-of relation between compartment.

    Declaring a bidirectional is-part-of relation between compartment.

    Definition Classes
    Compartment
  40. def validate(player: Any, role: scala.reflect.api.JavaUniverse.Type): Unit

    Permalink

    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!

    player

    the player instance to check

    role

    the role type to check

    Attributes
    protected
    Definition Classes
    RoleRestrictions
  41. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Compartment

Inherited from RoleUnionTypes

Inherited from CurryHowardUnionTypes

Inherited from QueryStrategies

Inherited from ReflectiveHelper

Inherited from Relationships

Inherited from RoleGroups

Inherited from RoleRestrictions

Inherited from RoleConstraints

Inherited from AnyRef

Inherited from Any

Ungrouped