package br.com.arsmachina.eloquentia.entity; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.persistence.Id; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import org.mongojack.ObjectId; import br.com.arsmachina.eloquentia.enums.Role; /** * Class that represents users of the blog. * * @author Thiago H. de Paula Figueiredo (http://machina.com.br/thiago) */ public class User implements Serializable { private static final long serialVersionUID = 1L; private String id; private String login; private String email; private String name; private String password; private List<Role> roles = new ArrayList<Role>(); @Id @ObjectId public String getId() { return id; } public void setId(String id) { this.id = id; } @NotNull @Size(min = 3, max = 100) public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @NotNull @Size(min = 3, max = 100) public String getName() { return name; } public void setName(String name) { this.name = name; } @NotNull @Size(min = 3, max = 100) public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } @NotNull @Size(min = 6, max = 50) public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @NotNull @Size(min = 1) public List<Role> getRoles() { return roles; } public void setRoles(List<Role> roles) { this.roles = roles; } @Override public String toString() { return "User [id=" + id + ", email=" + email + ", name=" + name + ", password=" + password + ", roles=" + roles + "]"; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((login == null) ? 0 : login.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof User)) { return false; } User other = (User) obj; if (login == null) { if (other.login != null) { return false; } } else if (!login.equals(other.login)) { return false; } return true; } }