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