X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=trunk%2Fsystem%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FRequiredInterface.java;h=4dd77fc7dad510dcbc062eaab20a402008de627f;hb=790b3fda4128b2367060137adcc1257d215e84a4;hp=0fea736057bbc32849ef977004a91520b7a3f2ff;hpb=d382c39636e544269b26af6eb38d957d869733b7;p=utils diff --git a/trunk/system/general/src/main/java/org/wamblee/system/core/RequiredInterface.java b/trunk/system/general/src/main/java/org/wamblee/system/core/RequiredInterface.java index 0fea7360..4dd77fc7 100644 --- a/trunk/system/general/src/main/java/org/wamblee/system/core/RequiredInterface.java +++ b/trunk/system/general/src/main/java/org/wamblee/system/core/RequiredInterface.java @@ -15,12 +15,13 @@ */ package org.wamblee.system.core; -public interface RequiredInterface { - +public interface RequiredInterface extends NamedInterface { + /** - * Name for the interface. + * @return True iff the required interface is optional. */ - public String getName(); + boolean isOptional(); + /** * Checks if the service is provided by a given provided interface. @@ -36,16 +37,14 @@ public interface RequiredInterface { void setProvider(ProvidedInterface aProvider); /** - * Getst the provider interface. + * Gets the provider interface. * @return Provider or null if not set. */ - ProvidedInterface getProvider(); + ProvidedInterface getProvider(); /** - * Gets the implementation of the required interface. - * @param - * @param aClass Interface type. - * @return Interface implementation or null if not known yet. + * Determines if the requirements of the current interface are at least those + * of the given required interface. */ - T getImplementation(Class aClass); + boolean covers(RequiredInterface aInterface); }