|
||||||||||
| 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 String |
DEFAULT_NAME
Default dependency name. |
| Method Summary | ||
|---|---|---|
|
getInstance(Class<T> type)
Convenience method. Equivalent to getInstance(type,
DEFAULT_NAME). |
|
|
getInstance(Class<T> type,
String name)
Gets an instance of the given dependency which was declared in ContainerBuilder. |
|
Set<String> |
getInstanceNames(Class<?> type)
Gets a set of all registered names for the given type |
|
|
inject(Class<T> implementation)
Creates and injects a new instance of type implementation. |
|
void |
inject(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 String DEFAULT_NAME
| Method Detail |
|---|
void inject(Object o)
<T> T inject(Class<T> implementation)
implementation.
<T> T getInstance(Class<T> type,
String name)
ContainerBuilder.
<T> T getInstance(Class<T> type)
getInstance(type,
DEFAULT_NAME).
Set<String> getInstanceNames(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 | |||||||||