All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scroll.internal.compartment.CompartmentApi.scala Maven / Gradle / Ivy

package scroll.internal.compartment

import scroll.internal.graph.RoleGraphProxyApi
import scroll.internal.support.CompartmentRelationsApi
import scroll.internal.support.PlayerEqualityApi
import scroll.internal.support.RelationshipsApi
import scroll.internal.support.RoleConstraintsApi
import scroll.internal.support.RoleGroupsApi
import scroll.internal.support.RolePlayingApi
import scroll.internal.support.RoleQueriesApi
import scroll.internal.support.RoleRestrictionsApi

/** Defines the API for Compartments that implement an objectified collaboration with a limited number of participating
  * roles and a fixed scope.
  */
trait CompartmentApi {

  /** Public access to role-playing specific API */

  /** Get [[scroll.internal.graph.RoleGraphProxyApi]] API entry point.
    */
  lazy val roleGraph: RoleGraphProxyApi

  /** Get [[scroll.internal.support.RoleConstraintsApi]] API entry point.
    */
  lazy val roleConstraints: RoleConstraintsApi

  /** Get [[scroll.internal.support.RoleRestrictionsApi]] API entry point.
    */
  lazy val roleRestrictions: RoleRestrictionsApi

  /** Get [[scroll.internal.support.RolePlayingApi]] API entry point.
    */
  lazy val rolePlaying: RolePlayingApi

  /** Get [[scroll.internal.support.RoleQueriesApi]] API entry point.
    */
  lazy val roleQueries: RoleQueriesApi

  /** Get [[scroll.internal.support.CompartmentRelationsApi]] API entry point.
    */
  lazy val compartmentRelations: CompartmentRelationsApi

  /** Get [[scroll.internal.support.RelationshipsApi]] API entry point.
    */
  lazy val roleRelationships: RelationshipsApi

  /** Get [[scroll.internal.support.RoleGroupsApi]] API entry point.
    */
  lazy val roleGroups: RoleGroupsApi

  /** Get [[scroll.internal.support.PlayerEqualityApi]] API entry point.
    */
  lazy val playerEquality: PlayerEqualityApi

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy