package sk.stuba.fiit.perconik.activity.debug.listeners; import java.util.Set; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; import sk.stuba.fiit.perconik.activity.debug.listeners.ui.PageLifecycleListener; import sk.stuba.fiit.perconik.activity.debug.listeners.ui.PartLifecycleListener; import sk.stuba.fiit.perconik.activity.debug.listeners.ui.PerspectiveLifecycleListener; import sk.stuba.fiit.perconik.activity.debug.listeners.ui.WindowLifecycleListener; import sk.stuba.fiit.perconik.activity.debug.listeners.ui.WorkbenchLifecycleListener; import sk.stuba.fiit.perconik.core.Listener; import sk.stuba.fiit.perconik.core.services.listeners.ListenerProvider; import sk.stuba.fiit.perconik.core.services.listeners.ListenerProviderFactory; import sk.stuba.fiit.perconik.core.services.listeners.ListenerProviders; public final class ListenerProviderExtension implements ListenerProviderFactory { private static final Set<Class<? extends Listener>> classes; static { Builder<Class<? extends Listener>> builder = ImmutableSet.builder(); builder.add(SelfLifecycleListener.class); builder.add(WorkbenchLifecycleListener.class); builder.add(WindowLifecycleListener.class); builder.add(PageLifecycleListener.class); builder.add(PartLifecycleListener.class); builder.add(PerspectiveLifecycleListener.class); classes = builder.build(); } public ListenerProviderExtension() {} public ListenerProvider create(final ListenerProvider parent) { return ListenerProviders.builder(parent).addAll(classes).build(); } }