package com.github.windbender.domain;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.joda.time.DateTime;
@Entity
@Table(name="users")
public class User implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "id", nullable=false)
private int id;
@Column(name="username", nullable=false)
String username;
public User(String username) {
this.username = username;
}
public User() {
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", email=" + email
+ "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((email == null) ? 0 : email.hashCode());
result = prime * result + id;
result = prime * result
+ ((username == null) ? 0 : username.hashCode());
result = prime * result
+ ((verified == null) ? 0 : verified.hashCode());
result = prime * result
+ ((verifyCode == null) ? 0 : verifyCode.hashCode());
result = prime
* result
+ ((verifyCodeSentDate == null) ? 0 : verifyCodeSentDate
.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (email == null) {
if (other.email != null)
return false;
} else if (!email.equals(other.email))
return false;
if (id != other.id)
return false;
if (username == null) {
if (other.username != null)
return false;
} else if (!username.equals(other.username))
return false;
if (verified == null) {
if (other.verified != null)
return false;
} else if (!verified.equals(other.verified))
return false;
if (verifyCode == null) {
if (other.verifyCode != null)
return false;
} else if (!verifyCode.equals(other.verifyCode))
return false;
if (verifyCodeSentDate == null) {
if (other.verifyCodeSentDate != null)
return false;
} else if (!verifyCodeSentDate.equals(other.verifyCodeSentDate))
return false;
return true;
}
public Integer getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getVerifyCode() {
return verifyCode;
}
public void setVerifyCode(String verifyCode) {
this.verifyCode = verifyCode;
}
public DateTime getVerifyCodeSentDate() {
return verifyCodeSentDate;
}
public void setVerifyCodeSentDate(DateTime verifyCodeSentDate) {
this.verifyCodeSentDate = verifyCodeSentDate;
}
public Boolean getVerified() {
return verified;
}
public void setVerified(Boolean verified) {
this.verified = verified;
}
transient String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Column(name="hashedpassword", nullable=false)
String hashedPassword;
public String getHashedPassword() {
return hashedPassword;
}
public void setHashedPassword(String hashedPassword) {
this.hashedPassword = hashedPassword;
}
@Column(name="email", nullable=true)
String email;
@Column(name="verifyCode", nullable=true)
String verifyCode;
@Column(name="verifyCodeSentDate", nullable=true)
DateTime verifyCodeSentDate;
@Column(name="verified", nullable=true)
Boolean verified;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}