X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Fsource%2FMultiSource.java;h=0ff1126da585358963b842c37e4c7fb7c28d8a47;hb=a0057669de4cb82f613d0a2a765f145279cf2233;hp=81f4f7c1ac954ddc013234992111b83ae2a2dcbb;hpb=d07ec839a266057079d5a065176d46a0cc567b5d;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 81f4f7c..0ff1126 100644
--- a/src/main/java/net/pterodactylus/sonitus/data/source/MultiSource.java
+++ b/src/main/java/net/pterodactylus/sonitus/data/source/MultiSource.java
@@ -25,40 +25,64 @@ 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.DataPacket;
+import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Metadata;
-import net.pterodactylus.sonitus.data.Source;
-import net.pterodactylus.sonitus.data.event.MetadataUpdated;
-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