package opensnap.domain; import java.util.List; public class User extends Identifiable { private String username; private String password; private List<String> roles; public User() { } public User(String username) { this.username = username; } public User(String username, String password) { this.username = username; this.password = password; } public User(String username, String password, List<String> roles) { this.username = username; this.password = password; this.roles = roles; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public List<String> getRoles() { return roles; } public void setRoles(List<String> roles) { this.roles = roles; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof User)) return false; User user = (User) o; if (password != null ? !password.equals(user.password) : user.password != null) return false; if (username != null ? !username.equals(user.username) : user.username != null) return false; return true; } @Override public int hashCode() { int result = username != null ? username.hashCode() : 0; result = 31 * result + (password != null ? password.hashCode() : 0); return result; } public User withoutPassword() { return new User(username, null, roles); } public User withoutPasswordAndRoles() { return new User(username, null, null); } }