Skip to content
This repository

Scala extensions for Google Guice

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 project
Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 NOTICE
Octocat-spinner-32 README.md
Octocat-spinner-32 sbt
Octocat-spinner-32 sbt-launch.jar
Octocat-spinner-32 sbt.bat
README.md

Scala extensions for Google Guice

Unfortunately, I don't have time to properly maintain this project. Please consider using codingwell's fork instead.

Features:

  • Manifest[T] -> TypeLiteral[T] conversion (typeLiteral[T])
  • Binding DSL extensions using type parameters to specify types
  • ScalaModule trait including the above binding DSL extensions
  class MyModule extends AbstractModule with ScalaModule {
    def configure {
      bind[Service].to[ServiceImpl].in[Singleton]
      bind[CreditCardPaymentService]
      bind[Bar[Foo]].to[FooBarImpl]
      bind[PaymentService].to[CreditCardPaymentService]
    }
  }

Future:

  • TypeLiteral[T] -> Manifest[T] conversion
  • Have Manifest[T] injected anywhere Guice could inject TypeLiteral[T] (see Jesse's post for context)
  • Extractor objects for pattern-matching against the binding AST

If technically possible:

  • Inject Option[T] for optional dependencies
  • Injection that takes variance into account
Something went wrong with that request. Please try again.