On Fri, May 9, 2008 at 9:01 PM, Rickard Öberg <[EMAIL PROTECTED]> wrote:
> Hey,
>
> I am looking into cleaning up the visibility rules for Layers/Modules. I
> think this has been discussed before, but just to check again. The
> general order is, regardless of what's being looked up, the following:
> 1) Look for "module" visibility within the owning Module
> 2) Look for "layer" visibility within the owning Layer of the Module.
> Order of declaration of Module is used, so if two Modules declare X with
> Layer visibility, then the one which is declared first takes precedence.
> Specifically, this also means that if a lookup for an X that is
> registered with Layer visibility in the same Module as the lookup is
> done from, then another Module also containing X with Layer visibility
> may take precedence ("shadowing").
> 3) Look for "application" visibility in all the used Layers, in order

Sounds correct to me.

> Is this generally the approach to use? This goes for finding declared
> Composites, Objects, Classes, Services, etc.

Yes and (No). For doing a CompositeType->CompositeType lookup, it is
true... But for a MixinType->CompositeType lookup, there is the
additional restriction that one and only one CompositeType must be
found at any of the 3 steps, to avoid undetected mishaps.


Cheers
Niclas

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to