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 {
-
- /** The name of this filter. */
- private final String name;
+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.
*
* The name of the filter
*/
public DummyFilter(String name) {
- this.name = name;
+ super(name);
}
//
//
@Override
- public String name() {
- return name;
- }
-
- @Override
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();