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.nanocontainer.reflection
Class AbstractNanoPicoContainer

    java.lang.Object
      org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer
          org.nanocontainer.reflection.AbstractNanoPicoContainer

All Implemented Interfaces:
  Serializable, NanoContainer, NanoPicoContainer, org.picocontainer.Disposable, org.picocontainer.MutablePicoContainer, org.picocontainer.PicoContainer, org.picocontainer.Startable

Direct Known Subclasses:
  DefaultNanoPicoContainer, ImplementationHidingNanoPicoContainer

    public abstract class AbstractNanoPicoContainer

extends org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer
implements NanoPicoContainer, Serializable

A base class for NanoPicoContainers. As well as the functionality indicated by the interface it implements, extenders of this class will have named child component capability.

Version:
  $Revision: 2964 $
Author:
  Paul Hammant
See Also:
  Serialized Form

Field Summary
`protected NanoContainer` | `container`
`protected Map` | `namedChildContainers`

Constructor Summary
`protected` | `AbstractNanoPicoContainer(org.picocontainer.MutablePicoContainer delegate, ClassLoader classLoader)`

Method Summary
`boolean` | `addChildContainer(org.picocontainer.PicoContainer child)`
`void` | `addChildContainer(String name, org.picocontainer.PicoContainer child)`
`ClassPathElement` | `addClassLoaderURL(URL url)` Adds a new URL that will be used in classloading
`org.picocontainer.MutablePicoContainer` | `addDecoratingPicoContainer(Class picoContainerClass)`
`protected abstract AbstractNanoPicoContainer` | `createChildContainer()`
`ClassLoader` | `getComponentClassLoader()`
`Object` | `getComponentInstance(Object componentKey)`
`Object` | `getComponentInstanceOfType(String componentType)` Find a component instance matching the specified type.
`protected Map` | `getNamedContainers()`
`org.picocontainer.MutablePicoContainer` | `getPico()` Returns the wrapped PicoContainer instance (russian doll concept).
`org.picocontainer.MutablePicoContainer` | `makeChildContainer()`
`org.picocontainer.MutablePicoContainer` | `makeChildContainer(String name)` Makes a child container with the same basic characteristics of `this` object (ComponentAdapterFactory, PicoContainer type, LifecycleManager, etc)
`org.picocontainer.ComponentAdapter` | `registerComponentImplementation(Object key, String componentImplementationClassName)`
`org.picocontainer.ComponentAdapter` | `registerComponentImplementation(Object key, String componentImplementationClassName, org.picocontainer.Parameter[] parameters)`
`org.picocontainer.ComponentAdapter` | `registerComponentImplementation(Object key, String componentImplementationClassName, String[] parameterTypesAsString, String[] parameterValuesAsString)`
`org.picocontainer.ComponentAdapter` | `registerComponentImplementation(String componentImplementationClassName)`
`org.picocontainer.ComponentAdapter` | `registerComponentImplementation(String componentImplementationClassName, String[] parameterTypesAsString, String[] parameterValuesAsString)`
`boolean` | `removeChildContainer(org.picocontainer.PicoContainer child)`

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.picocontainer.MutablePicoContainer
`registerComponent, registerComponentImplementation, registerComponentImplementation, registerComponentImplementation, registerComponentInstance, registerComponentInstance, unregisterComponent, unregisterComponentByInstance`

Methods inherited from interface org.picocontainer.PicoContainer
`accept, getComponentAdapter, getComponentAdapterOfType, getComponentAdapters, getComponentAdaptersOfType, getComponentInstanceOfType, getComponentInstances, getComponentInstancesOfType, getParent, verify`

Methods inherited from interface org.picocontainer.Startable
`start, stop`

Methods inherited from interface org.picocontainer.Disposable
`dispose`

Field Detail

### namedChildContainers

    protected Map namedChildContainers

### container

    protected transient NanoContainer container

Constructor Detail

### AbstractNanoPicoContainer

    protected AbstractNanoPicoContainer(org.picocontainer.MutablePicoContainer delegate,
                                        ClassLoader classLoader)

Method Detail

### getComponentInstance

    public final Object getComponentInstance(Object componentKey)
                                      throws org.picocontainer.PicoException

  Specified by:
    `getComponentInstance` in interface `org.picocontainer.PicoContainer`
  Overrides:
    `getComponentInstance` in class `org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer`
  Throws:
    `org.picocontainer.PicoException`

### makeChildContainer

    public final org.picocontainer.MutablePicoContainer makeChildContainer()

  Specified by:
    `makeChildContainer` in interface `org.picocontainer.MutablePicoContainer`

### makeChildContainer

    public org.picocontainer.MutablePicoContainer makeChildContainer(String name)

  Makes a child container with the same basic characteristics of `this` object (ComponentAdapterFactory, PicoContainer type, LifecycleManager, etc)

  Specified by:
    `makeChildContainer` in interface `NanoPicoContainer`
  Parameters:
    `name` - the name of the child container
  Returns:
    The child MutablePicoContainer

