From 4d1ac032652e857a6d6bd63cadad0727ddb3a345 Mon Sep 17 00:00:00 2001 From: Jacob Shimp Date: Tue, 11 Nov 2025 19:32:27 -0500 Subject: potential implementation for playing in a league --- src/main/java/design/model/League.java | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/main/java/design/model/League.java') diff --git a/src/main/java/design/model/League.java b/src/main/java/design/model/League.java index 6dab033..1f4c9cb 100644 --- a/src/main/java/design/model/League.java +++ b/src/main/java/design/model/League.java @@ -14,6 +14,7 @@ public abstract class League { private final Date endDate; private final Golfer owner; private List schedule; + private boolean completed; @JsonCreator protected League(int id, String name, Date registrationDate, Date startDate, Date endDate, Golfer owner, List schedule) { @@ -24,6 +25,7 @@ public abstract class League { this.endDate = endDate; this.owner = owner; this.schedule = schedule; + this.completed = false; } public League(String name, Date registrationDate, Date startDate, Date endDate, Golfer owner) { @@ -34,6 +36,7 @@ public abstract class League { this.endDate = endDate; this.owner = owner; this.schedule = new ArrayList<>(); + this.completed = false; } public int getId() { @@ -64,9 +67,12 @@ public abstract class League { return schedule; } + public boolean isCompleted() { + return completed; + } + public void addMatchToSchedule(Match match) { - Date date = match.getDateScheduled(); - if(date.after(endDate)){ + if(match.getDateScheduled().after(endDate)){ throw new IllegalArgumentException("Cannot create match after league has ended"); } schedule.add(match); @@ -76,4 +82,17 @@ public abstract class League { assert this.id == -1; this.id = id; } + + public boolean isPlayable() { + Date now = new Date(); + return now.after(startDate) && now.before(endDate); + } + + public void markCompleted(){ + this.completed = true; + } + + public abstract void recordPlay(Golfer player, Match match, Round round); + + public abstract void finalizeLeague(); } -- cgit v1.2.3 From 0294bd3a3121d6166788594f7249bf293cb00896 Mon Sep 17 00:00:00 2001 From: sowgro Date: Thu, 13 Nov 2025 08:41:56 -0500 Subject: change league printing --- src/main/java/design/model/League.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/main/java/design/model/League.java') diff --git a/src/main/java/design/model/League.java b/src/main/java/design/model/League.java index 881e25f..fd756f9 100644 --- a/src/main/java/design/model/League.java +++ b/src/main/java/design/model/League.java @@ -87,4 +87,11 @@ public abstract class League { assert this.id == -1; this.id = id; } + + public abstract String getType(); + + @Override + public String toString() { + return String.format("%s - %s", name, getType()); + } } -- cgit v1.2.3