@Override
public void setProvider(ProvidedInterface aProvider) {
+ assert aProvider != null;
+ assert implementedBy(aProvider);
_provider = aProvider;
}
-
+
@Override
- public <T> T getImplementation(Class<T> aClass) {
- if ( _provider == null ) {
- return null;
- }
- return (T)_provider.getImplementation();
+ public boolean equals(Object obj) {
+ return this == obj;
}
@Override
- public boolean equals(Object obj) {
+ public boolean covers(RequiredInterface obj) {
+ // TODO do more than equals.
if ( !(obj instanceof DefaultRequiredInterface)) {
return false;
}
@Override
public String toString() {
StringBuffer buf = new StringBuffer();
+ buf.append("." + getName() + ":");
for (Class intf: _required) {
buf.append("." + intf.getName());
}