All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.jhonsapp.finaluser.domain.AbstractUser Maven / Gradle / Ivy

package br.com.jhonsapp.finaluser.domain;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;

import br.com.jhonsapp.bootstrap.object.domain.generic.AbstractDomainObject;
import br.com.jhonsapp.util.simple.token.SimpleTokenGenerator;

/**
 * {@link AbstractUser} is a subclass of {@link AbstractDomainObject} and an
 * abstract implementation of {@link User}
 * 
 * @see AbstractDomainObject
 * @see User
 * 
 * @author Jhonathan Camacho
 * @author Jhonys Camacho
 *
 */
@MappedSuperclass
public abstract class AbstractUser extends AbstractDomainObject implements User {

	/**
	 * Generated serial version id created at 21 April 2017.
	 */
	private static final long serialVersionUID = 3307423139550627963L;

	@Column(name = "reset_password_token")
	private String resetPasswordToken;

	public AbstractUser() {
		super();
	}

	@Override
	public String getResetPasswordToken() {
		if (isResetPasswordTokenEmpty())
			resetPasswordToken = SimpleTokenGenerator.generateToken(6);

		return resetPasswordToken;
	}

	@Override
	public boolean isResetPasswordTokenEmpty() {
		return resetPasswordToken == null || resetPasswordToken.isEmpty();
	}

	@Override
	public void clearResetPasswordToken() {
		resetPasswordToken = "";
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy