summaryrefslogtreecommitdiff
path: root/src/main/java/design/model/League.java
diff options
context:
space:
mode:
authorTyler Ferrari <69283684+Sowgro@users.noreply.github.com>2025-11-16 02:16:38 -0500
committerGitHub <noreply@github.com>2025-11-16 02:16:38 -0500
commit73dfd2dd419483c7d1060ef2fb40e328a0209e02 (patch)
tree456ed56e629a6324e5993b7ce094705c72e0b922 /src/main/java/design/model/League.java
parentb5d46c7701716bcb2dd6127aeb97f8fcdb7774fc (diff)
parent6ffc6b4cbd9e0c5ce2dc82a7c77f39b3adf849b6 (diff)
downloaddesignproject-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.java29
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();
}