diff options
| author | Willem Dalton <144246261+WillemDalton@users.noreply.github.com> | 2025-10-12 12:36:17 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-12 12:36:17 -0400 |
| commit | ab1c8dbf8e3fbd7ae1affd17e7b5596b1e58e839 (patch) | |
| tree | 91ed2c27e9735e05c8569f48e1130a95a7bdeb46 /src/main/java/design/model | |
| parent | 1eca2f8681752ad359e8372780cdf719e2b1747d (diff) | |
| parent | 050118d5d029382ffc3b11e9f8159fb297007ef5 (diff) | |
| download | designproject-design-6-ab1c8dbf8e3fbd7ae1affd17e7b5596b1e58e839.tar.gz designproject-design-6-ab1c8dbf8e3fbd7ae1affd17e7b5596b1e58e839.tar.bz2 designproject-design-6-ab1c8dbf8e3fbd7ae1affd17e7b5596b1e58e839.zip | |
Merge pull request #12 from RIT-SWEN-262/menu-reorganize
Menu reorganize
Diffstat (limited to 'src/main/java/design/model')
| -rw-r--r-- | src/main/java/design/model/Club.java | 8 | ||||
| -rw-r--r-- | src/main/java/design/model/Course.java | 6 | ||||
| -rw-r--r-- | src/main/java/design/model/Golfer.java | 21 | ||||
| -rw-r--r-- | src/main/java/design/model/Swing.java | 4 |
4 files changed, 35 insertions, 4 deletions
diff --git a/src/main/java/design/model/Club.java b/src/main/java/design/model/Club.java index 9fa3c87..b12fd99 100644 --- a/src/main/java/design/model/Club.java +++ b/src/main/java/design/model/Club.java @@ -1,5 +1,13 @@ package design.model; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; + +@JsonIdentityInfo( + generator = ObjectIdGenerators.PropertyGenerator.class, + property = "id", + scope = Club.class +) public class Club { public enum ClubType { diff --git a/src/main/java/design/model/Course.java b/src/main/java/design/model/Course.java index c199563..ce7c0e3 100644 --- a/src/main/java/design/model/Course.java +++ b/src/main/java/design/model/Course.java @@ -1,6 +1,5 @@ package design.model; -import design.model.course_search.CourseList; import design.model.course_search.ICourse; import java.util.List; @@ -9,7 +8,7 @@ public class Course implements ICourse { private final int id; private final String name; - private final int difficultyRating; + private final float difficultyRating; private final String location; private final int holeCount; private final int totalPar; @@ -61,6 +60,7 @@ public class Course implements ICourse { @Override public String toString() { - return name + ", " + location + ", " + difficultyRating + ", " + holeCount + ", " + totalPar; + return String.format("%s (%s) | Holes: %d | Total Par: %d | Difficulty: %.1f", + name, location, holeCount, totalPar, difficultyRating); } } diff --git a/src/main/java/design/model/Golfer.java b/src/main/java/design/model/Golfer.java index d34073f..48daae8 100644 --- a/src/main/java/design/model/Golfer.java +++ b/src/main/java/design/model/Golfer.java @@ -1,10 +1,12 @@ package design.model; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.util.ArrayList; import java.util.List; +@JsonPropertyOrder({ "clubs", "nextClubId" }) public class Golfer { private String username; private int passwordHash; @@ -12,7 +14,7 @@ public class Golfer { private final List<Course> courses; private final List<Round> rounds; private final List<Club> clubs; // Keep track of golfer's clubs - private int nextClubId = 1; + private int nextClubId; @JsonCreator private Golfer(String username, int passwordHash, String fullName, List<Course> courses, List<Round> rounds, @@ -72,6 +74,10 @@ public class Golfer { courses.remove(course); } + public boolean hasCourses() { + return !courses.isEmpty(); + } + public Round[] getRounds() { return rounds.toArray(Round[]::new); } @@ -86,6 +92,10 @@ public class Golfer { return c; } + public boolean hasClubs() { + return !clubs.isEmpty(); + } + public boolean hasClub(Club c) { return clubs.contains(c); } @@ -93,4 +103,13 @@ public class Golfer { public Club[] getClubs() { return clubs.toArray(Club[]::new); } + + @Override + public String toString() { + return String.format("%s (@%s)", fullName, username); + } + + public void removeClub(Club c) { + clubs.remove(c); + } } diff --git a/src/main/java/design/model/Swing.java b/src/main/java/design/model/Swing.java index a93b66f..43c20f0 100644 --- a/src/main/java/design/model/Swing.java +++ b/src/main/java/design/model/Swing.java @@ -1,7 +1,11 @@ package design.model; +import com.fasterxml.jackson.annotation.JsonIdentityReference; + public class Swing { private final int distance; + + @JsonIdentityReference(alwaysAsId = true) private final Club clubUsed; public Swing(int distance, Club clubUsed) { |
