X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=inline;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Fsink%2FFileSink.java;h=50113212a3906bb7e2304ec4846367a4e07ac077;hb=633a841142f978235ed9f745b6ba16c278963e62;hp=9bebc6b0066ec9104f5073a19697b45ba63753c8;hpb=09f8bd2297dc864e24baa67c65be97104e00c320;p=sonitus.git
diff --git a/src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java b/src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
index 9bebc6b..5011321 100644
--- a/src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
+++ b/src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
@@ -19,13 +19,10 @@ package net.pterodactylus.sonitus.data.sink;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
import java.util.logging.Logger;
-import net.pterodactylus.sonitus.data.Controller;
+import net.pterodactylus.sonitus.data.AbstractFilter;
import net.pterodactylus.sonitus.data.Metadata;
-import net.pterodactylus.sonitus.data.Sink;
/**
* {@link net.pterodactylus.sonitus.data.Sink} that writes all received data
@@ -33,7 +30,7 @@ import net.pterodactylus.sonitus.data.Sink;
*
* @author David âBombeâ Roden
*/
-public class FileSink implements Sink {
+public class FileSink extends AbstractFilter {
/** The logger. */
private static final Logger logger = Logger.getLogger(FileSink.class.getName());
@@ -41,6 +38,7 @@ public class FileSink implements Sink {
/** The path of the file to write to. */
private final String path;
+ /** The output stream writing to the file. */
private FileOutputStream fileOutputStream;
/**
@@ -50,30 +48,18 @@ public class FileSink implements Sink {
* The path of the file to write to
*/
public FileSink(String path) {
+ super(path);
this.path = path;
}
//
- // CONTROLLED METHODS
- //
-
- @Override
- public String name() {
- return path;
- }
-
- @Override
- public List> controllers() {
- return Collections.emptyList();
- }
-
- //
- // SINK METHODS
+ // FILTER METHODS
//
@Override
public void open(Metadata metadata) throws IOException {
fileOutputStream = new FileOutputStream(path);
+ metadataUpdated(metadata);
}
@Override
@@ -86,11 +72,6 @@ public class FileSink implements Sink {
}
@Override
- public void metadataUpdated(Metadata metadata) {
- /* ignore. */
- }
-
- @Override
public void process(byte[] buffer) throws IOException {
fileOutputStream.write(buffer);
logger.finest(String.format("FileSink: Wrote %d Bytes.", buffer.length));