|
||||||||||
| 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| Field Summary | |
|---|---|
static java.lang.String |
DEFAULT_NAME
Default dependency name. |
| Method Summary | ||
|---|---|---|
|
getInstance(java.lang.Class<T> type)
Convenience method. Equivalent to getInstance(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. |
|
java.util.Set<java.lang.String> |
getInstanceNames(java.lang.Class<?> type)
Gets a set of all registered names for the given type |
|
|
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. |
|
| Field Detail |
|---|
static final java.lang.String DEFAULT_NAME
| 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)
getInstance(type,
DEFAULT_NAME).
java.util.Set<java.lang.String> getInstanceNames(java.lang.Class<?> type)
type - The instance type
void setScopeStrategy(Scope.Strategy scopeStrategy)
void removeScopeStrategy()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||