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



Reply via email to