public interface Container extends Serializable
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| Modifier and Type | Field and Description | 
|---|---|
static String | 
DEFAULT_NAME
Default dependency name. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
<T> T | 
getInstance(Class<T> type)
Convenience method. Equivalent to  
getInstance(type,
 DEFAULT_NAME). | 
<T> T | 
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 
 | 
<T> T | 
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. 
 | 
static final String DEFAULT_NAME
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 typevoid setScopeStrategy(Scope.Strategy scopeStrategy)
void removeScopeStrategy()
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.