diff options
Diffstat (limited to 'src/main/java/design/model')
| -rw-r--r-- | src/main/java/design/model/statistics/LifetimeStats.java | 22 | ||||
| -rw-r--r-- | src/main/java/design/model/statistics/StatisticsDecorator.java | 2 |
2 files changed, 20 insertions, 4 deletions
diff --git a/src/main/java/design/model/statistics/LifetimeStats.java b/src/main/java/design/model/statistics/LifetimeStats.java index 9c1236c..9cefd7a 100644 --- a/src/main/java/design/model/statistics/LifetimeStats.java +++ b/src/main/java/design/model/statistics/LifetimeStats.java @@ -1,16 +1,32 @@ package design.model.statistics; +import design.model.Golfer; +import design.model.Play; +import design.model.Round; + public class LifetimeStats extends StatisticsDecorator{ - public LifetimeStats(Statistics wrapped_statistics){ + Golfer golfer; + public LifetimeStats(Statistics wrapped_statistics, Golfer golfer){ super(wrapped_statistics); + this.golfer = golfer; } @Override public int get_score(){ - return super.get_score(); + int baseStats = super.get_score(); + for(Round round : golfer.getRounds()){ + baseStats += round.getTotalSwings(); + } + return baseStats; } @Override public double get_distance(){ - return super.get_distance(); + double baseStats = super.get_distance(); + for(Round round : golfer.getRounds()){ + for(Play play : round.getPlays()){ + baseStats += play.getDistance(); + } + } + return baseStats; } } diff --git a/src/main/java/design/model/statistics/StatisticsDecorator.java b/src/main/java/design/model/statistics/StatisticsDecorator.java index b0ba323..96a2aaf 100644 --- a/src/main/java/design/model/statistics/StatisticsDecorator.java +++ b/src/main/java/design/model/statistics/StatisticsDecorator.java @@ -1,6 +1,6 @@ package design.model.statistics; -public class StatisticsDecorator implements Statistics{ +public abstract class StatisticsDecorator implements Statistics{ protected Statistics wrapped_statistics; public StatisticsDecorator(Statistics wrapped_statistics){ this.wrapped_statistics = wrapped_statistics; |
