From 1c58e61ea691f6970809aa6eaf5223d4b78cb5b6 Mon Sep 17 00:00:00 2001 From: Michael Lizzio Date: Sun, 5 Oct 2025 15:13:52 -0400 Subject: Added sessions to keep track of current golfer throughout ui --- src/main/java/design/persistence/PersonalDatabase.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/main') diff --git a/src/main/java/design/persistence/PersonalDatabase.java b/src/main/java/design/persistence/PersonalDatabase.java index a045d59..886bd0b 100644 --- a/src/main/java/design/persistence/PersonalDatabase.java +++ b/src/main/java/design/persistence/PersonalDatabase.java @@ -8,8 +8,21 @@ public interface PersonalDatabase { PersonalDatabase INSTANCE = new JSONPersonalDatabase("data/personaldb.json"); Golfer[] getGolfers(); + Golfer getGolfer(String name); + void addGolfer(Golfer golfer) throws IOException; + void removeGolfer(Golfer golfer) throws IOException; + void updateGolfer(Golfer golfer) throws IOException; + + default Golfer loadOrCreateGolfer(String username, String fullNameIfNew, String pwIfNew) throws IOException { + Golfer g = getGolfer(username); + if (g != null) + return g; + g = new Golfer(fullNameIfNew, username, pwIfNew); + addGolfer(g); + return g; + } } -- cgit v1.2.3