org.nanocontainer.reflection
Class DefaultNanoPicoContainer

java.lang.Object
  extended byorg.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer
      extended byorg.nanocontainer.reflection.AbstractNanoPicoContainer
          extended byorg.nanocontainer.reflection.DefaultNanoPicoContainer
All Implemented Interfaces:
org.picocontainer.defaults.ComponentMonitorStrategy, org.picocontainer.Disposable, org.picocontainer.MutablePicoContainer, NanoContainer, NanoPicoContainer, org.picocontainer.PicoContainer, java.io.Serializable, org.picocontainer.Startable

public class DefaultNanoPicoContainer
extends AbstractNanoPicoContainer
implements NanoPicoContainer, java.io.Serializable, org.picocontainer.defaults.ComponentMonitorStrategy

This is a MutablePicoContainer that also supports soft composition. i.e. assembly by class name rather that class reference.

In terms of implementation it adopts the behaviour of DefaultPicoContainer and DefaultNanoContainer.

Version:
$Revision: 2964 $
Author:
Paul Hammant, Mauro Talevi, Michael Rimov
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.nanocontainer.reflection.AbstractNanoPicoContainer
container, namedChildContainers
 
Constructor Summary
  DefaultNanoPicoContainer()
           
  DefaultNanoPicoContainer(java.lang.ClassLoader classLoader)
           
  DefaultNanoPicoContainer(java.lang.ClassLoader classLoader, org.picocontainer.defaults.ComponentAdapterFactory caf, org.picocontainer.PicoContainer parent)
           
  DefaultNanoPicoContainer(java.lang.ClassLoader classLoader, org.picocontainer.PicoContainer parent)
           
  DefaultNanoPicoContainer(java.lang.ClassLoader classLoader, org.picocontainer.PicoContainer parent, org.picocontainer.ComponentMonitor componentMonitor)
           
  DefaultNanoPicoContainer(org.picocontainer.defaults.ComponentAdapterFactory caf)
           
  DefaultNanoPicoContainer(org.picocontainer.defaults.ComponentAdapterFactory componentAdapterFactory, org.picocontainer.defaults.LifecycleStrategy lifecycleStrategyForInstanceRegistrations, org.picocontainer.PicoContainer parent, java.lang.ClassLoader cl)
          Constructor that provides the same control over the nanocontainer lifecycle strategies as DefaultPicoContainer(ComponentAdapterFactory, LifecycleStrategy, PicoContainer).
protected DefaultNanoPicoContainer(DefaultNanoPicoContainer parent)
          Copy Constructor.
  DefaultNanoPicoContainer(org.picocontainer.PicoContainer pc)
           
 
Method Summary
 void changeMonitor(org.picocontainer.ComponentMonitor monitor)
           
protected  AbstractNanoPicoContainer createChildContainer()
           
 org.picocontainer.ComponentMonitor currentMonitor()
           
 
Methods inherited from class org.nanocontainer.reflection.AbstractNanoPicoContainer
addChildContainer, addChildContainer, addClassLoaderURL, addDecoratingPicoContainer, getComponentClassLoader, getComponentInstance, getComponentInstanceOfType, getNamedContainers, getPico, makeChildContainer, makeChildContainer, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation, removeChildContainer
 
Methods inherited from class org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer
accept, dispose, equals, getComponentAdapter, getComponentAdapterOfType, getComponentAdapters, getComponentAdaptersOfType, getComponentInstanceOfType, getComponentInstances, getComponentInstancesOfType, getDelegate, getParent, registerComponent, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation, registerComponentInstance, registerComponentInstance, start, stop, unregisterComponent, unregisterComponentByInstance, verify
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.nanocontainer.NanoPicoContainer
addChildContainer, makeChildContainer
 
Methods inherited from interface org.picocontainer.MutablePicoContainer
addChildContainer, makeChildContainer, registerComponent, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation, registerComponentInstance, registerComponentInstance, removeChildContainer, unregisterComponent, unregisterComponentByInstance
 
Methods inherited from interface org.picocontainer.PicoContainer
accept, getComponentAdapter, getComponentAdapterOfType, getComponentAdapters, getComponentAdaptersOfType, getComponentInstance, getComponentInstanceOfType, getComponentInstances, getComponentInstancesOfType, getParent, verify
 
Methods inherited from interface org.picocontainer.Startable
start, stop
 
Methods inherited from interface org.picocontainer.Disposable
dispose
 
Methods inherited from interface org.nanocontainer.NanoContainer
addClassLoaderURL, addDecoratingPicoContainer, getComponentClassLoader, getComponentInstanceOfType, getPico, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation
 

Constructor Detail

DefaultNanoPicoContainer

public DefaultNanoPicoContainer(java.lang.ClassLoader classLoader,
                                org.picocontainer.defaults.ComponentAdapterFactory caf,
                                org.picocontainer.PicoContainer parent)

DefaultNanoPicoContainer

public DefaultNanoPicoContainer(java.lang.ClassLoader classLoader,
                                org.picocontainer.PicoContainer parent)

DefaultNanoPicoContainer

public DefaultNanoPicoContainer(java.lang.ClassLoader classLoader,
                                org.picocontainer.PicoContainer parent,
                                org.picocontainer.ComponentMonitor componentMonitor)

DefaultNanoPicoContainer

public DefaultNanoPicoContainer(org.picocontainer.defaults.ComponentAdapterFactory caf)

DefaultNanoPicoContainer

public DefaultNanoPicoContainer(org.picocontainer.PicoContainer pc)

DefaultNanoPicoContainer

public DefaultNanoPicoContainer(java.lang.ClassLoader classLoader)

DefaultNanoPicoContainer

public DefaultNanoPicoContainer()

DefaultNanoPicoContainer

public DefaultNanoPicoContainer(org.picocontainer.defaults.ComponentAdapterFactory componentAdapterFactory,
                                org.picocontainer.defaults.LifecycleStrategy lifecycleStrategyForInstanceRegistrations,
                                org.picocontainer.PicoContainer parent,
                                java.lang.ClassLoader cl)
Constructor that provides the same control over the nanocontainer lifecycle strategies as DefaultPicoContainer(ComponentAdapterFactory, LifecycleStrategy, PicoContainer).

Parameters:
componentAdapterFactory - ComponentAdapterFactory
lifecycleStrategyForInstanceRegistrations - LifecycleStrategy
parent - PicoContainer may be null if there is no parent.
cl - the Classloader to use. May be null, in which case DefaultNanoPicoContainer.class.getClassLoader() will be called instead.

DefaultNanoPicoContainer

protected DefaultNanoPicoContainer(DefaultNanoPicoContainer parent)
Copy Constructor. Makes a new DefaultNanoPicoContainer with the same attributes - ClassLoader, child PicoContainer type, ComponentAdapterFactory - as the parent.

Note: This constructor is protected because are existing scripts that call new DefaultNanoPicoContainer(PicoContainer), and they get this constructor instead (which has different behavior).

Parameters:
parent - The object to copy.
Method Detail

createChildContainer

protected AbstractNanoPicoContainer createChildContainer()
Specified by:
createChildContainer in class AbstractNanoPicoContainer

changeMonitor

public void changeMonitor(org.picocontainer.ComponentMonitor monitor)
Specified by:
changeMonitor in interface org.picocontainer.defaults.ComponentMonitorStrategy

currentMonitor

public org.picocontainer.ComponentMonitor currentMonitor()
Specified by:
currentMonitor in interface org.picocontainer.defaults.ComponentMonitorStrategy


Copyright © 2003-2007 Codehaus. All Rights Reserved.