summaryrefslogtreecommitdiff
path: root/src/main/java/design/persistence/JSONPersonalDatabase.java
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/design/persistence/JSONPersonalDatabase.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/design/persistence/JSONPersonalDatabase.java b/src/main/java/design/persistence/JSONPersonalDatabase.java
index 0e95437..2f003cb 100644
--- a/src/main/java/design/persistence/JSONPersonalDatabase.java
+++ b/src/main/java/design/persistence/JSONPersonalDatabase.java
@@ -98,4 +98,21 @@ public class JSONPersonalDatabase implements PersonalDatabase {
cache.put(golfer.getUsername(), golfer);
save();
}
+
+ @Override
+ public File exportData() throws IOException{
+ save();
+ return file;
+ }
+
+ @Override
+ public void importData(File newFile) throws IOException {
+ Golfer[] newGolfers = mapper.readValue(newFile, Golfer[].class);
+ cache.clear();
+ for (Golfer g : newGolfers) {
+ cache.put(g.getUsername(), g);
+ }
+
+ save();
+ }
}