Binary package “libguice-java” in ubuntu cosmic

lightweight dependency injection framework for Java 5 and above

 Guice provides support for dependency injection using annotations to
 configure Java objects. Dependency injection is a design pattern whose
 core principle is to separate behavior from dependency resolution.
 Guice allows implementation classes to be programmatically bound to
 an interface, then injected into constructors, methods or fields
 using an @Inject annotation. When more than one implementation of
 the same interface is needed, the user can create custom annotations
 that identify an implementation, then use that annotation when
 injecting it.