X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Fsource%2FMultiSource.java;h=0ff1126da585358963b842c37e4c7fb7c28d8a47;hb=1cb3955aa53eee7acfbfd9228d60cfb6ddf747f3;hp=0779b1a64550a600cb17cf2299d48b40e6ef7b93;hpb=9a5bbdb694cda8f4bc0794aea136b993399961dd;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 0779b1a..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,39 +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.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