diff options
| author | Jacob Shimp <jrs9538@g.rit.edu> | 2025-11-13 08:51:31 -0500 |
|---|---|---|
| committer | Jacob Shimp <jrs9538@g.rit.edu> | 2025-11-13 08:51:31 -0500 |
| commit | f79ab927050250c4b7e63a4fbd37034d4eeae8cd (patch) | |
| tree | 2e86ca8a13453baff59c2ca01df58be8ee18226b /src/main/java/design/model/Golfer.java | |
| parent | 0294bd3a3121d6166788594f7249bf293cb00896 (diff) | |
| parent | 4d1ac032652e857a6d6bd63cadad0727ddb3a345 (diff) | |
| download | designproject-design-6-f79ab927050250c4b7e63a4fbd37034d4eeae8cd.tar.gz designproject-design-6-f79ab927050250c4b7e63a4fbd37034d4eeae8cd.tar.bz2 designproject-design-6-f79ab927050250c4b7e63a4fbd37034d4eeae8cd.zip | |
merge league-play into league-model
Diffstat (limited to 'src/main/java/design/model/Golfer.java')
| -rw-r--r-- | src/main/java/design/model/Golfer.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/main/java/design/model/Golfer.java b/src/main/java/design/model/Golfer.java index 870b460..3b4770d 100644 --- a/src/main/java/design/model/Golfer.java +++ b/src/main/java/design/model/Golfer.java @@ -18,10 +18,12 @@ public class Golfer implements Originator { private final List<Round> rounds; private final List<Club> clubs; // Keep track of golfer's clubs private int nextClubId; + private final List<Invite> invites; + private Team joinedTeam; @JsonCreator private Golfer(String username, int passwordHash, String fullName, List<Course> courses, List<Round> rounds, - List<Club> clubs) { + List<Club> clubs, List<Invite> invites, Team joinedTeam) { this.username = username; this.passwordHash = passwordHash; this.fullName = fullName; @@ -29,6 +31,8 @@ public class Golfer implements Originator { this.rounds = rounds; this.clubs = clubs; this.nextClubId = this.clubs.stream().mapToInt(Club::getId).max().orElse(0) + 1; + this.invites = invites; + this.joinedTeam = joinedTeam; } public Golfer(String fullName, String username, String password) { @@ -39,6 +43,8 @@ public class Golfer implements Originator { this.rounds = new ArrayList<>(); this.clubs = new ArrayList<>(); this.nextClubId = 1; + this.invites = new ArrayList<>(); + this.joinedTeam = null; } public String getUsername() { @@ -161,4 +167,20 @@ public class Golfer implements Originator { this.nextClubId = gm.nextClubId; } + + 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; + } } |
