|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Container
Injects dependencies into constructors, methods and fields annotated with
Inject
. Immutable.
When injecting a method or constructor, you can additionally annotate
its parameters with Inject
and specify a dependency name. When a
parameter has no annotation, the container uses the name from the method or
constructor's Inject
annotation respectively.
For example:
class Foo { // Inject the int constant named "i". @Inject("i") int i; // Inject the default implementation of Bar and the String constant // named "s". @Inject Foo(Bar bar, @Inject("s") String s) { ... } // Inject the default implementation of Baz and the Bob implementation // named "foo". @Inject void initialize(Baz baz, @Inject("foo") Bob bob) { ... } // Inject the default implementation of Tee. @Inject void setTee(Tee tee) { ... } }
To create and inject an instance of Foo
:
Container c = ...; Foo foo = c.inject(Foo.class);
ContainerBuilder
Method Summary | ||
---|---|---|
|
getInstance(java.lang.Class<T> type)
Convenience method. Equivalent to get(type,
DEFAULT_NAME) . |
|
|
getInstance(java.lang.Class<T> type,
java.lang.String name)
Gets an instance of the given dependency which was declared in ContainerBuilder . |
|
boolean |
hasBindingFor(Key<?> key)
Checks whether the container has a binding for given key. |
|
|
inject(java.lang.Class<T> implementation)
Creates and injects a new instance of type implementation . |
|
void |
inject(java.lang.Object o)
Injects dependencies into the fields and methods of an existing object. |
|
void |
removeScopeStrategy()
Removes the scope strategy for the current thread. |
|
void |
setScopeStrategy(Scope.Strategy scopeStrategy)
Sets the scope strategy for the current thread. |
Method Detail |
---|
void inject(java.lang.Object o)
<T> T inject(java.lang.Class<T> implementation)
implementation
.
<T> T getInstance(java.lang.Class<T> type, java.lang.String name)
ContainerBuilder
.
<T> T getInstance(java.lang.Class<T> type)
get(type,
DEFAULT_NAME)
.
void setScopeStrategy(Scope.Strategy scopeStrategy)
void removeScopeStrategy()
boolean hasBindingFor(Key<?> key)
key
- binding key
true
if a binding exists for the given key
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |