summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/design/model/statistics/BaseStatistics.java12
-rw-r--r--src/main/java/design/model/statistics/CourseStats.java22
-rw-r--r--src/main/java/design/model/statistics/HoleStats.java22
-rw-r--r--src/main/java/design/model/statistics/LifetimeStats.java16
-rw-r--r--src/main/java/design/model/statistics/RoundStats.java22
-rw-r--r--src/main/java/design/model/statistics/Statistics.java6
-rw-r--r--src/main/java/design/model/statistics/StatisticsDecorator.java16
-rw-r--r--src/main/java/design/model/statistics/YearlyStats.java20
8 files changed, 136 insertions, 0 deletions
diff --git a/src/main/java/design/model/statistics/BaseStatistics.java b/src/main/java/design/model/statistics/BaseStatistics.java
new file mode 100644
index 0000000..f5b6c21
--- /dev/null
+++ b/src/main/java/design/model/statistics/BaseStatistics.java
@@ -0,0 +1,12 @@
+package design.model.statistics;
+
+public class BaseStatistics implements Statistics{
+ @Override
+ public int get_score(){
+ return 0;
+ }
+ @Override
+ public double get_distance(){
+ return 0.0;
+ }
+}
diff --git a/src/main/java/design/model/statistics/CourseStats.java b/src/main/java/design/model/statistics/CourseStats.java
new file mode 100644
index 0000000..47cc2c9
--- /dev/null
+++ b/src/main/java/design/model/statistics/CourseStats.java
@@ -0,0 +1,22 @@
+package design.model.statistics;
+
+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
new file mode 100644
index 0000000..64fa96c
--- /dev/null
+++ b/src/main/java/design/model/statistics/HoleStats.java
@@ -0,0 +1,22 @@
+package design.model.statistics;
+
+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
new file mode 100644
index 0000000..9c1236c
--- /dev/null
+++ b/src/main/java/design/model/statistics/LifetimeStats.java
@@ -0,0 +1,16 @@
+package design.model.statistics;
+
+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
new file mode 100644
index 0000000..f65a249
--- /dev/null
+++ b/src/main/java/design/model/statistics/RoundStats.java
@@ -0,0 +1,22 @@
+package design.model.statistics;
+
+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/Statistics.java b/src/main/java/design/model/statistics/Statistics.java
new file mode 100644
index 0000000..9b77f22
--- /dev/null
+++ b/src/main/java/design/model/statistics/Statistics.java
@@ -0,0 +1,6 @@
+package design.model.statistics;
+
+public interface Statistics {
+ public int get_score();
+ public double get_distance();
+}
diff --git a/src/main/java/design/model/statistics/StatisticsDecorator.java b/src/main/java/design/model/statistics/StatisticsDecorator.java
new file mode 100644
index 0000000..b0ba323
--- /dev/null
+++ b/src/main/java/design/model/statistics/StatisticsDecorator.java
@@ -0,0 +1,16 @@
+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();
+ }
+ @Override
+ public double get_distance(){
+ return wrapped_statistics.get_distance();
+ }
+}
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..026e2c5
--- /dev/null
+++ b/src/main/java/design/model/statistics/YearlyStats.java
@@ -0,0 +1,20 @@
+package design.model.statistics;
+
+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();
+ }
+}