summaryrefslogtreecommitdiff
path: root/src/main/java/design/persistence/JSONPersonalDatabase.java
diff options
context:
space:
mode:
authorWillem Dalton <144246261+WillemDalton@users.noreply.github.com>2025-11-05 15:26:56 -0500
committerGitHub <noreply@github.com>2025-11-05 15:26:56 -0500
commit17aba16fbb3272a73b1a1b6b1c459e3597fc066e (patch)
tree01ed290f8b3c524fc033d22fc25c9a6193c8cf10 /src/main/java/design/persistence/JSONPersonalDatabase.java
parentbac8ea587a6bd569d74a173ea8eeb59b7edc7417 (diff)
parent58d32481c71e5aee7c89dab3afc3b1e3bdb8c074 (diff)
downloaddesignproject-design-6-17aba16fbb3272a73b1a1b6b1c459e3597fc066e.tar.gz
designproject-design-6-17aba16fbb3272a73b1a1b6b1c459e3597fc066e.tar.bz2
designproject-design-6-17aba16fbb3272a73b1a1b6b1c459e3597fc066e.zip
Merge pull request #13 from RIT-SWEN-262/singleton-daos
Singleton daos
Diffstat (limited to 'src/main/java/design/persistence/JSONPersonalDatabase.java')
-rw-r--r--src/main/java/design/persistence/JSONPersonalDatabase.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/main/java/design/persistence/JSONPersonalDatabase.java b/src/main/java/design/persistence/JSONPersonalDatabase.java
index db613d9..70aa1ab 100644
--- a/src/main/java/design/persistence/JSONPersonalDatabase.java
+++ b/src/main/java/design/persistence/JSONPersonalDatabase.java
@@ -23,11 +23,20 @@ import java.util.Map;
public class JSONPersonalDatabase implements PersonalDatabase {
+ private static JSONPersonalDatabase INSTANCE;
+
+ public static JSONPersonalDatabase instance() {
+ if (INSTANCE == null) {
+ INSTANCE = new JSONPersonalDatabase("data/personaldb.json");
+ }
+ return INSTANCE;
+ }
+
private final Map<String, Golfer> cache;
private final ObjectMapper mapper;
private final File file;
- public JSONPersonalDatabase(String filename) {
+ private JSONPersonalDatabase(String filename) {
this.file = new File(filename);
this.cache = new HashMap<>();
this.mapper = new ObjectMapper();
@@ -101,7 +110,7 @@ public class JSONPersonalDatabase implements PersonalDatabase {
}
private static class CourseIdDeserializer extends JsonDeserializer<Course> {
- MasterDatabase masterDB = MasterDatabase.INSTANCE;
+ MasterDatabase masterDB = MasterDatabase.instance();
@Override
public Course deserialize(JsonParser p, DeserializationContext context) throws IOException {