summaryrefslogtreecommitdiff
path: root/src/main/java/design/model/League.java
diff options
context:
space:
mode:
authorJacob Shimp <jrs9538@g.rit.edu>2025-11-11 19:32:27 -0500
committerJacob Shimp <jrs9538@g.rit.edu>2025-11-11 19:32:27 -0500
commit4d1ac032652e857a6d6bd63cadad0727ddb3a345 (patch)
tree2daab405febcec1af1086870fa1bdb175996dd4b /src/main/java/design/model/League.java
parenta0b662eccc6422348a1016dc71b8262eeeeee78f (diff)
downloaddesignproject-design-6-4d1ac032652e857a6d6bd63cadad0727ddb3a345.tar.gz
designproject-design-6-4d1ac032652e857a6d6bd63cadad0727ddb3a345.tar.bz2
designproject-design-6-4d1ac032652e857a6d6bd63cadad0727ddb3a345.zip
potential implementation for playing in a league
Diffstat (limited to 'src/main/java/design/model/League.java')
-rw-r--r--src/main/java/design/model/League.java23
1 files changed, 21 insertions, 2 deletions
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<Match> schedule;
+ private boolean completed;
@JsonCreator
protected League(int id, String name, Date registrationDate, Date startDate, Date endDate, Golfer owner, List<Match> 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();
}