X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FRequiredInterface.java;h=76977d6cff20805c53ff507a869ed824b2e1238b;hb=49ce7cb8387601982d5e6ef186ce206d38f6e3d7;hp=ce8d084cdbaa2b11fcd25c65c7c194a871f64b1a;hpb=bb66d188e89338f718e7446bb91d8182cd2203fe;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 ce8d084c..76977d6c 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 @@ -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. @@ -12,40 +12,51 @@ * 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. - */ - public String getName(); - - /** - * 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(); - - /** - * Gets the implementation of the required interface. - * @param - * @param aClass Interface type. - * @return Interface implementation or null if not known yet. - */ - T getImplementation(Class aClass); + /** + * Determines if the requirements of the current interface are at least + * those of the given required interface. + * + * + */ + boolean covers(RequiredInterface aInterface); }