X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Ffilter%2FDummyFilter.java;h=4b23c066646493534aa41d9c510f91a948a58f1f;hb=87436ac0b103a112722c1df835e11ec928e57d38;hp=a3ce0993299f8e60b5a54920bf10a6c4a851a7df;hpb=7188da95cfb6dc2bf140eb8ac7e4dc99a0761a97;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java b/src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java index a3ce099..4b23c06 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java +++ b/src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java @@ -24,10 +24,16 @@ import java.io.OutputStream; import java.io.PipedInputStream; import java.io.PipedOutputStream; import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import net.pterodactylus.sonitus.data.AbstractControlledComponent; +import net.pterodactylus.sonitus.data.Controller; import net.pterodactylus.sonitus.data.Filter; import net.pterodactylus.sonitus.data.Metadata; +import net.pterodactylus.sonitus.data.event.MetadataUpdated; +import com.google.common.eventbus.EventBus; import com.google.common.io.Closeables; /** @@ -35,7 +41,13 @@ import com.google.common.io.Closeables; * * @author David ‘Bombe’ Roden */ -public class DummyFilter implements Filter { +public class DummyFilter extends AbstractControlledComponent implements Filter { + + /** The name of this filter. */ + private final String name; + + /** The event bus. */ + private final EventBus eventBus; /** The input stream from which to read. */ private InputStream inputStream; @@ -46,13 +58,40 @@ public class DummyFilter implements Filter { /** The current metadata. */ private Metadata metadata; + /** + * Creates a new dummy filter with the given name. + * + * @param eventBus + * The event bus + * @param name + * The name of the filter + */ + public DummyFilter(EventBus eventBus, String name) { + this.eventBus = eventBus; + this.name = name; + } + + // + // CONTROLLED METHODS + // + + @Override + public String name() { + return name; + } + + @Override + public List> controllers() { + return Collections.emptyList(); + } + // // FILTER METHODS // @Override public void open(Metadata metadata) throws IOException { - this.metadata = metadata; + metadataUpdated(metadata); inputStream = createInputStream(); outputStream = createOutputStream(); } @@ -75,6 +114,8 @@ public class DummyFilter implements Filter { @Override public void metadataUpdated(Metadata metadata) { this.metadata = metadata; + fireMetadataUpdated(metadata); + eventBus.post(new MetadataUpdated(this, metadata)); } @Override