package sk.stuba.fiit.perconik.core.plugin; import sk.stuba.fiit.perconik.core.Listeners; import sk.stuba.fiit.perconik.core.services.Services; import sk.stuba.fiit.perconik.core.services.listeners.ListenerClassesSupplier; import sk.stuba.fiit.perconik.core.services.listeners.ListenerService; import static com.google.common.base.Preconditions.checkNotNull; final class ListenerServiceSetup extends ServiceSetup<ListenerService> { final ListenerClassesSupplier supplier; ListenerServiceSetup(final ListenerService service, final ListenerClassesSupplier supplier) { super(service); this.supplier = checkNotNull(supplier); } @Override void setService() { Services.setListenerService(this.service); } @Override void unsetService() { Services.unsetListenerService(); } @Override void registerObjects() { Listeners.registerAll(this.supplier); } }