package spindles.api.domain; import static com.sleepycat.persist.model.Relationship.ONE_TO_ONE; import org.apache.commons.lang.Validate; import spindles.api.util.Util; import com.sleepycat.persist.model.Entity; import com.sleepycat.persist.model.SecondaryKey; @Entity public class User extends DomainObject { /** * */ private static transient final long serialVersionUID = -906027125431996690L; private static final User DEFAULT = new User("admin", "admin", Role.ADMIN, "Default user."); public static final String DEFAULT_USERNAME = "admin"; private String firstName; private String lastName; @SecondaryKey(relate=ONE_TO_ONE) private String userName; private String password; private String email; private String comments; private Role role; public User(String username, String password, Role role, String comments){ setUserName(username); setPassword(password); setRole(role); setComments(comments); } private User(){}; public static User getDefaultUser(){ return DEFAULT; } public User(String username, String password, Role role){ this(username, password, role, ""); } public String getComments() { return comments; } public void setComments(String comments) { this.comments = comments; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUserName() { return userName; } public void setUserName(String userName) { Validate.isTrue(!Util.isEmpty(userName), "Username cannot by empty"); this.userName = userName; } public Role getRole() { return role; } public void setRole(Role role) { this.role = role; } }