X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=trunk%2Fsystem%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FDefaultRequiredInterface.java;h=9927b517f9c9accf0618fcfba2e4f065c09889ea;hb=1e6feac46f0be086aa8734e20064aec24425ff11;hp=32276a25cc26d7237e479f379b5b94309773e3ae;hpb=d382c39636e544269b26af6eb38d957d869733b7;p=utils diff --git a/trunk/system/general/src/main/java/org/wamblee/system/core/DefaultRequiredInterface.java b/trunk/system/general/src/main/java/org/wamblee/system/core/DefaultRequiredInterface.java index 32276a25..9927b517 100644 --- a/trunk/system/general/src/main/java/org/wamblee/system/core/DefaultRequiredInterface.java +++ b/trunk/system/general/src/main/java/org/wamblee/system/core/DefaultRequiredInterface.java @@ -20,6 +20,7 @@ import java.util.Arrays; public class DefaultRequiredInterface implements RequiredInterface { private String _name; + private boolean _optional; private Class[] _required; private ProvidedInterface _provider; @@ -28,7 +29,17 @@ public class DefaultRequiredInterface implements RequiredInterface { } public DefaultRequiredInterface(String aName, Class[] aInterfaces) { + this(aName, aInterfaces, false); + } + + public DefaultRequiredInterface(String aName, Class aInterface, boolean aIsOptional) { + this(aName, new Class[] { aInterface }, aIsOptional ); + } + + + public DefaultRequiredInterface(String aName, Class[] aInterfaces, boolean aIsOptional) { _name = aName; + _optional = aIsOptional; _required = aInterfaces; } @@ -37,6 +48,11 @@ public class DefaultRequiredInterface implements RequiredInterface { return _name; } + @Override + public boolean isOptional() { + return _optional; + } + @Override public boolean implementedBy(ProvidedInterface aDescriptor) { Class[] provided = aDescriptor.getInterfaceTypes(); @@ -76,14 +92,6 @@ public class DefaultRequiredInterface implements RequiredInterface { public void setProvider(ProvidedInterface aProvider) { _provider = aProvider; } - - @Override - public T getImplementation(Class aClass) { - if ( _provider == null ) { - return null; - } - return (T)_provider.getImplementation(); - } @Override public boolean equals(Object obj) {