package fr.openwide.core.basicapp.core.business.user.model.embeddable; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Embeddable; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.Transient; import org.bindgen.Bindable; import fr.openwide.core.basicapp.core.business.user.model.atomic.UserPasswordRecoveryRequestInitiator; import fr.openwide.core.basicapp.core.business.user.model.atomic.UserPasswordRecoveryRequestType; import fr.openwide.core.commons.util.CloneUtils; @Embeddable @Bindable public class UserPasswordRecoveryRequest implements Serializable { private static final long serialVersionUID = 5217823856674984551L; @Column private String token; @Column private Date creationDate; @Column @Enumerated(EnumType.STRING) private UserPasswordRecoveryRequestType type; @Column @Enumerated(EnumType.STRING) private UserPasswordRecoveryRequestInitiator initiator; public String getToken() { return token; } public void setToken(String token) { this.token = token; } public Date getCreationDate() { return CloneUtils.clone(creationDate); } public void setCreationDate(Date creationDate) { this.creationDate = CloneUtils.clone(creationDate); } public UserPasswordRecoveryRequestType getType() { return type; } public void setType(UserPasswordRecoveryRequestType type) { this.type = type; } public UserPasswordRecoveryRequestInitiator getInitiator() { return initiator; } public void setInitiator(UserPasswordRecoveryRequestInitiator initiator) { this.initiator = initiator; } @Transient public void reset() { setToken(null); setCreationDate(null); setType(null); setInitiator(null); } }