diff options
Diffstat (limited to 'src/main/scala/com/drivergrp/core/Service.scala')
-rw-r--r-- | src/main/scala/com/drivergrp/core/Service.scala | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/main/scala/com/drivergrp/core/Service.scala b/src/main/scala/com/drivergrp/core/Service.scala deleted file mode 100644 index 4404c9c..0000000 --- a/src/main/scala/com/drivergrp/core/Service.scala +++ /dev/null @@ -1,34 +0,0 @@ -package com.drivergrp.core - -import akka.http.scaladsl.server.{Route, RouteConcatenation} - - -trait Service { - import scala.reflect.runtime.universe._ - - val name: String - def route: Route - def serviceTypes: Seq[Type] - - def activate(): Unit = {} - def deactivate(): Unit = {} -} - -/** - * Service implementation which may be used to composed a few - * - * @param name more general name of the composite service, - * must be provided as there is no good way to automatically - * generalize the name from the composed services' names - * @param services services to compose into a single one - */ -class CompositeService(val name: String, services: Seq[Service]) - extends Service with RouteConcatenation { - - def route: Route = services.map(_.route).reduce(_ ~ _) - - def serviceTypes = services.flatMap(_.serviceTypes) - - override def activate() = services.foreach(_.activate()) - override def deactivate() = services.reverse.foreach(_.deactivate()) -}
\ No newline at end of file |