diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-02-28 22:23:35 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-02-28 22:32:01 -0600 |
commit | 2a37a2e09e6b56d86fd20d16a8f0b7907113c2e2 (patch) | |
tree | 31c6da40c25c8879b36d92fe559c7be1fe990bf0 /src/main/scala/myapp/cake/container.scala | |
parent | 6e743ddc61bd70594a9f039c72715b183de7786e (diff) | |
download | scala-di-test-2a37a2e09e6b56d86fd20d16a8f0b7907113c2e2.tar.gz scala-di-test-2a37a2e09e6b56d86fd20d16a8f0b7907113c2e2.zip |
Diffstat (limited to 'src/main/scala/myapp/cake/container.scala')
-rw-r--r-- | src/main/scala/myapp/cake/container.scala | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/src/main/scala/myapp/cake/container.scala b/src/main/scala/myapp/cake/container.scala deleted file mode 100644 index 6437c8b..0000000 --- a/src/main/scala/myapp/cake/container.scala +++ /dev/null @@ -1,49 +0,0 @@ -package myapp.cake.container - -import myapp.cake.services -import myapp.logger.FileLogger -import myapp.database.DBI -import myapp.application.MyApp - -trait HasLogger extends services.HasLogger { - type LoggerType = Logger - - class Logger( - logFileName: String - ) extends FileLogger(logFileName) with LoggerService -} - -trait HasDatabase extends services.HasDatabase { - type DatabaseType = Database - - class Database protected ( - dsn: String, - username: String, - password: String - ) extends DBI(dsn, username, password) with DatabaseService - - object Database { - def connect(dsn: String, username: String, password: String) = - new Database(dsn, username, password) - } -} - -trait HasApplication extends services.HasApplication { - this: HasLogger with HasDatabase => - - type ApplicationType = Application - - class Application extends MyApp(logger, database) with ApplicationService -} - -class Container ( - logFileName: String = "out.log", - dsn: String = "dbi:mysql:myapp", - username: String = "doy", - password: String = "blah" -) extends HasApplication with HasLogger with HasDatabase { - def application = new Application - // def logger = new Logger(logFileName) // non-singleton - lazy val logger = new Logger(logFileName) // singleton - def database = Database.connect(dsn, username, password) -} |