package com.gratex.perconik.activity.ide.listeners;
import java.util.Set;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSet.Builder;
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 IdeListenerProviderFactory implements ListenerProviderFactory {
private static final Set<Class<? extends Listener>> classes;
static {
Builder<Class<? extends Listener>> builder = ImmutableSet.builder();
builder.add(IdeCodeListener.class);
builder.add(IdeCommitListener.class);
builder.add(IdeDocumentListener.class);
builder.add(IdeElementListener.class);
builder.add(IdeFindListener.class);
builder.add(IdeProjectListener.class);
builder.add(IdeStateListener.class);
classes = builder.build();
}
public IdeListenerProviderFactory() {}
public ListenerProvider create(final ListenerProvider parent) {
return ListenerProviders.builder(parent).addAll(classes).build();
}
}