aboutsummaryrefslogtreecommitdiffstats
path: root/config/src/main/java/com/yahoo/config/subscription/FileSource.java
diff options
context:
space:
mode:
Diffstat (limited to 'config/src/main/java/com/yahoo/config/subscription/FileSource.java')
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/FileSource.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/FileSource.java b/config/src/main/java/com/yahoo/config/subscription/FileSource.java
index 2178c64cca3..9d3c6041f4b 100644
--- a/config/src/main/java/com/yahoo/config/subscription/FileSource.java
+++ b/config/src/main/java/com/yahoo/config/subscription/FileSource.java
@@ -2,23 +2,35 @@
package com.yahoo.config.subscription;
import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.List;
/**
* Source specifying config from one local file
*
* @author Vegard Havdal
+ * @author jonmv
*/
public class FileSource implements ConfigSource {
private final File file;
public FileSource(File file) {
- if ( ! file.isFile()) throw new IllegalArgumentException("Not an ordinary file: "+file);
this.file = file;
+ validateFile();
}
- public File getFile() {
- return file;
+ public long getLastModified() {
+ return file.lastModified();
+ }
+
+ public List<String> getContent() throws IOException {
+ return Files.readAllLines(file.toPath());
+ }
+
+ public void validateFile() {
+ if ( ! file.isFile()) throw new IllegalArgumentException("Not a file: " + file);
}
}