summaryrefslogtreecommitdiff
path: root/src/main/java/design/model/Golfer.java
diff options
context:
space:
mode:
authorJacob Shimp <jrs9538@g.rit.edu>2025-11-13 08:51:31 -0500
committerJacob Shimp <jrs9538@g.rit.edu>2025-11-13 08:51:31 -0500
commitf79ab927050250c4b7e63a4fbd37034d4eeae8cd (patch)
tree2e86ca8a13453baff59c2ca01df58be8ee18226b /src/main/java/design/model/Golfer.java
parent0294bd3a3121d6166788594f7249bf293cb00896 (diff)
parent4d1ac032652e857a6d6bd63cadad0727ddb3a345 (diff)
downloaddesignproject-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 '')
-rw-r--r--src/main/java/design/model/Golfer.java24
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;
+ }
}