### createChildContainer

    protected abstract AbstractNanoPicoContainer createChildContainer()

### removeChildContainer

    public boolean removeChildContainer(org.picocontainer.PicoContainer child)

  Specified by:
    `removeChildContainer` in interface `org.picocontainer.MutablePicoContainer`
  Overrides:
    `removeChildContainer` in class `org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer`

### getNamedContainers

    protected final Map getNamedContainers()

### getComponentInstanceOfType

    public Object getComponentInstanceOfType(String componentType)

  Description copied from interface: `NanoContainer`
  Find a component instance matching the specified type.

  Specified by:
    `getComponentInstanceOfType` in interface `NanoContainer`
  Parameters:
    `componentType` - the type of the component.
  Returns:
    the adapter matching the class.

### addDecoratingPicoContainer

    public org.picocontainer.MutablePicoContainer addDecoratingPicoContainer(Class picoContainerClass)

  Specified by:
    `addDecoratingPicoContainer` in interface `NanoContainer`

### addClassLoaderURL

    public ClassPathElement addClassLoaderURL(URL url)

  Description copied from interface: `NanoContainer`
  Adds a new URL that will be used in classloading

  Specified by:
    `addClassLoaderURL` in interface `NanoContainer`

### registerComponentImplementation

    public org.picocontainer.ComponentAdapter registerComponentImplementation(String componentImplementationClassName)
                                                                       throws org.picocontainer.PicoRegistrationException,
                                                                              ClassNotFoundException,
                                                                              org.picocontainer.PicoIntrospectionException

  Specified by:
    `registerComponentImplementation` in interface `NanoContainer`
  Throws:
    `org.picocontainer.PicoRegistrationException`
    `ClassNotFoundException`
    `org.picocontainer.PicoIntrospectionException`

### registerComponentImplementation

    public org.picocontainer.ComponentAdapter registerComponentImplementation(Object key,
                                                                              String componentImplementationClassName)
                                                                       throws ClassNotFoundException

  Specified by:
    `registerComponentImplementation` in interface `NanoContainer`
  Throws:
    `ClassNotFoundException`

### registerComponentImplementation

    public org.picocontainer.ComponentAdapter registerComponentImplementation(Object key,
                                                                              String componentImplementationClassName,
                                                                              org.picocontainer.Parameter[] parameters)
                                                                       throws ClassNotFoundException

  Specified by:
    `registerComponentImplementation` in interface `NanoContainer`
  Throws:
    `ClassNotFoundException`

### registerComponentImplementation

    public org.picocontainer.ComponentAdapter registerComponentImplementation(Object key,
                                                                              String componentImplementationClassName,
                                                                              String[] parameterTypesAsString,
                                                                              String[] parameterValuesAsString)
                                                                       throws org.picocontainer.PicoRegistrationException,
                                                                              ClassNotFoundException,
                                                                              org.picocontainer.PicoIntrospectionException

  Specified by:
    `registerComponentImplementation` in interface `NanoContainer`
  Throws:
    `org.picocontainer.PicoRegistrationException`
    `ClassNotFoundException`
    `org.picocontainer.PicoIntrospectionException`

### registerComponentImplementation

    public org.picocontainer.ComponentAdapter registerComponentImplementation(String componentImplementationClassName,
                                                                              String[] parameterTypesAsString,
                                                                              String[] parameterValuesAsString)
                                                                       throws org.picocontainer.PicoRegistrationException,
                                                                              ClassNotFoundException,
                                                                              org.picocontainer.PicoIntrospectionException

  Specified by:
    `registerComponentImplementation` in interface `NanoContainer`
  Throws:
    `org.picocontainer.PicoRegistrationException`
    `ClassNotFoundException`
    `org.picocontainer.PicoIntrospectionException`

### getPico

    public org.picocontainer.MutablePicoContainer getPico()

  Description copied from interface: `NanoContainer`
  Returns the wrapped PicoContainer instance (russian doll concept). The method name is short in order to favour the use of nano.pico from Groovy.

  Specified by:
    `getPico` in interface `NanoContainer`
  Returns:
    the wrapped PicoContainer instance.

### getComponentClassLoader

    public ClassLoader getComponentClassLoader()

  Specified by:
    `getComponentClassLoader` in interface `NanoContainer`

### addChildContainer

    public boolean addChildContainer(org.picocontainer.PicoContainer child)

  Specified by:
    `addChildContainer` in interface `org.picocontainer.MutablePicoContainer`
  Overrides:
    `addChildContainer` in class `org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer`

### addChildContainer

    public void addChildContainer(String name,
                                  org.picocontainer.PicoContainer child)

  Specified by:
    `addChildContainer` in interface `NanoPicoContainer`

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-2007 Codehaus. All Rights Reserved.