Advertisement
Guest User

Untitled

a guest
Dec 19th, 2014
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2. * HostsModule.scala
  3. */
  4. package project
  5.  
  6. import scaldi.Module
  7.  
  8. class HostsModule extends Module {
  9.     binding identifiedBy "hosts.google"   to "google.com"
  10.     binding identifiedBy "hosts.yahoo"    to "yahoo.com"
  11.     binding identifiedBy "hosts.facebook" to "facebook.com"
  12. }
  13. object implicits {
  14.     implicit val HostsModule = new HostsModule
  15. }
  16. /**
  17. * ... HostsService.scala
  18. */
  19. package project
  20.  
  21. import scaldi.{Injectable, Injector}
  22.  
  23. class HostsService(implicit inj: Injector) extends Injectable {
  24.  
  25.     val googleHost = inject [String] (identified by "hosts.google")
  26.  
  27.     def getGoogleUrl = s"http://${googleHost}.com"
  28. }
  29.  
  30.  
  31. /**
  32. * ... main.scala
  33. */
  34.  
  35. package project
  36.  
  37. import implicits.HostsModule
  38. import HostsService
  39.  
  40. object Main {
  41.     def main(args: Array[String]): Unit = {
  42.         val hostsService = new HostsService()
  43.         println(hostsService.getGoogleUrl())
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement