X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FRequiredInterface.java;h=4dd77fc7dad510dcbc062eaab20a402008de627f;hb=680cb4c2d0b10909a2cdd3e7f73d8998a74441c1;hp=0fea736057bbc32849ef977004a91520b7a3f2ff;hpb=ebb4c1d01787f66e5dc2dd73780663b950122334;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/core/RequiredInterface.java b/system/general/src/main/java/org/wamblee/system/core/RequiredInterface.java index 0fea7360..4dd77fc7 100644 --- a/system/general/src/main/java/org/wamblee/system/core/RequiredInterface.java +++ b/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); }