(no commit message)
[utils] / system / general / src / main / java / org / wamblee / system / core / RequiredInterface.java
index d3a4e5229483f642be14e8494736f46905f7cd9a..76977d6cff20805c53ff507a869ed824b2e1238b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2007 the original author or authors.
+ * Copyright 2005-2010 the original author or authors.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 package org.wamblee.system.core;
 
-public interface RequiredInterface {
+/**
+ * 
+ * @author $author$
+ * @version $Revision: 1.6 $
+ */
+public interface RequiredInterface extends NamedInterface {
+    /**
+     * 
+     * @return True iff the required interface is optional.
+     */
+    boolean isOptional();
+
+    /**
+     * Checks if the service is provided by a given provided interface.
+     * 
+     * @param aInterface
+     *            Provided interface.
+     * 
+     * @return
+     */
+    boolean implementedBy(ProvidedInterface aInterface);
+
+    /**
+     * Sets the provider of this interface.
+     * 
+     * @param aProvider
+     *            Provider.
+     */
+    void setProvider(ProvidedInterface aProvider);
+
+    /**
+     * Gets the provider interface.
+     * 
+     * @return Provider or null if not set.
+     */
+    ProvidedInterface getProvider();
 
-       /**
-        * Name for the interface. 
-        */
-       String getName();
-       
-       /**
-        * @return True iff the required interface is optional. 
-        */
-       boolean isOptional(); 
-       
-       
-       /**
-        * Checks if the service is provided by a given provided interface. 
-        * @param aInterface Provided interface. 
-        * @return
-        */
-       boolean implementedBy(ProvidedInterface aInterface);
-       
-       /**
-        * Sets the provider of this interface. 
-        * @param aProvider Provider. 
-        */
-       void setProvider(ProvidedInterface aProvider);
-       
-       /**
-        * Gets the provider interface. 
-        * @return Provider or null if not set. 
-        */
-       ProvidedInterface getProvider(); 
+    /**
+     * Determines if the requirements of the current interface are at least
+     * those of the given required interface.
+     * 
+     * 
+     */
+    boolean covers(RequiredInterface aInterface);
 }