A
ComponentManager selects
Components based on a role. The contract is that all the
Components implement the differing roles and there is one
Component per role. If you need to select on of many
Components that implement the same role, then you need to use a
ComponentSelector. Roles are usually the full interface name.
A role is better understood by the analogy of a play. There are many different roles in a script. Any actor or actress can play any given part and you get the same results (phrases said, movements made, etc.). The exact nuances of the performance is different.
Below is a list of things that might be considered the different roles:
- InputAdapter and OutputAdapter
- Store and Spool
The ComponentManager does not specify the methodology of getting the Component, merely the interface used to get it. Therefore the ComponentManager can be implemented with a factory pattern, an object pool, or a simple Hashtable.
Deprecated: Use {@link org.apache.avalon.framework.service.ServiceManager} instead.
@see org.apache.avalon.framework.component.Component
@see org.apache.avalon.framework.component.Composable
@see org.apache.avalon.framework.component.ComponentSelector
@author
Avalon Development Team
@version CVS $Revision: 1.21 $ $Date: 2004/02/11 14:34:24 $