From 7de856cbb656d8b5fa88fed62380a8d4611060a1 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Tue, 11 Nov 2025 17:51:31 -0500 Subject: working on XML formatting --- src/main/java/design/model/Golfer.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/main/java/design/model/Golfer.java') diff --git a/src/main/java/design/model/Golfer.java b/src/main/java/design/model/Golfer.java index 960568f..1c4e669 100644 --- a/src/main/java/design/model/Golfer.java +++ b/src/main/java/design/model/Golfer.java @@ -1,6 +1,7 @@ package design.model; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.util.ArrayList; @@ -17,6 +18,8 @@ public class Golfer { private int nextClubId; private final List invites; + + @JsonCreator private Golfer(String username, int passwordHash, String fullName, List courses, List rounds, List clubs, List invites) { -- cgit v1.2.3 From 4d1ac032652e857a6d6bd63cadad0727ddb3a345 Mon Sep 17 00:00:00 2001 From: Jacob Shimp Date: Tue, 11 Nov 2025 19:32:27 -0500 Subject: potential implementation for playing in a league --- src/main/java/design/model/Golfer.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/main/java/design/model/Golfer.java') diff --git a/src/main/java/design/model/Golfer.java b/src/main/java/design/model/Golfer.java index 960568f..2e59987 100644 --- a/src/main/java/design/model/Golfer.java +++ b/src/main/java/design/model/Golfer.java @@ -16,10 +16,11 @@ public class Golfer { private final List clubs; // Keep track of golfer's clubs private int nextClubId; private final List invites; + private Team joinedTeam; @JsonCreator private Golfer(String username, int passwordHash, String fullName, List courses, List rounds, - List clubs, List invites) { + List clubs, List invites, Team joinedTeam) { this.username = username; this.passwordHash = passwordHash; this.fullName = fullName; @@ -28,6 +29,7 @@ public class Golfer { this.clubs = clubs; this.invites = invites != null ? invites : new ArrayList<>(); this.nextClubId = this.clubs.stream().mapToInt(Club::getId).max().orElse(0) + 1; + this.joinedTeam = joinedTeam; } public Golfer(String fullName, String username, String password) { @@ -39,6 +41,7 @@ public class Golfer { this.clubs = new ArrayList<>(); this.invites = new ArrayList<>(); this.nextClubId = 1; + this.joinedTeam = null; } public String getUsername() { @@ -127,4 +130,20 @@ public class Golfer { public Invite[] getInvites() { return invites.toArray(Invite[]::new); } + + public boolean joinTeam(Team team){ + for(Invite invite : invites){ + if(invite.getTeam().equals(team)){ + this.joinedTeam = team; + team.addMember(this); + invites.remove(invite); + return true; + } + } + return false; + } + + public Team getTeam(){ + return joinedTeam; + } } -- cgit v1.2.3