c

controllers.publix

GroupChannel

abstract class GroupChannel[A <: Worker] extends AbstractController

Abstract class that handles opening of the group channel. It has concrete implementations for each worker type.

Linear Supertypes
AbstractController, BaseController, BaseControllerHelpers, ControllerHelpers, RequestImplicits, Rendering, RequestExtractors, AcceptExtractors, ContentTypes, HeaderNames, play.api.http.Status, HttpProtocol, Results, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GroupChannel
  2. AbstractController
  3. BaseController
  4. BaseControllerHelpers
  5. ControllerHelpers
  6. RequestImplicits
  7. Rendering
  8. RequestExtractors
  9. AcceptExtractors
  10. ContentTypes
  11. HeaderNames
  12. Status
  13. HttpProtocol
  14. Results
  15. AnyRef
  16. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new GroupChannel(components: ControllerComponents, publixUtils: PublixUtils, studyAuthorisation: StudyAuthorisation)

Type Members

  1. class Status extends Result
    Definition Classes
    Results

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val ACCEPT: String
    Definition Classes
    HeaderNames
  5. val ACCEPTED: Int
    Definition Classes
    Status
  6. val ACCEPT_CHARSET: String
    Definition Classes
    HeaderNames
  7. val ACCEPT_ENCODING: String
    Definition Classes
    HeaderNames
  8. val ACCEPT_LANGUAGE: String
    Definition Classes
    HeaderNames
  9. val ACCEPT_RANGES: String
    Definition Classes
    HeaderNames
  10. val ACCESS_CONTROL_ALLOW_CREDENTIALS: String
    Definition Classes
    HeaderNames
  11. val ACCESS_CONTROL_ALLOW_HEADERS: String
    Definition Classes
    HeaderNames
  12. val ACCESS_CONTROL_ALLOW_METHODS: String
    Definition Classes
    HeaderNames
  13. val ACCESS_CONTROL_ALLOW_ORIGIN: String
    Definition Classes
    HeaderNames
  14. val ACCESS_CONTROL_EXPOSE_HEADERS: String
    Definition Classes
    HeaderNames
  15. val ACCESS_CONTROL_MAX_AGE: String
    Definition Classes
    HeaderNames
  16. val ACCESS_CONTROL_REQUEST_HEADERS: String
    Definition Classes
    HeaderNames
  17. val ACCESS_CONTROL_REQUEST_METHOD: String
    Definition Classes
    HeaderNames
  18. val AGE: String
    Definition Classes
    HeaderNames
  19. val ALLOW: String
    Definition Classes
    HeaderNames
  20. val AUTHORIZATION: String
    Definition Classes
    HeaderNames
  21. val Accepted: Status
    Definition Classes
    Results
  22. def Action: ActionBuilder[Request, AnyContent]
    Definition Classes
    BaseController
  23. val BAD_GATEWAY: Int
    Definition Classes
    Status
  24. val BAD_REQUEST: Int
    Definition Classes
    Status
  25. val BINARY: String
    Definition Classes
    ContentTypes
  26. val BadGateway: Status
    Definition Classes
    Results
  27. val BadRequest: Status
    Definition Classes
    Results
  28. val CACHE_CONTROL: String
    Definition Classes
    HeaderNames
  29. val CACHE_MANIFEST: String
    Definition Classes
    ContentTypes
  30. val CHUNKED: String
    Definition Classes
    HttpProtocol
  31. val CONFLICT: Int
    Definition Classes
    Status
  32. val CONNECTION: String
    Definition Classes
    HeaderNames
  33. val CONTENT_DISPOSITION: String
    Definition Classes
    HeaderNames
  34. val CONTENT_ENCODING: String
    Definition Classes
    HeaderNames
  35. val CONTENT_LANGUAGE: String
    Definition Classes
    HeaderNames
  36. val CONTENT_LENGTH: String
    Definition Classes
    HeaderNames
  37. val CONTENT_LOCATION: String
    Definition Classes
    HeaderNames
  38. val CONTENT_MD5: String
    Definition Classes
    HeaderNames
  39. val CONTENT_RANGE: String
    Definition Classes
    HeaderNames
  40. val CONTENT_SECURITY_POLICY: String
    Definition Classes
    HeaderNames
  41. val CONTENT_SECURITY_POLICY_REPORT_ONLY: String
    Definition Classes
    HeaderNames
  42. val CONTENT_TRANSFER_ENCODING: String
    Definition Classes
    HeaderNames
  43. val CONTENT_TYPE: String
    Definition Classes
    HeaderNames
  44. val CONTINUE: Int
    Definition Classes
    Status
  45. val COOKIE: String
    Definition Classes
    HeaderNames
  46. val CREATED: Int
    Definition Classes
    Status
  47. def CSS(implicit codec: Codec): String
    Definition Classes
    ContentTypes
  48. val Conflict: Status
    Definition Classes
    Results
  49. val Continue: Result
    Definition Classes
    Results
  50. val Created: Status
    Definition Classes
    Results
  51. val DATE: String
    Definition Classes
    HeaderNames
  52. val ETAG: String
    Definition Classes
    HeaderNames
  53. def EVENT_STREAM(implicit codec: Codec): String
    Definition Classes
    ContentTypes
  54. val EXPECT: String
    Definition Classes
    HeaderNames
  55. val EXPECTATION_FAILED: Int
    Definition Classes
    Status
  56. val EXPIRES: String
    Definition Classes
    HeaderNames
  57. val EntityTooLarge: Status
    Definition Classes
    Results
  58. val ExpectationFailed: Status
    Definition Classes
    Results
  59. val FAILED_DEPENDENCY: Int
    Definition Classes
    Status
  60. val FORBIDDEN: Int
    Definition Classes
    Status
  61. val FORM: String
    Definition Classes
    ContentTypes
  62. val FORWARDED: String
    Definition Classes
    HeaderNames
  63. val FOUND: Int
    Definition Classes
    Status
  64. val FROM: String
    Definition Classes
    HeaderNames
  65. val FailedDependency: Status
    Definition Classes
    Results
  66. val Forbidden: Status
    Definition Classes
    Results
  67. def Found(url: String): Result
    Definition Classes
    Results
  68. val GATEWAY_TIMEOUT: Int
    Definition Classes
    Status
  69. val GONE: Int
    Definition Classes
    Status
  70. val GatewayTimeout: Status
    Definition Classes
    Results
  71. val Gone: Status
    Definition Classes
    Results
  72. val HOST: String
    Definition Classes
    HeaderNames
  73. def HTML(implicit codec: Codec): String
    Definition Classes
    ContentTypes
  74. val HTTP_1_0: String
    Definition Classes
    HttpProtocol
  75. val HTTP_1_1: String
    Definition Classes
    HttpProtocol
  76. val HTTP_VERSION_NOT_SUPPORTED: Int
    Definition Classes
    Status
  77. val HttpVersionNotSupported: Status
    Definition Classes
    Results
  78. val IF_MATCH: String
    Definition Classes
    HeaderNames
  79. val IF_MODIFIED_SINCE: String
    Definition Classes
    HeaderNames
  80. val IF_NONE_MATCH: String
    Definition Classes
    HeaderNames
  81. val IF_RANGE: String
    Definition Classes
    HeaderNames
  82. val IF_UNMODIFIED_SINCE: String
    Definition Classes
    HeaderNames
  83. val IM_A_TEAPOT: Int
    Definition Classes
    Status
  84. val INSUFFICIENT_STORAGE: Int
    Definition Classes
    Status
  85. val INTERNAL_SERVER_ERROR: Int
    Definition Classes
    Status
  86. val ImATeapot: Status
    Definition Classes
    Results
  87. val InsufficientStorage: Status
    Definition Classes
    Results
  88. val InternalServerError: Status
    Definition Classes
    Results
  89. def JAVASCRIPT(implicit codec: Codec): String
    Definition Classes
    ContentTypes
  90. val JSON: String
    Definition Classes
    ContentTypes
  91. val LAST_MODIFIED: String
    Definition Classes
    HeaderNames
  92. val LENGTH_REQUIRED: Int
    Definition Classes
    Status
  93. val LINK: String
    Definition Classes
    HeaderNames
  94. val LOCATION: String
    Definition Classes
    HeaderNames
  95. val LOCKED: Int
    Definition Classes
    Status
  96. val Locked: Status
    Definition Classes
    Results
  97. val MAX_FORWARDS: String
    Definition Classes
    HeaderNames
  98. val METHOD_NOT_ALLOWED: Int
    Definition Classes
    Status
  99. val MOVED_PERMANENTLY: Int
    Definition Classes
    Status
  100. val MULTIPLE_CHOICES: Int
    Definition Classes
    Status
  101. val MULTI_STATUS: Int
    Definition Classes
    Status
  102. val MethodNotAllowed: Status
    Definition Classes
    Results
  103. def MovedPermanently(url: String): Result
    Definition Classes
    Results
  104. val MultiStatus: Status
    Definition Classes
    Results
  105. val NETWORK_AUTHENTICATION_REQUIRED: Int
    Definition Classes
    Status
  106. val NON_AUTHORITATIVE_INFORMATION: Int
    Definition Classes
    Status
  107. val NOT_ACCEPTABLE: Int
    Definition Classes
    Status
  108. val NOT_FOUND: Int
    Definition Classes
    Status
  109. val NOT_IMPLEMENTED: Int
    Definition Classes
    Status
  110. val NOT_MODIFIED: Int
    Definition Classes
    Status
  111. val NO_CONTENT: Int
    Definition Classes
    Status
  112. val NetworkAuthenticationRequired: Status
    Definition Classes
    Results
  113. val NoContent: Result
    Definition Classes
    Results
  114. val NonAuthoritativeInformation: Status
    Definition Classes
    Results
  115. val NotAcceptable: Status
    Definition Classes
    Results
  116. val NotFound: Status
    Definition Classes
    Results
  117. val NotImplemented: Status
    Definition Classes
    Results
  118. val NotModified: Result
    Definition Classes
    Results
  119. val OK: Int
    Definition Classes
    Status
  120. val ORIGIN: String
    Definition Classes
    HeaderNames
  121. val Ok: Status
    Definition Classes
    Results
  122. val PARTIAL_CONTENT: Int
    Definition Classes
    Status
  123. val PAYMENT_REQUIRED: Int
    Definition Classes
    Status
  124. val PERMANENT_REDIRECT: Int
    Definition Classes
    Status
  125. val PRAGMA: String
    Definition Classes
    HeaderNames
  126. val PRECONDITION_FAILED: Int
    Definition Classes
    Status
  127. val PRECONDITION_REQUIRED: Int
    Definition Classes
    Status
  128. val PROXY_AUTHENTICATE: String
    Definition Classes
    HeaderNames
  129. val PROXY_AUTHENTICATION_REQUIRED: Int
    Definition Classes
    Status
  130. val PROXY_AUTHORIZATION: String
    Definition Classes
    HeaderNames
  131. val PartialContent: Status
    Definition Classes
    Results
  132. val PaymentRequired: Status
    Definition Classes
    Results
  133. def PermanentRedirect(url: String): Result
    Definition Classes
    Results
  134. val PreconditionFailed: Status
    Definition Classes
    Results
  135. val PreconditionRequired: Status
    Definition Classes
    Results
  136. val RANGE: String
    Definition Classes
    HeaderNames
  137. val REFERER: String
    Definition Classes
    HeaderNames
  138. val REFERRER_POLICY: String
    Definition Classes
    HeaderNames
  139. val REQUESTED_RANGE_NOT_SATISFIABLE: Int
    Definition Classes
    Status
  140. val REQUEST_ENTITY_TOO_LARGE: Int
    Definition Classes
    Status
  141. val REQUEST_HEADER_FIELDS_TOO_LARGE: Int
    Definition Classes
    Status
  142. val REQUEST_TIMEOUT: Int
    Definition Classes
    Status
  143. val REQUEST_URI_TOO_LONG: Int
    Definition Classes
    Status
  144. val RESET_CONTENT: Int
    Definition Classes
    Status
  145. val RETRY_AFTER: String
    Definition Classes
    HeaderNames
  146. def Redirect(call: Call, status: Int): Result
    Definition Classes
    Results
  147. def Redirect(call: Call): Result
    Definition Classes
    Results
  148. def Redirect(url: String, queryString: Map[String, Seq[String]], status: Int): Result
    Definition Classes
    Results
  149. def Redirect(url: String, status: Int): Result
    Definition Classes
    Results
  150. val RequestHeaderFieldsTooLarge: Status
    Definition Classes
    Results
  151. val RequestTimeout: Status
    Definition Classes
    Results
  152. val ResetContent: Result
    Definition Classes
    Results
  153. val SEE_OTHER: Int
    Definition Classes
    Status
  154. val SERVER: String
    Definition Classes
    HeaderNames
  155. val SERVICE_UNAVAILABLE: Int
    Definition Classes
    Status
  156. val SET_COOKIE: String
    Definition Classes
    HeaderNames
  157. val SET_COOKIE2: String
    Definition Classes
    HeaderNames
  158. val STRICT_TRANSPORT_SECURITY: String
    Definition Classes
    HeaderNames
  159. val SWITCHING_PROTOCOLS: Int
    Definition Classes
    Status
  160. def SeeOther(url: String): Result
    Definition Classes
    Results
  161. val ServiceUnavailable: Status
    Definition Classes
    Results
  162. def Status(code: Int): Status
    Definition Classes
    Results
  163. val SwitchingProtocols: Result
    Definition Classes
    Results
  164. val TE: String
    Definition Classes
    HeaderNames
  165. val TEMPORARY_REDIRECT: Int
    Definition Classes
    Status
  166. def TEXT(implicit codec: Codec): String
    Definition Classes
    ContentTypes
  167. lazy val TODO: Action[AnyContent]
    Definition Classes
    ControllerHelpers
  168. val TOO_MANY_REQUESTS: Int
    Definition Classes
    Status
  169. val TRAILER: String
    Definition Classes
    HeaderNames
  170. val TRANSFER_ENCODING: String
    Definition Classes
    HeaderNames
  171. def TemporaryRedirect(url: String): Result
    Definition Classes
    Results
  172. val TooManyRequests: Status
    Definition Classes
    Results
  173. val UNAUTHORIZED: Int
    Definition Classes
    Status
  174. val UNPROCESSABLE_ENTITY: Int
    Definition Classes
    Status
  175. val UNSUPPORTED_MEDIA_TYPE: Int
    Definition Classes
    Status
  176. val UPGRADE: String
    Definition Classes
    HeaderNames
  177. val UPGRADE_REQUIRED: Int
    Definition Classes
    Status
  178. val USER_AGENT: String
    Definition Classes
    HeaderNames
  179. val USE_PROXY: Int
    Definition Classes
    Status
  180. val Unauthorized: Status
    Definition Classes
    Results
  181. val UnprocessableEntity: Status
    Definition Classes
    Results
  182. val UnsupportedMediaType: Status
    Definition Classes
    Results
  183. val UriTooLong: Status
    Definition Classes
    Results
  184. val VARY: String
    Definition Classes
    HeaderNames
  185. val VIA: String
    Definition Classes
    HeaderNames
  186. val WARNING: String
    Definition Classes
    HeaderNames
  187. val WWW_AUTHENTICATE: String
    Definition Classes
    HeaderNames
  188. def XHTML(implicit codec: Codec): String
    Definition Classes
    ContentTypes
  189. def XML(implicit codec: Codec): String
    Definition Classes
    ContentTypes
  190. val X_CONTENT_SECURITY_POLICY_NONCE_HEADER: String
    Definition Classes
    HeaderNames
  191. val X_CONTENT_TYPE_OPTIONS: String
    Definition Classes
    HeaderNames
  192. val X_FORWARDED_FOR: String
    Definition Classes
    HeaderNames
  193. val X_FORWARDED_HOST: String
    Definition Classes
    HeaderNames
  194. val X_FORWARDED_PORT: String
    Definition Classes
    HeaderNames
  195. val X_FORWARDED_PROTO: String
    Definition Classes
    HeaderNames
  196. val X_FRAME_OPTIONS: String
    Definition Classes
    HeaderNames
  197. val X_PERMITTED_CROSS_DOMAIN_POLICIES: String
    Definition Classes
    HeaderNames
  198. val X_REQUESTED_WITH: String
    Definition Classes
    HeaderNames
  199. val X_XSS_PROTECTION: String
    Definition Classes
    HeaderNames
  200. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  201. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  202. def closeGroupChannelAndLeaveGroup(studyResult: StudyResult): Unit

    Closes the group channel which includes sending a left message to all group members and leaves the GroupResult.

  203. val controllerComponents: ControllerComponents
    Attributes
    protected
    Definition Classes
    AbstractController → BaseControllerHelpers
  204. def defaultExecutionContext: ExecutionContext
    Definition Classes
    BaseControllerHelpers
  205. implicit lazy val defaultFormBinding: FormBinding
    Definition Classes
    BaseControllerHelpers
  206. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  207. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  208. implicit def fileMimeTypes: FileMimeTypes
    Definition Classes
    BaseControllerHelpers
  209. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  210. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  211. var groupAdministration: GroupAdministration
  212. var groupDispatcherRegistry: ActorRef
  213. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  214. var idCookieService: IdCookieService
  215. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  216. def join(studyResult: StudyResult)(implicit request: RequestHeader): Unit

    Joins a group but doesn't open the group channel.

    Joins a group but doesn't open the group channel. In case of an error/problem an PublixException is thrown. Synchronized to prevent race conditions with group members joining, leaving, reassigning.

    Annotations
    @throws(classOf[PublixException])
  217. def leave(studyResult: StudyResult)(implicit request: Request[_]): Result

    Let this study run (specified by the study result ID) leave the group that it joined before.

    Let this study run (specified by the study result ID) leave the group that it joined before. Synchronized to prevent race conditions with group members joining, leaving, reassigning.

    Annotations
    @throws(classOf[PublixException])
  218. implicit var materializer: Materializer
  219. implicit def messagesApi: MessagesApi
    Definition Classes
    BaseControllerHelpers
  220. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  221. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  222. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  223. def open(studyResult: StudyResult): Flow[Any, Nothing, _]

    Opens a group channel and returns a Akka stream Flow that will be turned into WebSocket.

    Opens a group channel and returns a Akka stream Flow that will be turned into WebSocket. In case of an error/problem an PublixException is thrown.

    Annotations
    @throws(classOf[PublixException])
  224. def parse: PlayBodyParsers
    Definition Classes
    BaseControllerHelpers
  225. def reassign(studyResult: StudyResult)(implicit request: Request[_]): Result

    Tries to reassign this study run (specified by study result ID) to a different group.

    Tries to reassign this study run (specified by study result ID) to a different group. If the reassignment was successful an Ok is returned. If it was unsuccessful a Forbidden is returned. In case of an error/problem an PublixException is thrown. Synchronized to prevent race conditions with group members joining, leaving, reassigning.

    Annotations
    @throws(classOf[PublixException])
  226. def reassignGroupChannel(studyResult: StudyResult, currentGroupResult: GroupResult, differentGroupResult: GroupResult): Unit

    Reassigns the given group channel that is associated with the given StudyResult.

    Reassigns the given group channel that is associated with the given StudyResult. It moves the group channel from the current GroupDispatcher to a different one that is associated with the given GroupResult.

  227. implicit def request2flash(implicit request: RequestHeader): Flash
    Definition Classes
    RequestImplicits
  228. implicit def request2session(implicit request: RequestHeader): Session
    Definition Classes
    RequestImplicits
  229. implicit def supportedLangs: Langs
    Definition Classes
    BaseControllerHelpers
  230. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  231. implicit var system: ActorSystem
  232. implicit val timeout: Timeout

    Time to wait for an answer after asking an Akka actor

  233. def toString(): String
    Definition Classes
    AnyRef → Any
  234. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  235. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  236. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  237. def withCharset(mimeType: String)(implicit codec: Codec): String
    Definition Classes
    ContentTypes

Deprecated Value Members

  1. val TOO_MANY_REQUEST: Int
    Definition Classes
    Status
    Annotations
    @deprecated
    Deprecated

    (Since version 2.6.0) Use TOO_MANY_REQUESTS instead

  2. val TooManyRequest: Status
    Definition Classes
    Results
    Annotations
    @deprecated
    Deprecated

    (Since version 2.6.0) Use TooManyRequests instead

Inherited from AbstractController

Inherited from BaseController

Inherited from BaseControllerHelpers

Inherited from ControllerHelpers

Inherited from RequestImplicits

Inherited from Rendering

Inherited from RequestExtractors

Inherited from AcceptExtractors

Inherited from ContentTypes

Inherited from HeaderNames

Inherited from play.api.http.Status

Inherited from HttpProtocol

Inherited from Results

Inherited from AnyRef

Inherited from Any

Ungrouped