(no commit message)
[utils] / system / general / src / main / java / org / wamblee / system / core / Component.java
index d14eb08a2364891205aef8647b47446e8df66f0a..9506bb1f32c3fc874b9460cad4ac6e0757c0e6b3 100644 (file)
@@ -15,6 +15,8 @@
  */ 
 package org.wamblee.system.core;
 
+import java.util.List;
+
 /**
  * A component represents a part of a system that requires a 
  * number of interfaces and provides a number of interfaces.
@@ -42,6 +44,12 @@ public interface Component<Type> {
         */
        void addContext(String aContext);
        
+       /**
+        * Getst the context.
+        * @return Context or null if not set. 
+        */
+       String getContext();
+       
        /**
         * Gets the fully qualified name of the component which includes
         * the context of the component.  
@@ -54,21 +62,20 @@ public interface Component<Type> {
         * Gets a description of the provided interfaces. 
         * @return Provided interfaces. 
         */
-       ProvidedInterface[] getProvidedInterfaces();
+       List<ProvidedInterface> getProvidedInterfaces();
        
        /**
         * Gets a description of the required interfaces. 
         * @return Required interfaces. 
         */
-       RequiredInterface[] getRequiredInterfaces();
+       List<RequiredInterface> getRequiredInterfaces();
 
        
        /**
         * Initialises the subsystem by starting all the services that
         * it described as provided.
         * @param aScope Scope with external interface implementations that are available. The component 
-        *  implementation can either oublish itself in this scope or it can decide to
-        *  create a new scope with the scope passed in as a parent. 
+        *  must publish its runtime and its provided interfaces in this scope. 
         * @return Gets an object representing the runtime of the component.  
         */
        Type start(Scope aScope);