package database.dataset;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;

/**
 * @author alexis
 * dataset de la table depot
 * 
 * Modification Alfredo: param�tre int fermeture_fk_id enlev� du constructeur
 */
public class Depot implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 2236312122618669590L;
	private int depot_p_id;
	private Date depot_date;
	private int employe_fk_id;
	private BigDecimal depot_montant;
	private final String NOM_TABLE = "depot";

	/**************************************************************************
	 * constructeur
	 *************************************************************************/
	
	public Depot(int depot_p_id, Date depot_date, int employe_fk_id,
				 BigDecimal depot_montant) {
		this.depot_p_id = depot_p_id;
		this.depot_date = depot_date;
		this.employe_fk_id = employe_fk_id;
		this.depot_montant = depot_montant;
	}

	/**************************************************************************
	 * getter
	 *************************************************************************/
	
	/**
	 * @return the depot_p_id
	 */
	public int getDepot_p_id() {
		return depot_p_id;
	}

	/**
	 * @return the depot_date
	 */
	public Date getDepot_date() {
		return depot_date;
	}

	/**
	 * @return the employe_fk_id
	 */
	public int getEmploye_fk_id() {
		return employe_fk_id;
	}

	/**
	 * @return the depot_montant
	 */
	public BigDecimal getDepot_montant() {
		return depot_montant;
	}
	
	/**
	 * Retourne le nom de la table
	 * @return NOM_TABLE
	 */
	public String getNomTable()
	{
		return NOM_TABLE;		
	}
	
	/**************************************************************************
	 * setter
	 *************************************************************************/

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

	/**
	 * @param depot_date the depot_date to set
	 */
	public void setDepot_date(Date depot_date) {
		this.depot_date = depot_date;
	}

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

	/**
	 * @param depot_montant the depot_montant to set
	 */
	public void setDepot_montant(BigDecimal depot_montant) {
		this.depot_montant = depot_montant;
	}

	/**************************************************************************
	 * object
	 *************************************************************************/

	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "depot [depot_p_id=" + depot_p_id + ", depot_date=" + depot_date
				+ ", employe_fk_id=" + employe_fk_id + ", depot_montant="
				+ depot_montant + "]";
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((depot_date == null) ? 0 : depot_date.hashCode());
		result = prime * result
				+ ((depot_montant == null) ? 0 : depot_montant.hashCode());
		result = prime * result + depot_p_id;
		result = prime * result + employe_fk_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 (getClass() != obj.getClass())
			return false;
		Depot other = (Depot) obj;
		if (depot_date == null) {
			if (other.depot_date != null)
				return false;
		} else if (!depot_date.equals(other.depot_date))
			return false;
		if (depot_montant == null) {
			if (other.depot_montant != null)
				return false;
		} else if (!depot_montant.equals(other.depot_montant))
			return false;
		if (depot_p_id != other.depot_p_id)
			return false;
		if (employe_fk_id != other.employe_fk_id)
			return false;
		return true;
	}
}