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;
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
-public class DummyFilter implements Filter {
+public class DummyFilter extends AbstractControlledComponent implements Filter {
/** The input stream from which to read. */
private InputStream inputStream;
/** The output stream to which to write. */
private OutputStream outputStream;
- /** The current metadata. */
- private Metadata metadata;
+ /**
+ * Creates a new dummy filter with the given name.
+ *
+ * @param name
+ * The name of the filter
+ */
+ public DummyFilter(String name) {
+ super(name);
+ }
//
// CONTROLLED METHODS
//
@Override
- public List<Controller> controllers() {
+ public List<Controller<?>> controllers() {
return Collections.emptyList();
}
@Override
public void open(Metadata metadata) throws IOException {
- this.metadata = metadata;
+ metadataUpdated(metadata);
inputStream = createInputStream();
outputStream = createOutputStream();
}
}
@Override
- public Metadata metadata() {
- return metadata;
- }
-
- @Override
- public void metadataUpdated(Metadata metadata) {
- this.metadata = metadata;
- }
-
- @Override
public void process(byte[] buffer) throws IOException {
outputStream.write(buffer);
outputStream.flush();