org.apache.avalon.framework.component
Class DefaultComponentManager

java.lang.Object
  extended byorg.apache.avalon.framework.component.DefaultComponentManager
All Implemented Interfaces:
org.apache.avalon.framework.component.ComponentManager

public class DefaultComponentManager
extends java.lang.Object
implements org.apache.avalon.framework.component.ComponentManager

This class is a static implementation of a ComponentManager. Allow ineritance and extension so you can generate a tree of ComponentManager each defining Component scope.

Deprecated: Use DefaultServiceManager instead.

Version:
$Id: DefaultComponentManager.java 30977 2004-07-30 03:57:54 -0500 (Fri, 30 Jul 2004) niclas $
Author:
Avalon Development Team

Field Summary
private  java.util.HashMap m_components
           
private  org.apache.avalon.framework.component.ComponentManager m_parent
           
private  boolean m_readOnly
           
 
Constructor Summary
DefaultComponentManager()
          Construct ComponentManager with no parent.
DefaultComponentManager(org.apache.avalon.framework.component.ComponentManager parent)
          Construct ComponentManager with specified parent.
 
Method Summary
protected  void checkWriteable()
          Check if this component m_manager is writeable.
protected  java.util.Map getComponentMap()
          Helper method for subclasses to retrieve component map.
protected  org.apache.avalon.framework.component.ComponentManager getParent()
          Helper method for subclasses to retrieve parent.
 boolean hasComponent(java.lang.String key)
          Returns true if the component m_manager is managing a component with the specified key, false otherwise.
 org.apache.avalon.framework.component.Component lookup(java.lang.String key)
          Retrieve Component by key from ComponentManager.
 void makeReadOnly()
          Make this component m_manager read only.
 void put(java.lang.String key, org.apache.avalon.framework.component.Component component)
          Place Component into ComponentManager.
 void release(org.apache.avalon.framework.component.Component component)
          Release component.
 java.lang.String toString()
          Build a human readable representation of ComponentManager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_components

private final java.util.HashMap m_components

m_parent

private final org.apache.avalon.framework.component.ComponentManager m_parent

m_readOnly

private boolean m_readOnly
Constructor Detail

DefaultComponentManager

public DefaultComponentManager()
Construct ComponentManager with no parent.


DefaultComponentManager

public DefaultComponentManager(org.apache.avalon.framework.component.ComponentManager parent)
Construct ComponentManager with specified parent.

Parameters:
parent - the ComponentManagers parent
Method Detail

lookup

public org.apache.avalon.framework.component.Component lookup(java.lang.String key)
                                                       throws org.apache.avalon.framework.component.ComponentException
Retrieve Component by key from ComponentManager.

Specified by:
lookup in interface org.apache.avalon.framework.component.ComponentManager
Parameters:
key - the key
Returns:
the Component
Throws:
ComponentException - if an error occurs

hasComponent

public boolean hasComponent(java.lang.String key)
Returns true if the component m_manager is managing a component with the specified key, false otherwise.

Specified by:
hasComponent in interface org.apache.avalon.framework.component.ComponentManager
Parameters:
key - key of the component you are lokking for
Returns:
true if the component m_manager has a component with that key

put

public void put(java.lang.String key,
                org.apache.avalon.framework.component.Component component)
Place Component into ComponentManager.

Parameters:
key - the components key
component - the component

release

public void release(org.apache.avalon.framework.component.Component component)
Release component.

Specified by:
release in interface org.apache.avalon.framework.component.ComponentManager
Parameters:
component - the component

toString

public java.lang.String toString()
Build a human readable representation of ComponentManager.

Returns:
the description of ComponentManager

getParent

protected final org.apache.avalon.framework.component.ComponentManager getParent()
Helper method for subclasses to retrieve parent.

Returns:
the parent ComponentManager

getComponentMap

protected final java.util.Map getComponentMap()
Helper method for subclasses to retrieve component map.

Returns:
the component map

makeReadOnly

public void makeReadOnly()
Make this component m_manager read only.


checkWriteable

protected final void checkWriteable()
                             throws java.lang.IllegalStateException
Check if this component m_manager is writeable.

Throws:
java.lang.IllegalStateException - if this component m_manager is read-only