package ca.intelliware.ihtsdo.mlds.domain; import java.io.Serializable; import java.util.UUID; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import org.apache.commons.lang.builder.ToStringBuilder; import org.joda.time.Instant; /** * A ResetToken. */ @Entity @Table(name = "password_reset_token") public class PasswordResetToken implements Serializable { private static final long serialVersionUID = 1L; @Id private String passwordResetTokenId = UUID.randomUUID().toString(); @ManyToOne @JoinColumn(name="user_id") private User user; private Instant created = Instant.now(); public static PasswordResetToken createFor(User user) { PasswordResetToken result = new PasswordResetToken(); result.user = user; return result; } public String getPasswordResetTokenId() { return passwordResetTokenId; } public User getUser() { return user; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } PasswordResetToken resettoken = (PasswordResetToken) o; if (!passwordResetTokenId.equals(resettoken.passwordResetTokenId)) { return false; } return true; } @Override public int hashCode() { return passwordResetTokenId.hashCode(); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }