From e8e05aa176be4babf5c28a7697e2d057077d2794 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sun, 9 Nov 2025 01:06:16 -0500 Subject: make id system consistent --- src/main/java/design/model/Club.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/main/java/design/model/Club.java') 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); -- cgit v1.2.3