Now the component provides read-only access to the interfaces.
[utils] / system / general / src / main / java / org / wamblee / system / core / RequiredInterface.java
index d3a4e5229483f642be14e8494736f46905f7cd9a..4dd77fc7dad510dcbc062eaab20a402008de627f 100644 (file)
  */ 
 package org.wamblee.system.core;
 
-public interface RequiredInterface {
-
-       /**
-        * Name for the interface. 
-        */
-       String getName();
+public interface RequiredInterface extends NamedInterface {
        
        /**
         * @return True iff the required interface is optional. 
@@ -45,5 +40,11 @@ public interface RequiredInterface {
         * Gets the provider interface. 
         * @return Provider or null if not set. 
         */
-       ProvidedInterface getProvider(); 
+       ProvidedInterface getProvider();
+       
+       /**
+        * Determines if the requirements of the current interface are at least those
+        * of the given required interface. 
+        */
+       boolean covers(RequiredInterface aInterface); 
 }