package database.dataset;

import java.io.Serializable;

/**
 * @author alexis
 * dataset de la table utilisateur
 */
public class Utilisateur implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 2863425371536047175L;
	private int utilisateur_p_id;
	private String utilisateur_nom;
	private String utilisateur_motdepasse;
	private boolean utilisateur_actif;
	private int groupe_utilisateur_fk_id;
	private final String NOM_TABLE = "utilisateur";

	/**************************************************************************
	 * constructeur
	 *************************************************************************/
	
	public Utilisateur(int utilisateur_p_id, 
			           String utilisateur_nom,
					   String utilisateur_motdepasse, 
					   boolean utilisateur_actif, 
					   int groupe_utilisateur_fk_id) {
		this.utilisateur_p_id = utilisateur_p_id;
		this.utilisateur_nom = utilisateur_nom;
		this.utilisateur_motdepasse = utilisateur_motdepasse;
		this.utilisateur_actif = utilisateur_actif;
		this.groupe_utilisateur_fk_id = groupe_utilisateur_fk_id;
	}

	/**************************************************************************
	 * getter
	 *************************************************************************/
	
	/**
	 * @return the utilisateur_p_id
	 */
	public int getutilisateur_p_id() {
		return utilisateur_p_id;
	}

	/**
	 * @return the utilisateur_nom
	 */
	public String getUtilisateur_nom() {
		return utilisateur_nom;
	}

	/**
	 * @return the utilisateur_motdepasse
	 */
	public String getUtilisateur_motdepasse() {
		return utilisateur_motdepasse;
	}
	
	/**
	 * @return the utilisateur_actif
	 */
	public boolean getUtilisateur_actif () {
		return utilisateur_actif;
	}

	/**
	 * @return the groupe_utilisateur_fk_id
	 */
	public int getGroupe_utilisateur_fk_id() {
		return groupe_utilisateur_fk_id;
	}
	
	/**
	 * Retourne le nom de la table
	 * @return NOM_TABLE
	 */
	public String getNomTable()
	{
		return NOM_TABLE;		
	}

	/**************************************************************************
	 * setter
	 *************************************************************************/
	
	/**
	 * @param utilisateur_p_id the utilisateur_p_id to set
	 */
	public void setutilisateur_p_id(int utilisateur_p_id) {
		this.utilisateur_p_id = utilisateur_p_id;
	}

	/**
	 * @param utilisateur_nom the utilisateur_nom to set
	 */
	public void setUtilisateur_nom(String utilisateur_nom) {
		this.utilisateur_nom = utilisateur_nom;
	}

	/**
	 * @param utilisateur_motdepasse the utilisateur_motdepasse to set
	 */
	public void setUtilisateur_motdepasse(String utilisateur_motdepasse) {
		this.utilisateur_motdepasse = utilisateur_motdepasse;
	}

	/**
	 * @param groupe_utilisateur_fk_id the groupe_utilisateur_fk_id to set
	 */
	public void setGroupe_utilisateur_fk_id(int groupe_utilisateur_fk_id) {
		this.groupe_utilisateur_fk_id = groupe_utilisateur_fk_id;
	}

	public void setUtilisateur_actif(boolean utilisateur_actif) {
		this.utilisateur_actif = utilisateur_actif;
	}

	/**************************************************************************
	 * object
	 *************************************************************************/
	
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "utilisateur [utilisateur_p_id=" + utilisateur_p_id
				+ ", utilisateur_nom=" + utilisateur_nom
				+ ", utilisateur_motdepasse=" + utilisateur_motdepasse
				+ ", groupe_utilisateur_fk_id=" + groupe_utilisateur_fk_id
				+ "]";
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + groupe_utilisateur_fk_id;
		result = prime
				* result
				+ ((utilisateur_motdepasse == null) ? 0
						: utilisateur_motdepasse.hashCode());
		result = prime * result
				+ ((utilisateur_nom == null) ? 0 : utilisateur_nom.hashCode());
		result = prime * result + utilisateur_p_id;
		return result;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (!(obj instanceof Utilisateur))
			return false;
		Utilisateur other = (Utilisateur) obj;
		if (groupe_utilisateur_fk_id != other.groupe_utilisateur_fk_id)
			return false;
		if (utilisateur_motdepasse == null) {
			if (other.utilisateur_motdepasse != null)
				return false;
		} else if (!utilisateur_motdepasse.equals(other.utilisateur_motdepasse))
			return false;
		if (utilisateur_nom == null) {
			if (other.utilisateur_nom != null)
				return false;
		} else if (!utilisateur_nom.equals(other.utilisateur_nom))
			return false;
		if (utilisateur_p_id != other.utilisateur_p_id)
			return false;
		return true;
	}	
}