David Bernard wrote:

There is not any difference between a container and a component (as far as a component implementation is concerned)- the difference rest on how the component (acting as a container) is handled by its appliance. In the case of a component acting as a container - it is handled by a Block - which adds the notions of separation of published services from its internal component structure (implementation).



I probably do a mistake (I'm a poor english reader/writer :-( ) could tell me what is the right interpretation :

schema :
Conatiner Root
 +--Component A
 +--Container B
      +--Component B.A
      +--Component B.B
      +--Container B.C
           +--Component B.C.A
           +--Component B.C.B
 +--Container C
      +--Component C.A
      +--Component C.B
 +--Component D

a) service provide by internal component are accessible by other
component (and container) children of the same container but not by
sibling component or container of parent/ancestror container :


Correct.


* Component B.A could access : Component A, Component B.B, Container
B.C, Container C, Component D
* Component B.A couldn't access : Component B.C.A, Component B.C.B,
Component C.A, Component C.B



Correct.


But also keep in mind that B.C can export services established by its implementation (e.g. B.C.A is part of the implementation of B.C) in which case B.C is acting as a proxy to B.C.A - this is basically what the Block class is all about (isolation and separation of published versus implemented services).


b) service provide by internal component are accessible by other
component of the same conatiner (but not children) and by sibling
componaent or container of parent/ancestror container :


Incorrect - because the siblings are in different classloaders and are not visible within the classloader hierarchy of the internal component.


Cheers, Steve.

--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net

Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to