diff options
| author | Jacob Shimp <jrs9538@g.rit.edu> | 2025-11-13 08:51:31 -0500 |
|---|---|---|
| committer | Jacob Shimp <jrs9538@g.rit.edu> | 2025-11-13 08:51:31 -0500 |
| commit | f79ab927050250c4b7e63a4fbd37034d4eeae8cd (patch) | |
| tree | 2e86ca8a13453baff59c2ca01df58be8ee18226b /src/main/java/design/model/League.java | |
| parent | 0294bd3a3121d6166788594f7249bf293cb00896 (diff) | |
| parent | 4d1ac032652e857a6d6bd63cadad0727ddb3a345 (diff) | |
| download | designproject-design-6-f79ab927050250c4b7e63a4fbd37034d4eeae8cd.tar.gz designproject-design-6-f79ab927050250c4b7e63a4fbd37034d4eeae8cd.tar.bz2 designproject-design-6-f79ab927050250c4b7e63a4fbd37034d4eeae8cd.zip | |
merge league-play into league-model
Diffstat (limited to 'src/main/java/design/model/League.java')
| -rw-r--r-- | src/main/java/design/model/League.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/design/model/League.java b/src/main/java/design/model/League.java index fd756f9..8793c86 100644 --- a/src/main/java/design/model/League.java +++ b/src/main/java/design/model/League.java @@ -25,6 +25,7 @@ public abstract class League { private final Date endDate; private final Golfer owner; private final List<Match> schedule; + private boolean completed; @JsonCreator protected League(int id, String name, Date registrationDate, Date startDate, Date endDate, Golfer owner, List<Match> schedule) { @@ -35,6 +36,7 @@ public abstract class League { this.endDate = endDate; this.owner = owner; this.schedule = schedule != null ? schedule : new ArrayList<>(); + this.completed = false; } public League(String name, Date registrationDate, Date startDate, Date endDate, Golfer owner) { @@ -45,6 +47,7 @@ public abstract class League { this.endDate = endDate; this.owner = owner; this.schedule = new ArrayList<>(); + this.completed = false; } public int getId() { @@ -75,9 +78,12 @@ public abstract class League { return schedule.toArray(Match[]::new); } + 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); @@ -94,4 +100,16 @@ public abstract class League { public String toString() { return String.format("%s - %s", name, getType()); } + 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(); } |
