(no commit message)
[utils] / system / general / src / main / java / org / wamblee / system / core / ProvidedInterface.java
index fe7f7d26a73483907d0102b29050c86455f8d55c..46bf5f24528d143b9c1b488b32c56456f55d0631 100644 (file)
@@ -23,32 +23,13 @@ import java.util.Collection;
  *  
  * @author Erik Brakkee
  */
-public interface ProvidedInterface {
-    
-       /**
-        * Symbolic name for the service as used by the subsystem.  
-        * @return Service name. 
-        */
-       String getName();
+public interface ProvidedInterface extends NamedInterface {
        
        /**
         * Returns the service type. 
         * @return Service type. 
         */
        Class[] getInterfaceTypes();
-       
-       /**
-        * Sets a unique id of the provided interface to identify it within a given scope.
-        * Will be called by the container as part of calling {@link #publish(Object, Scope)}. 
-        * @param aId Unique id. 
-        */
-       void setUniqueId(String aId);
-
-       /**
-        * Gets the unique if of the provided interface. This is set by the container
-        * using {@link #setUniqueId(String)}.  
-        */
-       String getUniqueId();
 
        /**
         * Publishes an implementation of the interface. The implementation must 
@@ -58,4 +39,13 @@ public interface ProvidedInterface {
         * @param aScope Scope in which to publish the implementation. 
         */
        void publish(Object aImplementation, Scope aScope);
+       
+       
+       /**
+        * Determines whether the current provided interface exceeds the given provided interface. 
+        * In other words if it can provide at least what the given provided interface can provide. 
+        * @param aInterface Interface to compare to. 
+        * @return True if the current interface exceeds the given provided interface. 
+        */
+       boolean covers(ProvidedInterface aInterface); 
 }