summaryrefslogtreecommitdiff
path: root/src/main/java/design/model/Play.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design/model/Play.java')
-rw-r--r--src/main/java/design/model/Play.java27
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;
+ }
}