From 106c77d0621e486d5144fe3f57db684276845769 Mon Sep 17 00:00:00 2001 From: Jacob Shimp Date: Thu, 2 Oct 2025 08:31:26 -0400 Subject: added all files, no implementation yet --- src/main/java/design/model/statistics/HoleStats.java | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/main/java/design/model/statistics/HoleStats.java (limited to 'src/main/java/design/model/statistics/HoleStats.java') diff --git a/src/main/java/design/model/statistics/HoleStats.java b/src/main/java/design/model/statistics/HoleStats.java new file mode 100644 index 0000000..de3a5ff --- /dev/null +++ b/src/main/java/design/model/statistics/HoleStats.java @@ -0,0 +1,5 @@ +package design.model.statistics; + +public class HoleStats { + +} -- cgit v1.2.3 From ec252eb5546076fa457d389d42821ae62b0bc198 Mon Sep 17 00:00:00 2001 From: Jacob Shimp Date: Thu, 2 Oct 2025 08:50:08 -0400 Subject: added base implementations for all concrete decorators --- .../java/design/model/statistics/HoleStats.java | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/main/java/design/model/statistics/HoleStats.java') diff --git a/src/main/java/design/model/statistics/HoleStats.java b/src/main/java/design/model/statistics/HoleStats.java index de3a5ff..64fa96c 100644 --- a/src/main/java/design/model/statistics/HoleStats.java +++ b/src/main/java/design/model/statistics/HoleStats.java @@ -1,5 +1,22 @@ package design.model.statistics; -public class HoleStats { - +import design.model.Hole; + +public class HoleStats extends StatisticsDecorator{ + private Hole hole; + + public HoleStats(Statistics wrapped_statistics, Hole hole){ + super(wrapped_statistics); + this.hole = hole; + } + + @Override + public int get_score(){ + return super.get_score(); + } + + @Override + public double get_distance(){ + return super.get_distance(); + } } -- cgit v1.2.3 From b4919667c3455d8b517df6a72b7d37e0734d9155 Mon Sep 17 00:00:00 2001 From: Jacob Shimp Date: Fri, 3 Oct 2025 20:31:51 -0400 Subject: Implemented all decorators, replaced BaseStatistics with LifetimeStatistics since they would have been redundant --- src/main/java/design/model/statistics/HoleStats.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/main/java/design/model/statistics/HoleStats.java') diff --git a/src/main/java/design/model/statistics/HoleStats.java b/src/main/java/design/model/statistics/HoleStats.java index 64fa96c..2c023b4 100644 --- a/src/main/java/design/model/statistics/HoleStats.java +++ b/src/main/java/design/model/statistics/HoleStats.java @@ -1,22 +1,22 @@ package design.model.statistics; +import java.util.Arrays; + import design.model.Hole; +import design.model.Round; public class HoleStats extends StatisticsDecorator{ - private Hole hole; + private Hole target_hole; - public HoleStats(Statistics wrapped_statistics, Hole hole){ + public HoleStats(Statistics wrapped_statistics, Hole target_hole){ super(wrapped_statistics); - this.hole = hole; - } - - @Override - public int get_score(){ - return super.get_score(); + this.target_hole = target_hole; } @Override - public double get_distance(){ - return super.get_distance(); + public Round[] getRounds(){ + return Arrays.stream(super.getRounds()) + .filter(round -> round.getCourse().getHoles().stream().anyMatch(hole -> hole.equals(target_hole))) + .toArray(Round[]::new); } } -- cgit v1.2.3