Niclas Hedhman wrote:
> Priority 1; // Definately
> =========================
> ImmutableProperty<Boolean> activated();
Will this ever return false is one question? I.e. will an application be
active but one or more modules are not? This is open for now I think.
> ImmutableProperty<String> name();
> ImmutableProperty<Layer> layer();
>
> Priority 2; // Maybe
> ==========================
> Module moduleForComposite( Class<? extends Composite> compositetype );
> Module moduleForMixinType( Class<?> mixintype );
This is syntactic sugar for
moduleForComposite(lookupComposite(mixinType)), right?
> Module moduleForObject( Class<?> objecttype );
> boolean isPublic( Class<?> compositeOrObject );
> Class<? extends Composite> lookupComposite( Class<?> mixintype );
>
> Priority 3; // Maybe not.
> ==========================
> ServiceReference<T> lookupService( Class<T> serviceType );
> Iterable<ServiceReference<T>> lookupServices( Class<T> serviceType );
These would be the most interesting ones I think as it allows in
particular UI's to see things from the "Domain perspective". The problem
I see with it is that if a UI-module A is allowed to access a Domain
Composite B in another Module, but not Infrastructure which B can
access, then doing moduleForComposite(B).lookupService() by A is a way
to get around the visibility rules (which would be the benefit at the
same time). Is this ok is the question?
> void activate();
> void passivate();
>
> And something like;
>
> public interface Layer
> {
> ImmutableProperty<String> name();
> Iterable<Layer> usesLayers();
> Iterable<Layer> usedByLayers();
> Iterable<Module> modules();
> boolean isPublic( Class<?> compositeOrObject );
> }
Looks reasonably ok.
/Rickard
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev