X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Fsource%2FMultiSource.java;h=b8afd82edf08354e5723f9e1781229a212767baf;hb=633a841142f978235ed9f745b6ba16c278963e62;hp=a1d0202f957aabbfd48ad4491eee317db61d0472;hpb=09f8bd2297dc864e24baa67c65be97104e00c320;p=sonitus.git
diff --git a/src/main/java/net/pterodactylus/sonitus/data/source/MultiSource.java b/src/main/java/net/pterodactylus/sonitus/data/source/MultiSource.java
index a1d0202..b8afd82 100644
--- a/src/main/java/net/pterodactylus/sonitus/data/source/MultiSource.java
+++ b/src/main/java/net/pterodactylus/sonitus/data/source/MultiSource.java
@@ -25,39 +25,63 @@ import java.util.Collections;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Logger;
+import javax.swing.event.EventListenerList;
+import net.pterodactylus.sonitus.data.AbstractFilter;
import net.pterodactylus.sonitus.data.Controller;
+import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Metadata;
-import net.pterodactylus.sonitus.data.Source;
-import net.pterodactylus.sonitus.data.event.SourceFinishedEvent;
-import com.google.common.eventbus.EventBus;
import com.google.inject.Inject;
/**
- * {@link Source} implementation that simply forwards another source and
- * supports changing the source without letting the {@link
- * net.pterodactylus.sonitus.data.Sink} know.
+ * {@link Filter} implementation that simply forwards data from another filter
+ * and supports changing the source without letting downstream filters know.
*
* @author David âBombeâ Roden
*/
-public class MultiSource implements Source {
+public class MultiSource extends AbstractFilter {
/** The logger. */
private static final Logger logger = Logger.getLogger(MultiSource.class.getName());
- /** The event bus. */
- private final EventBus eventBus;
+ /** The source finished listeners. */
+ private final EventListenerList sourceFinishedListeners = new EventListenerList();
/** The current source. */
- private final AtomicReference