Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.picocontainer.injectors
Class CompositeInjector<T>

    java.lang.Object
      org.picocontainer.adapters.AbstractAdapter<T>
          org.picocontainer.injectors.AbstractInjector<T>
              org.picocontainer.injectors.CompositeInjector<T>

All Implemented Interfaces:
  Serializable, ComponentAdapter<T>, ComponentMonitorStrategy, Injector<T>, LifecycleStrategy

Direct Known Subclasses:
  MultiInjector

    public class CompositeInjector<T>

extends AbstractInjector<T>

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class org.picocontainer.injectors.AbstractInjector
`AbstractInjector.AmbiguousComponentResolutionException, AbstractInjector.CyclicDependencyException, AbstractInjector.NotConcreteRegistrationException, AbstractInjector.UnsatisfiableDependenciesException`

Nested classes/interfaces inherited from interface org.picocontainer.ComponentAdapter
`ComponentAdapter.NOTHING`

Field Summary

Fields inherited from class org.picocontainer.injectors.AbstractInjector
`lifecycleStrategy, parameters, verifyingGuard`

Constructor Summary
`CompositeInjector(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, boolean useNames, Injector... injectors)`

Method Summary
`void` | `accept(PicoVisitor visitor)` Accepts a visitor for this ComponentAdapter.
`Object` | `decorateComponentInstance(PicoContainer container, Type into, T instance)` A preexiting component instance can be injected into after instantiation
`T` | `getComponentInstance(PicoContainer container)` Retrieve the component instance.
`T` | `getComponentInstance(PicoContainer container, Type into)` Retrieve the component instance.
`String` | `getDescriptor()` Get a string key descriptor of the component adapter.
`void` | `verify(PicoContainer container)` Verify that all dependencies for this adapter can be satisfied.

Methods inherited from class org.picocontainer.injectors.AbstractInjector
`box, caughtIllegalAccessException, caughtIllegalAccessException, caughtInstantiationException, caughtInvocationTargetException, createDefaultParameters, dispose, hasLifecycle, newInstance, start, stop, useNames`

Methods inherited from class org.picocontainer.adapters.AbstractAdapter
`changeMonitor, checkTypeCompatibility, currentMonitor, findAdapterOfType, getComponentImplementation, getComponentKey, getDelegate, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.picocontainer.ComponentAdapter
`findAdapterOfType, getComponentImplementation, getComponentKey, getDelegate`

Constructor Detail

### CompositeInjector

    public CompositeInjector(Object componentKey,
                             Class<?> componentImplementation,
                             Parameter[] parameters,
                             ComponentMonitor monitor,
                             LifecycleStrategy lifecycleStrategy,
                             boolean useNames,
                             Injector... injectors)

Method Detail

### getComponentInstance

    public T getComponentInstance(PicoContainer container)
                           throws PicoCompositionException

  Description copied from interface: `ComponentAdapter`
  Retrieve the component instance. This method will usually create a new instance each time it is called, but that is not required. For example, `Cached` will always return the same instance.

  Specified by:
    `getComponentInstance` in interface `ComponentAdapter<T>`
  Overrides:
    `getComponentInstance` in class `AbstractInjector<T>`
  Parameters:
    `container` - the `PicoContainer`, that is used to resolve any possible dependencies of the instance.
  Returns:
    the component instance.
  Throws:
    `PicoCompositionException` - if the component has dependencies which could not be resolved, or instantiation of the component lead to an ambigous situation within the container.

### getComponentInstance

    public T getComponentInstance(PicoContainer container,
                                  Type into)
                           throws PicoCompositionException

  Description copied from interface: `ComponentAdapter`
  Retrieve the component instance. This method will usually create a new instance each time it is called, but that is not required. For example, `Cached` will always return the same instance.

  Specified by:
    `getComponentInstance` in interface `ComponentAdapter<T>`
  Specified by:
    `getComponentInstance` in class `AbstractInjector<T>`
  Parameters:
    `container` - the `PicoContainer`, that is used to resolve any possible dependencies of the instance.
    `into` - the class that is about to be injected into. Use ComponentAdapter.NOTHING.class if this is not important to you.
  Returns:
    the component instance.
  Throws:
    `PicoCompositionException` - if the component has dependencies which could not be resolved, or instantiation of the component lead to an ambiguous situation within the container.

### decorateComponentInstance

    public Object decorateComponentInstance(PicoContainer container,
                                            Type into,
                                            T instance)

  Description copied from interface: `Injector`
  A preexiting component instance can be injected into after instantiation

  Specified by:
    `decorateComponentInstance` in interface `Injector<T>`
  Overrides:
    `decorateComponentInstance` in class `AbstractInjector<T>`
  Parameters:
    `container` - the container that can provide injectable dependencies
    `instance` - the instance to
  Returns:
    the object returned is the result of the last of the injectors delegated to

### verify

    public void verify(PicoContainer container)
                throws PicoCompositionException

  Description copied from interface: `ComponentAdapter`
  Verify that all dependencies for this adapter can be satisfied. Normally, the adapter should verify this by checking that the associated PicoContainer contains all the needed dependencies.

  Specified by:
    `verify` in interface `ComponentAdapter<T>`
  Overrides:
    `verify` in class `AbstractInjector<T>`
  Parameters:
    `container` - the `PicoContainer`, that is used to resolve any possible dependencies of the instance.
  Throws:
    `PicoCompositionException` - if one or more dependencies cannot be resolved.

### accept

    public final void accept(PicoVisitor visitor)

  Description copied from interface: `ComponentAdapter`
  Accepts a visitor for this ComponentAdapter. The method is normally called by visiting a `PicoContainer`, that cascades the visitor also down to all its ComponentAdapter instances.

  Specified by:
    `accept` in interface `ComponentAdapter<T>`
  Overrides:
    `accept` in class `AbstractInjector<T>`
  Parameters:
    `visitor` - the visitor.

### getDescriptor

    public String getDescriptor()

  Description copied from interface: `ComponentAdapter`
  Get a string key descriptor of the component adapter.

  Specified by:
    `getDescriptor` in interface `ComponentAdapter<T>`
  Overrides:
    `getDescriptor` in class `AbstractInjector<T>`
  Returns:

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2009 Codehaus. All Rights Reserved.