package dgm.modules; import com.google.inject.Inject; import dgm.Service; import org.nnsoft.guice.sli4j.core.InjectLogger; import org.slf4j.Logger; import java.util.Set; /** * start and stop a set of services */ public class ServiceRunner { final Set<Service> services; @InjectLogger Logger log; @Inject ServiceRunner(Set<Service> services) { this.services = services; } public void startServices() { for(Service s : services) { final String serviceName = s.getClass().getSimpleName(); log.info("Starting {} service", serviceName); s.start(); log.info("Started {} service", serviceName); } } public void stopServices() { for(Service s : services) { final String serviceName = s.getClass().getSimpleName(); log.info("Stopping {} service", serviceName); s.stop(); log.info("Stopped {} service", serviceName); } } }