(no commit message)
[utils] / system / general / src / main / java / org / wamblee / system / core / Scope.java
index 829435f620abe022f1d75c033ab07685994cdbf7..1b9f66154597e7aaa190a77f5acc3c58dbf0414c 100644 (file)
@@ -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<ProvidedInterface> 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> T retrieveInterfaceImplementation(ProvidedInterface aProvided, Class<T> aType );
+       <T> T getInterfaceImplementation(ProvidedInterface aProvided, Class<T> 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);
 }