Skip to content
Scala extensions for Google Guice
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
project
src
.gitignore
LICENSE
NOTICE
README.md
sbt
sbt-launch.jar
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
You can’t perform that action at this time.