summaryrefslogtreecommitdiff
path: root/src/main/java/design/persistence/JSONPersonalDatabase.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-10-26 14:42:40 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-10-26 14:42:40 -0400
commitf793ece34e825f9e6e6d84146d0dfc533ae6816b (patch)
tree88d9af0789d14c6a87d0dd022773a95381378fa0 /src/main/java/design/persistence/JSONPersonalDatabase.java
parent69c58b592cb496cad95165d32ebf99aa52268e5c (diff)
downloaddesignproject-design-6-f793ece34e825f9e6e6d84146d0dfc533ae6816b.tar.gz
designproject-design-6-f793ece34e825f9e6e6d84146d0dfc533ae6816b.tar.bz2
designproject-design-6-f793ece34e825f9e6e6d84146d0dfc533ae6816b.zip
Convert DAOs to proper singleton format
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 {