summaryrefslogtreecommitdiff
path: root/src/main/java/design/model/League.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design/model/League.java')
-rw-r--r--src/main/java/design/model/League.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/design/model/League.java b/src/main/java/design/model/League.java
index 6621513..6dab033 100644
--- a/src/main/java/design/model/League.java
+++ b/src/main/java/design/model/League.java
@@ -2,6 +2,7 @@ package design.model;
import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -12,6 +13,7 @@ public abstract class League {
private final Date startDate;
private final Date endDate;
private final Golfer owner;
+ private List<Match> schedule;
@JsonCreator
protected League(int id, String name, Date registrationDate, Date startDate, Date endDate, Golfer owner, List<Match> schedule) {
@@ -21,6 +23,7 @@ public abstract class League {
this.startDate = startDate;
this.endDate = endDate;
this.owner = owner;
+ this.schedule = schedule;
}
public League(String name, Date registrationDate, Date startDate, Date endDate, Golfer owner) {
@@ -30,6 +33,7 @@ public abstract class League {
this.startDate = startDate;
this.endDate = endDate;
this.owner = owner;
+ this.schedule = new ArrayList<>();
}
public int getId() {
@@ -56,6 +60,18 @@ public abstract class League {
return owner;
}
+ public List<Match> getSchedule() {
+ return schedule;
+ }
+
+ public void addMatchToSchedule(Match match) {
+ Date date = match.getDateScheduled();
+ if(date.after(endDate)){
+ throw new IllegalArgumentException("Cannot create match after league has ended");
+ }
+ schedule.add(match);
+ }
+
public void setId(int id) {
assert this.id == -1;
this.id = id;