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/YearlyStats.java | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/main/java/design/model/statistics/YearlyStats.java (limited to 'src/main/java/design/model/statistics/YearlyStats.java') diff --git a/src/main/java/design/model/statistics/YearlyStats.java b/src/main/java/design/model/statistics/YearlyStats.java new file mode 100644 index 0000000..b523000 --- /dev/null +++ b/src/main/java/design/model/statistics/YearlyStats.java @@ -0,0 +1,5 @@ +package design.model.statistics; + +public class YearlyStats { + +} -- 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/YearlyStats.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/main/java/design/model/statistics/YearlyStats.java') diff --git a/src/main/java/design/model/statistics/YearlyStats.java b/src/main/java/design/model/statistics/YearlyStats.java index b523000..026e2c5 100644 --- a/src/main/java/design/model/statistics/YearlyStats.java +++ b/src/main/java/design/model/statistics/YearlyStats.java @@ -1,5 +1,20 @@ package design.model.statistics; -public class YearlyStats { - +public class YearlyStats extends StatisticsDecorator{ + private int year; + + public YearlyStats(Statistics wrapped_statistics, int year){ + super(wrapped_statistics); + this.year = year; + } + + @Override + public int get_score(){ + return super.get_score(); + } + + @Override + public double get_distance(){ + return super.get_distance(); + } } -- cgit v1.2.3 From 19101e44d4e658650b535eb14692446b098215e3 Mon Sep 17 00:00:00 2001 From: Jacob Shimp Date: Thu, 2 Oct 2025 12:08:59 -0400 Subject: adited lifetime stats --- src/main/java/design/model/statistics/YearlyStats.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/main/java/design/model/statistics/YearlyStats.java') diff --git a/src/main/java/design/model/statistics/YearlyStats.java b/src/main/java/design/model/statistics/YearlyStats.java index 026e2c5..856dda9 100644 --- a/src/main/java/design/model/statistics/YearlyStats.java +++ b/src/main/java/design/model/statistics/YearlyStats.java @@ -1,20 +1,26 @@ package design.model.statistics; +import design.model.Golfer; + public class YearlyStats extends StatisticsDecorator{ private int year; + private Golfer golfer; - public YearlyStats(Statistics wrapped_statistics, int year){ + public YearlyStats(Statistics wrapped_statistics, int year, Golfer golfer){ super(wrapped_statistics); this.year = year; + this.golfer = golfer; } @Override public int get_score(){ - return super.get_score(); + int baseStats = super.get_score(); + return baseStats; } @Override public double get_distance(){ - return super.get_distance(); + double baseStats = super.get_distance(); + return baseStats; } } -- 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 --- .../java/design/model/statistics/YearlyStats.java | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'src/main/java/design/model/statistics/YearlyStats.java') diff --git a/src/main/java/design/model/statistics/YearlyStats.java b/src/main/java/design/model/statistics/YearlyStats.java index 856dda9..4c5d078 100644 --- a/src/main/java/design/model/statistics/YearlyStats.java +++ b/src/main/java/design/model/statistics/YearlyStats.java @@ -1,26 +1,21 @@ package design.model.statistics; -import design.model.Golfer; +import java.util.Arrays; + +import design.model.Round; public class YearlyStats extends StatisticsDecorator{ private int year; - private Golfer golfer; - public YearlyStats(Statistics wrapped_statistics, int year, Golfer golfer){ + public YearlyStats(Statistics wrapped_statistics, int year){ super(wrapped_statistics); this.year = year; - this.golfer = golfer; - } - - @Override - public int get_score(){ - int baseStats = super.get_score(); - return baseStats; } @Override - public double get_distance(){ - double baseStats = super.get_distance(); - return baseStats; + public Round[] getRounds(){ + return Arrays.stream(super.getRounds()) + .filter(round -> round.getDateTime().getYear() == year) + .toArray(Round[]::new); } } -- cgit v1.2.3