diff options
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.java | 18 |
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); } } |