org.apache.avalon.framework.component
Class DefaultComponentSelector

java.lang.Object
  extended by org.apache.avalon.framework.component.DefaultComponentSelector
All Implemented Interfaces:
org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.ComponentSelector

public class DefaultComponentSelector
extends java.lang.Object
implements org.apache.avalon.framework.component.ComponentSelector

This is the default implementation of the ComponentSelector.

Deprecated: Use DefaultServiceSelector instead.

Version:
$Id: DefaultComponentSelector.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  boolean m_readOnly
           
 
Constructor Summary
DefaultComponentSelector()
           
 
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.
 boolean hasComponent(java.lang.Object hint)
          Returns whether a Component exists or not
 void makeReadOnly()
          Make this component selector read-only.
 void put(java.lang.Object hint, org.apache.avalon.framework.component.Component component)
          Populate the ComponentSelector.
 void release(org.apache.avalon.framework.component.Component component)
          Release component.
 org.apache.avalon.framework.component.Component select(java.lang.Object hint)
          Select the desired component.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_components

private final java.util.HashMap m_components

m_readOnly

private boolean m_readOnly
Constructor Detail

DefaultComponentSelector

public DefaultComponentSelector()
Method Detail

select

public org.apache.avalon.framework.component.Component select(java.lang.Object hint)
                                                       throws org.apache.avalon.framework.component.ComponentException
Select the desired component. It does not cascade, neither should it.

Specified by:
select in interface org.apache.avalon.framework.component.ComponentSelector
Parameters:
hint - the hint to retrieve Component
Returns:
the Component
Throws:
ComponentException - if an error occurs

hasComponent

public boolean hasComponent(java.lang.Object hint)
Returns whether a Component exists or not

Specified by:
hasComponent in interface org.apache.avalon.framework.component.ComponentSelector
Parameters:
hint - the hint to retrieve Component
Returns:
true if the Component exists

release

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

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

put

public void put(java.lang.Object hint,
                org.apache.avalon.framework.component.Component component)
Populate the ComponentSelector.

Parameters:
hint - the hint to retrieve Component
component - the component to add

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 selector 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