X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=trunk%2Fsystem%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FScope.java;h=fe83e85709c8083526dbc81873836815a85ec066;hb=aabf9dd7f2cfecbe48b2d4658ca8bfde3ec50a72;hp=829435f620abe022f1d75c033ab07685994cdbf7;hpb=74604f12a2839c3e4f13d26a9b2ffe743771aa97;p=utils diff --git a/trunk/system/general/src/main/java/org/wamblee/system/core/Scope.java b/trunk/system/general/src/main/java/org/wamblee/system/core/Scope.java index 829435f6..fe83e857 100644 --- a/trunk/system/general/src/main/java/org/wamblee/system/core/Scope.java +++ b/trunk/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. @@ -53,25 +55,32 @@ 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); }