Expose metadata from every controlled component.
[sonitus.git] / src / main / java / net / pterodactylus / sonitus / data / sink / FileSink.java
index f3600f0..92dd59a 100644 (file)
@@ -43,6 +43,9 @@ public class FileSink implements Sink {
 
        private FileOutputStream fileOutputStream;
 
+       /** The current metadata. */
+       private Metadata metadata;
+
        /**
         * Creates a new file sink that will write to the given path.
         *
@@ -58,7 +61,17 @@ public class FileSink implements Sink {
        //
 
        @Override
-       public List<Controller> controllers() {
+       public String name() {
+               return path;
+       }
+
+       @Override
+       public Metadata metadata() {
+               return metadata;
+       }
+
+       @Override
+       public List<Controller<?>> controllers() {
                return Collections.emptyList();
        }
 
@@ -69,6 +82,7 @@ public class FileSink implements Sink {
        @Override
        public void open(Metadata metadata) throws IOException {
                fileOutputStream = new FileOutputStream(path);
+               metadataUpdated(metadata);
        }
 
        @Override
@@ -82,7 +96,7 @@ public class FileSink implements Sink {
 
        @Override
        public void metadataUpdated(Metadata metadata) {
-               /* ignore. */
+               this.metadata = metadata;
        }
 
        @Override