diff options
Diffstat (limited to 'src/main/java/design/model/League.java')
| -rw-r--r-- | src/main/java/design/model/League.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/design/model/League.java b/src/main/java/design/model/League.java new file mode 100644 index 0000000..0252f89 --- /dev/null +++ b/src/main/java/design/model/League.java @@ -0,0 +1,62 @@ +package design.model; + +import com.fasterxml.jackson.annotation.JsonCreator; + +import java.util.Date; + +public abstract class League { + private int id; + private final String name; + private final Date registrationDate; + private final Date startDate; + private final Date endDate; + private final Golfer owner; + + @JsonCreator + protected League(int id, String name, Date registrationDate, Date startDate, Date endDate, Golfer owner) { + this.id = id; + this.name = name; + this.registrationDate = registrationDate; + this.startDate = startDate; + this.endDate = endDate; + this.owner = owner; + } + + public League(String name, Date registrationDate, Date startDate, Date endDate, Golfer owner) { + this.id = -1; + this.name = name; + this.registrationDate = registrationDate; + this.startDate = startDate; + this.endDate = endDate; + this.owner = owner; + } + + public int getId() { + return id; + } + + public String getName() { + return name; + } + + public Date getRegistrationDate() { + return registrationDate; + } + + public Date getStartDate() { + return startDate; + } + + public Date getEndDate() { + return endDate; + } + + public Golfer getOwner() { + return owner; + } + + public void setId(int id) { + assert this.id == -1; + this.id = id; + } +} |
