From c9dbbbf82277036d15a180b0e8609b6dfccb50bd Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Mon, 29 Sep 2025 18:26:42 -0400 Subject: progress on implementing strategy pattern --- src/main/java/design/model/Play.java | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 src/main/java/design/model/Play.java (limited to 'src/main/java/design/model/Play.java') diff --git a/src/main/java/design/model/Play.java b/src/main/java/design/model/Play.java deleted file mode 100644 index b61228b..0000000 --- a/src/main/java/design/model/Play.java +++ /dev/null @@ -1,30 +0,0 @@ -package design.model; - -import java.util.ArrayList; -import java.util.List; - -public class Play { - private final int distance; - private final List swings; - - public Play(int distance) { - this.swings = new ArrayList<>(); - this.distance = distance; - } - - public int getDistance() { - return distance; - } - - public void addSwing(Swing swing) { - swings.add(swing); - } - - public Swing[] getSwings() { - return swings.toArray(Swing[]::new); - } - - public int getSwingCount() { - return swings.size(); - } -} -- cgit v1.2.3 From e218e35f333f8a30d213c7d3eebeb6f5f6bbcea3 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Thu, 2 Oct 2025 08:55:33 -0400 Subject: more progress on the strategy, unit testing --- src/main/java/design/model/Play.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/design/model/Play.java (limited to 'src/main/java/design/model/Play.java') diff --git a/src/main/java/design/model/Play.java b/src/main/java/design/model/Play.java new file mode 100644 index 0000000..b61228b --- /dev/null +++ b/src/main/java/design/model/Play.java @@ -0,0 +1,30 @@ +package design.model; + +import java.util.ArrayList; +import java.util.List; + +public class Play { + private final int distance; + private final List swings; + + public Play(int distance) { + this.swings = new ArrayList<>(); + this.distance = distance; + } + + public int getDistance() { + return distance; + } + + public void addSwing(Swing swing) { + swings.add(swing); + } + + public Swing[] getSwings() { + return swings.toArray(Swing[]::new); + } + + public int getSwingCount() { + return swings.size(); + } +} -- cgit v1.2.3 From d982cfe8a22ec7eb89186fed875a483a51c3505f Mon Sep 17 00:00:00 2001 From: sowgro Date: Fri, 3 Oct 2025 00:31:02 -0400 Subject: Add code to handle id serialization --- src/main/java/design/model/Play.java | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/main/java/design/model/Play.java') diff --git a/src/main/java/design/model/Play.java b/src/main/java/design/model/Play.java index b61228b..cf44cd8 100644 --- a/src/main/java/design/model/Play.java +++ b/src/main/java/design/model/Play.java @@ -7,6 +7,12 @@ public class Play { private final int distance; private final List swings; + // for deserialization + private Play(int distance, List swings) { + this.distance = distance; + this.swings = swings; + } + public Play(int distance) { this.swings = new ArrayList<>(); this.distance = distance; -- cgit v1.2.3 From 29c4a7caffea3957b8ac5f6be13d640c1a798989 Mon Sep 17 00:00:00 2001 From: sowgro Date: Fri, 3 Oct 2025 20:37:43 -0400 Subject: Serialization fully working --- src/main/java/design/model/Play.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main/java/design/model/Play.java') diff --git a/src/main/java/design/model/Play.java b/src/main/java/design/model/Play.java index cf44cd8..ca6dac2 100644 --- a/src/main/java/design/model/Play.java +++ b/src/main/java/design/model/Play.java @@ -1,5 +1,7 @@ package design.model; +import com.fasterxml.jackson.annotation.JsonCreator; + import java.util.ArrayList; import java.util.List; @@ -7,7 +9,7 @@ public class Play { private final int distance; private final List swings; - // for deserialization + @JsonCreator private Play(int distance, List swings) { this.distance = distance; this.swings = swings; -- cgit v1.2.3