package kr.wisestone.owl.domain; import com.google.common.collect.Lists; import javax.persistence.*; import java.io.Serializable; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; /** * Created by wisestone on 2018-03-14. */ @Entity public class UserInvite extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; public static final String WORKSPACE_JOIN_READY = "01"; // 초대중 public static final String WORKSPACE_JOIN_COMPLETE = "02"; // 가입 완료 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String email; private String status; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "workspace_id") private Workspace workspace; @OneToMany(mappedBy="userInvite", cascade = {CascadeType.ALL}, orphanRemoval = true) private Set userInviteProjects = new HashSet<>(); public UserInvite() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public Workspace getWorkspace() { return workspace; } public void setWorkspace(Workspace workspace) { this.workspace = workspace; } public Set getUserInviteProjects() { return userInviteProjects; } public void setUserInviteProjects(Set userInviteProjects) { this.userInviteProjects = userInviteProjects; } public void removeUserInviteProject() { Iterator iterator = this.userInviteProjects.iterator(); while (iterator.hasNext()) { this.userInviteProjects.remove(iterator.next()); } } public void addUserInviteProjects(UserInviteProject userInviteProject) { this.userInviteProjects.add(userInviteProject); } }