diff options
Diffstat (limited to 'src/main/java/design/model/Play.java')
| -rw-r--r-- | src/main/java/design/model/Play.java | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/main/java/design/model/Play.java b/src/main/java/design/model/Play.java index 033de0f..2e083b9 100644 --- a/src/main/java/design/model/Play.java +++ b/src/main/java/design/model/Play.java @@ -1,19 +1,27 @@ package design.model; +import com.fasterxml.jackson.annotation.JsonCreator; + import java.util.ArrayList; import java.util.List; public class Play { - private final double distance; + private int holeNumber; private final List<Swing> swings; - public Play(int distance) { + @JsonCreator + public Play(int holeNumber, List<Swing> swings) { + this.holeNumber = holeNumber; + this.swings = (swings != null) ? swings : new ArrayList<>(); + } + + public Play(int holeNumber) { + this.holeNumber = holeNumber; this.swings = new ArrayList<>(); - this.distance = distance; } - public double getDistance() { - return distance; + public int getHoleNumber() { + return holeNumber; } public void addSwing(Swing swing) { @@ -27,4 +35,13 @@ public class Play { public int getSwingCount() { return swings.size(); } + + // Returns the sum of all swing distances + public int getDistance() { + int total = 0; + for (Swing s : swings) { + total += s.getDistance(); + } + return total; + } } |
