package design.persistence; import design.model.Golfer; import java.io.IOException; 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; } }