diff options
| author | Tyler Ferrari <69283684+Sowgro@users.noreply.github.com> | 2025-11-16 02:16:38 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-16 02:16:38 -0500 |
| commit | 73dfd2dd419483c7d1060ef2fb40e328a0209e02 (patch) | |
| tree | 456ed56e629a6324e5993b7ce094705c72e0b922 /src/main/java/design/model/League.java | |
| parent | b5d46c7701716bcb2dd6127aeb97f8fcdb7774fc (diff) | |
| parent | 6ffc6b4cbd9e0c5ce2dc82a7c77f39b3adf849b6 (diff) | |
| download | designproject-design-6-73dfd2dd419483c7d1060ef2fb40e328a0209e02.tar.gz designproject-design-6-73dfd2dd419483c7d1060ef2fb40e328a0209e02.tar.bz2 designproject-design-6-73dfd2dd419483c7d1060ef2fb40e328a0209e02.zip | |
Merge pull request #21 from RIT-SWEN-262/league-model
League model
Diffstat (limited to 'src/main/java/design/model/League.java')
| -rw-r--r-- | src/main/java/design/model/League.java | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/main/java/design/model/League.java b/src/main/java/design/model/League.java index 881e25f..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); @@ -87,4 +93,23 @@ 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()); + } + 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(); } |
