summaryrefslogtreecommitdiff
path: root/src/main/java/design/model
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-11-09 01:06:16 -0500
committersowgro <tpoke.ferrari@gmail.com>2025-11-09 01:06:16 -0500
commite8e05aa176be4babf5c28a7697e2d057077d2794 (patch)
tree2a91c41921ecf8ecce21001b63006d23c30248c1 /src/main/java/design/model
parent7a87c716e85a12c72c24173b88b2e07729d85241 (diff)
downloaddesignproject-design-6-e8e05aa176be4babf5c28a7697e2d057077d2794.tar.gz
designproject-design-6-e8e05aa176be4babf5c28a7697e2d057077d2794.tar.bz2
designproject-design-6-e8e05aa176be4babf5c28a7697e2d057077d2794.zip
make id system consistent
Diffstat (limited to 'src/main/java/design/model')
-rw-r--r--src/main/java/design/model/Club.java18
-rw-r--r--src/main/java/design/model/Golfer.java4
2 files changed, 18 insertions, 4 deletions
diff --git a/src/main/java/design/model/Club.java b/src/main/java/design/model/Club.java
index b12fd99..c19811c 100644
--- a/src/main/java/design/model/Club.java
+++ b/src/main/java/design/model/Club.java
@@ -1,5 +1,6 @@
package design.model;
+import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
@@ -21,18 +22,26 @@ public class Club {
PUTTER
}
- private final int id;
+ private int id;
private final String manufacture;
private final String nickname;
private final ClubType clubType;
- public Club(int id, String manufacture, String nickname, ClubType clubType) {
+ @JsonCreator
+ private Club(int id, String manufacture, String nickname, ClubType clubType) {
this.id = id;
this.manufacture = manufacture;
this.nickname = nickname;
this.clubType = clubType;
}
+ public Club(String manufacture, String nickname, ClubType clubType) {
+ this.id = -1;
+ this.manufacture = manufacture;
+ this.nickname = nickname;
+ this.clubType = clubType;
+ }
+
public int getId() {
return id;
}
@@ -49,6 +58,11 @@ public class Club {
return clubType;
}
+ public void setId(int id) {
+ assert this.id == -1;
+ this.id = id;
+ }
+
@Override
public String toString() {
return String.format("#%d %s - %s (%s)", id, nickname, manufacture, clubType);
diff --git a/src/main/java/design/model/Golfer.java b/src/main/java/design/model/Golfer.java
index 48daae8..38a3ba9 100644
--- a/src/main/java/design/model/Golfer.java
+++ b/src/main/java/design/model/Golfer.java
@@ -86,8 +86,8 @@ public class Golfer {
rounds.add(round);
}
- public Club addClub(String manufacture, String nickname, Club.ClubType type) {
- Club c = new Club(nextClubId++, manufacture, nickname, type);
+ public Club addClub(Club c) {
+ c.setId(nextClubId++);
clubs.add(c);
return c;
}