diff options
| author | sowgro <tpoke.ferrari@gmail.com> | 2025-11-09 01:06:16 -0500 |
|---|---|---|
| committer | sowgro <tpoke.ferrari@gmail.com> | 2025-11-09 01:06:16 -0500 |
| commit | e8e05aa176be4babf5c28a7697e2d057077d2794 (patch) | |
| tree | 2a91c41921ecf8ecce21001b63006d23c30248c1 /src/main/java/design/model | |
| parent | 7a87c716e85a12c72c24173b88b2e07729d85241 (diff) | |
| download | designproject-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.java | 18 | ||||
| -rw-r--r-- | src/main/java/design/model/Golfer.java | 4 |
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; } |
