summaryrefslogtreecommitdiffstats
path: root/src/main/scala/myapp/cake/services.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/myapp/cake/services.scala')
-rw-r--r--src/main/scala/myapp/cake/services.scala30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/scala/myapp/cake/services.scala b/src/main/scala/myapp/cake/services.scala
new file mode 100644
index 0000000..99be3d5
--- /dev/null
+++ b/src/main/scala/myapp/cake/services.scala
@@ -0,0 +1,30 @@
+package myapp.cake.services
+
+import myapp.database.Database
+import myapp.logger.Logger
+
+trait HasApplication {
+ type ApplicationType
+
+ val application: ApplicationType with ApplicationService
+
+ trait ApplicationService {
+ def run (): Unit
+ }
+}
+
+trait HasDatabase {
+ type DatabaseType
+
+ val database: DatabaseType with DatabaseService
+
+ trait DatabaseService extends Database
+}
+
+trait HasLogger {
+ type LoggerType
+
+ val logger: LoggerType with LoggerService
+
+ trait LoggerService extends Logger
+}