diff options
| author | sowgro <tpoke.ferrari@gmail.com> | 2025-09-28 00:21:41 -0400 |
|---|---|---|
| committer | sowgro <tpoke.ferrari@gmail.com> | 2025-09-28 00:21:41 -0400 |
| commit | 42c080c022ddf8f3f3441923e67c150d7df33611 (patch) | |
| tree | c000d5e98d7b87e2daf5685496442f264731f4f2 /src/main/java/design/model/Round.java | |
| parent | 8a0096b0a9044d550d04d4355b67ba1495b8d5d3 (diff) | |
| download | designproject-design-6-42c080c022ddf8f3f3441923e67c150d7df33611.tar.gz designproject-design-6-42c080c022ddf8f3f3441923e67c150d7df33611.tar.bz2 designproject-design-6-42c080c022ddf8f3f3441923e67c150d7df33611.zip | |
Add basic classes for model and persistence interfaces
Diffstat (limited to 'src/main/java/design/model/Round.java')
| -rw-r--r-- | src/main/java/design/model/Round.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/design/model/Round.java b/src/main/java/design/model/Round.java new file mode 100644 index 0000000..38975da --- /dev/null +++ b/src/main/java/design/model/Round.java @@ -0,0 +1,45 @@ +package design.model; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +public class Round { + private final transient Course course; + private final LocalDateTime dateTime; + private final Hole startingHole; + private final List<Play> plays; + + public Round(Course course, LocalDateTime dateTime, Hole startingHole) { + this.course = course; + this.dateTime = dateTime; + this.startingHole = startingHole; + plays = new ArrayList<>(); + } + + public int getTotalSwings() { + return plays.stream() + .map(Play::getSwingCount) + .reduce(0, Integer::sum); + } + + public Course getCourse() { + return course; + } + + public LocalDateTime getDateTime() { + return dateTime; + } + + public Hole getStartingHole() { + return startingHole; + } + + public Play[] getPlays() { + return plays.toArray(Play[]::new); + } + + public void addPlay(Play play) { + plays.add(play); + } +} |
