Michael McKibben wrote: > Why does ExcaliburComponentManager take the parent ComponentManager as a > constructor arg instead of implementing Composable? As it is currently > implemented, it doesn't seem possible to have parent-child built > automatically from a config xml, e.g.
This is to allow Hierarchical ComponentManager arrangements. In large systems like Phoenix, a Block is handed a ComponentManager to gain access to external Components. That Block can then initialize it's own ComponentManager deferring requests for the external components to the parent. > > <parent> > ... > > <child-components > role="ChildComponentManager" >class="org.apache.avalon.excalibur.component.ExcaliburComponentManager"> > ... > </child-component> > </parent> > > Also, I noticed that a ComponentManager is not a component even though > ExcaliburComponentManager implements the Avalon component lifecycle > interfaces. Is this by design? If so why? We use the Avalon lifecycle interfaces for consistency. A ComponentManager is not a Component. It manages references to Components. Rest assured, if the ECM (ExcaliburComponentManager) made up it's own initialization interfaces you'd ask about that. The thing about ECM is that it is also a Container, and the Container needs references to the system information like Context, Logger, etc. We are improving our design slowly. ---------------------------------------------------- Sign Up for NetZero Platinum Today Only $9.95 per month! http://my.netzero.net/s/signup?r=platinum&refcd=PT97 -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
