package nl.topicus.konijn.data.entity; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import org.apache.wicket.authroles.authorization.strategies.role.Roles; @Entity @Table(name = "NabaztagUser", uniqueConstraints = @UniqueConstraint(columnNames = "username")) /** * User entity * * @author Joost Limburg * */ public class User extends BaseEntity { private static final long serialVersionUID = 1L; @Column(nullable = false) private String username; @Column(nullable = false) private String password; @OneToMany(mappedBy = "owner", cascade = { CascadeType.PERSIST, CascadeType.REMOVE }, fetch = FetchType.LAZY) private List<Nabaztag> nabaztags; @Column(nullable = false) private Roles roles; public User() { roles = new Roles(); } /** * Whether this user has the given role. * * @param role * @return whether this user has the given role */ public boolean hasRole(String role) { return this.roles.hasRole(role); } /** * Whether this user has any of the given roles. * * @param roles * set of roles * @return whether this user has any of the given roles */ public boolean hasAnyRole(Roles roles) { return this.roles.hasAnyRole(roles); } public void setUsername(String username) { this.username = username; } public String getUsername() { return username; } public void setPassword(String password) { this.password = password; } public String getPassword() { return password; } public void setRoles(String roles) { this.roles.add(roles); } public Roles getRoles() { return roles; } public void setNabaztags(List<Nabaztag> nabaztags) { this.nabaztags = nabaztags; } public List<Nabaztag> getNabaztags() { return nabaztags; } }