package org.oddjob.beanbus;
public class SimpleBusService implements BusService {
private final BusConductor beanConductor;
public SimpleBusService(BusConductor busConductor) {
if (busConductor == null) {
throw new NullPointerException("Bus conductor is null.");
}
this.beanConductor = busConductor;
}
public SimpleBusService(BusServiceProvider delegate) {
this(delegate.getServices().getService(BEAN_BUS_SERVICE_NAME));
}
@Override
public String serviceNameFor(Class<?> theClass, String flavour) {
if (BusConductor.class == theClass) {
return BEAN_BUS_SERVICE_NAME;
}
else {
return null;
}
}
@Override
public BusConductor getService(String serviceName)
throws IllegalArgumentException {
if (BEAN_BUS_SERVICE_NAME.equals(serviceName)) {
return beanConductor;
}
else {
return null;
}
}
@Override
public String toString() {
return getClass().getSimpleName();
}
}