X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FScope.java;h=1b9f66154597e7aaa190a77f5acc3c58dbf0414c;hb=32a8562695029cf13d915bc7941a61fe07ff0005;hp=829435f620abe022f1d75c033ab07685994cdbf7;hpb=a003b7d0db5305071271df0439f31adf9d1f426a;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/core/Scope.java b/system/general/src/main/java/org/wamblee/system/core/Scope.java index 829435f6..1b9f6615 100644 --- a/system/general/src/main/java/org/wamblee/system/core/Scope.java +++ b/system/general/src/main/java/org/wamblee/system/core/Scope.java @@ -15,6 +15,8 @@ */ package org.wamblee.system.core; +import java.util.List; + /** * A scope represents a set of running services and the runtime information for the * started components and is (usually) the result of @@ -28,7 +30,7 @@ public interface Scope { * Gets the provided interfaces by this scope. * @return Provided interfaces. */ - ProvidedInterface[] getProvidedInterfaces(); + List getProvidedInterfaces(); /** * Adds a key value pair to the scope. @@ -55,23 +57,31 @@ public interface Scope { * Publishes an implementation of a provided interface. * @param aComponent Component that provides the interface. * @param aInterface Interface that is provided. - * @param aImplementation Implementation of the interface. - * @return Returns a unique id of the published interface. + * @param aImplementation Implementation of the interface. */ void publishInterface(ProvidedInterface aInterface, Object aImplementation); /** * Retrieves an implementation of a provided interface. - * @param aProvided Provided interface. If it is null then null is returned. + * @param aProvided P + * rovided interface. If it is null then null is returned. * @param aType Type of implementation that is expected. * @return Retrieved interface. */ - T retrieveInterfaceImplementation(ProvidedInterface aProvided, Class aType ); + T getInterfaceImplementation(ProvidedInterface aProvided, Class aType ); /** * Gets the runtime for a component. * @param aComponent Component for which we want to get the runtime. * @return Runtime. */ - Object getRuntime(Component aComponent); + Object getRuntime(Component aComponent); + + /** + * Gets the runtime for a component based on the name of the component + * (excluding its context). + * @param aName Component name. + * @return Component name. + */ + Object getRuntime(String aName); }