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/CourseStats.java | 21 +++++++++++++++++++-- .../java/design/model/statistics/HoleStats.java | 21 +++++++++++++++++++-- .../java/design/model/statistics/LifetimeStats.java | 15 +++++++++++++-- .../java/design/model/statistics/RoundStats.java | 21 +++++++++++++++++++-- .../model/statistics/StatisticsDecorator.java | 3 +++ .../java/design/model/statistics/YearlyStats.java | 19 +++++++++++++++++-- 6 files changed, 90 insertions(+), 10 deletions(-) (limited to 'src/main/java/design/model/statistics') diff --git a/src/main/java/design/model/statistics/CourseStats.java b/src/main/java/design/model/statistics/CourseStats.java index 9336525..47cc2c9 100644 --- a/src/main/java/design/model/statistics/CourseStats.java +++ b/src/main/java/design/model/statistics/CourseStats.java @@ -1,5 +1,22 @@ package design.model.statistics; -public class CourseStats { - +import design.model.Course; + +public class CourseStats extends StatisticsDecorator{ + private Course course; + + public CourseStats(Statistics wrapped_statistics, Course course){ + super(wrapped_statistics); + this.course = course; + } + + @Override + public int get_score(){ + return super.get_score(); + } + + @Override + public double get_distance(){ + return super.get_distance(); + } } 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(); + } } diff --git a/src/main/java/design/model/statistics/LifetimeStats.java b/src/main/java/design/model/statistics/LifetimeStats.java index bb92a14..9c1236c 100644 --- a/src/main/java/design/model/statistics/LifetimeStats.java +++ b/src/main/java/design/model/statistics/LifetimeStats.java @@ -1,5 +1,16 @@ package design.model.statistics; -public class LifetimeStats { - +public class LifetimeStats extends StatisticsDecorator{ + public LifetimeStats(Statistics wrapped_statistics){ + super(wrapped_statistics); + } + @Override + public int get_score(){ + return super.get_score(); + } + + @Override + public double get_distance(){ + return super.get_distance(); + } } diff --git a/src/main/java/design/model/statistics/RoundStats.java b/src/main/java/design/model/statistics/RoundStats.java index 2683cb9..f65a249 100644 --- a/src/main/java/design/model/statistics/RoundStats.java +++ b/src/main/java/design/model/statistics/RoundStats.java @@ -1,5 +1,22 @@ package design.model.statistics; -public class RoundStats { - +import design.model.Round; + +public class RoundStats extends StatisticsDecorator{ + private Round round; + + public RoundStats(Statistics wrapped_statistics, Round round){ + super(wrapped_statistics); + this.round = round; + } + + @Override + public int get_score(){ + return super.get_score(); + } + + @Override + public double get_distance(){ + return super.get_distance(); + } } diff --git a/src/main/java/design/model/statistics/StatisticsDecorator.java b/src/main/java/design/model/statistics/StatisticsDecorator.java index f6aa43c..b0ba323 100644 --- a/src/main/java/design/model/statistics/StatisticsDecorator.java +++ b/src/main/java/design/model/statistics/StatisticsDecorator.java @@ -2,6 +2,9 @@ package design.model.statistics; public class StatisticsDecorator implements Statistics{ protected Statistics wrapped_statistics; + public StatisticsDecorator(Statistics wrapped_statistics){ + this.wrapped_statistics = wrapped_statistics; + } @Override public int get_score(){ return wrapped_statistics.get_score(); 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