public interface Container extends Serializable
 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| Modifier and Type | Field and Description | 
|---|---|
| static String | DEFAULT_NAMEDefault 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)
o - object to inject<T> T inject(Class<T> implementation)
implementation.T - typeimplementation - of dependency<T> T getInstance(Class<T> type, String name)
ContainerBuilder.T - typetype - of dependencyname - of dependency<T> T getInstance(Class<T> type)
getInstance(type,
 DEFAULT_NAME).T - typetype - of dependencySet<String> getInstanceNames(Class<?> type)
type - The instance typevoid setScopeStrategy(Scope.Strategy scopeStrategy)
scopeStrategy - scope strategyvoid removeScopeStrategy()
Copyright © 2000–2025 Apache Software Foundation. All rights reserved.