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

model.domain.user.User Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
package model.domain.user;

import java.util.List;

import model.domain.object.DomainObject;

/**
 * This interface represents a final user in a application.
 * 
 * @see RoleGroup
 * @author Jhonathan Camacho
 * @author Jhonys Camacho
 *
 */
public interface User extends DomainObject {

	/**
	 * Returns the user e-mail.
	 * 
	 * @return the user e-mail.
	 */
	public String getEmail();

	/**
	 * Sets the user e-mail.
	 * 
	 * @param email
	 *            the user e-mail. The e-mail shuold be valid, i.e., not null
	 *            and with domain (e.g., [email protected]).
	 */
	public void setEmail(String email);

	/**
	 * Returns the user password.
	 * 
	 * @return the user password
	 */
	public String getPassword();

	/**
	 * Sets the user password.
	 * 
	 * @param password
	 *            the user password.
	 */
	public void setPassword(String password);

	public boolean isAvailable();

	public void setAvailable(boolean available);

	/**
	 * Adds a role group to a user's role group list.
	 * 
	 * @param roleGroup
	 *            the role group added to a user'r role group list.
	 */
	public void addRoleGroup(RoleGroup roleGroup);

	/**
	 * Remove a role group to a user's role group list.
	 * 
	 * @param roleGroup
	 *            the tole group removed from a user's role group list.
	 */
	public void removeRoleGroup(RoleGroup roleGroup);

	/**
	 * Returns the user's role group list.
	 * 
	 * @return the user's role group list.
	 */
	public List getRoleGroups();
	
	public String getAndroidToken();

	public void setAndroidToken(String token);

	public String getResetPasswordToken();

	public boolean isResetPasswordTokenEmpty();

	public void clearResetPasswordToken();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy