You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by "Bachran, Michael" <MB...@onebridge.de> on 2001/12/04 11:37:15 UTC

Composing components with excalibur component manager ...

Hi,

I got some questions on the excalibur component manager. 
Due to the framework I thought I unserstood it right that each composable
component should only contain the components it needs/ it is allowed to use
within its component manager.
Maybe I am missing something, but if I have a look at the code of ECM any
composable component I add via addComponent(...) will be composed with
'this' means the ECM instance itself.
Lets asume the following scenario:

( -> means 'uses' )

A -> B
   -> C
   -> D

B -> E
   -> F

C -> G

ECM_A should be the container I want to compose A with. If I add B and C to
ECM_A they will get a reference of ECM_A but they shouldn't.
Shouldn't B i.e. be composed with another ECM having E and F?


What am I missing?


Thanks, Michael

Re: Composing components with excalibur component manager ...

Posted by Peter Donald <pe...@apache.org>.
On Tue, 4 Dec 2001 21:37, Bachran, Michael wrote:
> Hi,
>
> I got some questions on the excalibur component manager.
> Due to the framework I thought I unserstood it right that each composable
> component should only contain the components it needs/ it is allowed to use
> within its component manager.

In the ideal situation this is the case. Sometimes people take short cuts 
though ;)

> Maybe I am missing something, but if I have a look at the code of ECM any
> composable component I add via addComponent(...) will be composed with
> 'this' means the ECM instance itself.
> Lets asume the following scenario:
>
> ( -> means 'uses' )
>
> A -> B
>    -> C
>    -> D
>
> B -> E
>    -> F
>
> C -> G
>
> ECM_A should be the container I want to compose A with. If I add B and C to
> ECM_A they will get a reference of ECM_A but they shouldn't.
> Shouldn't B i.e. be composed with another ECM having E and F?
>
> What am I missing?

Nothing. 

ECM evolved from the needs of the Cocoon2 project originally. In that project 
they do not declare "uses"/"dependencies" relationships and thus there was no 
way to determine that component C did not use component B. Thus why it was 
built that way.

-- 
Cheers,

Pete

--------------------------------------------
 Beer is proof that God loves us and wants 
 us to be happy. -- Benjamin Franklin
--------------------------------------------

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>