Package application.modeles

Source Code of application.modeles.ModeleIndividu

package application.modeles;

import java.sql.CallableStatement;
import java.sql.SQLException;
import application.exceptions.DataFormatException;
import application.outils.Database;


/**
*
* Classe representant les individus, qui peuvent être
* soit des acteurs, soit des realisateurs
*
* @author logan.soumar
*
*/
public class ModeleIndividu {
 
  private int _num;
  private String _prenom;
  private String _nom;
  private boolean _existe;
  private Database _DB;
 
 
 
  /**
   * Constructeur sans paramètres
   */
  public ModeleIndividu(){
    _num = 0;
    _prenom = null;
    _nom = null;
    _existe = false;
    _DB = null;
  }
 
 
  /**
   *
   * Constructeur
   *
   * @param DB  Connexion a la base de donnees
   *
   */
  public ModeleIndividu(Database db){
    _DB = db;
    _num = 0;
    _prenom = null;
    _nom = null;
    _existe = false;
  }
 
 
  /**
   *
   * Constructeur
   *
   * @param db     Connexion a la base de donnees
   * @param prenom   Prenom de l'individu
   * @param nom    Nom de l'individu
   * @param existe  Permet de savoir s'il existe deja
   * @throws DataFormatException
   *
   */
  public ModeleIndividu(Database db, String prenom, String nom) throws DataFormatException{
   
    _DB = db;
    set(prenom, nom);
   
  }

  public ModeleIndividu(String prenom, String nom) throws DataFormatException {
    set(prenom, nom);
  }
 
 
  /* (non-Javadoc)
   *
   * Permet de nettoyer l'objet avant que le systeme de
   * Garbage Collector ne s'en charge.
   *
   * @see java.lang.Object#finalize()
   */
  public void finalize(){
   
  }
 
 
  /**
   *
   * Getters
   *
   */
  public int getNum() { return _num; }
  public String getPrenom() { return _prenom; }
  public String getNom() { return _nom; }
  public boolean getExiste() { return _existe; }
 
  /**
   *
   * Setters
   *
   */

  public void setNum(int num) throws DataFormatException
  {
    if(num < 1)
      throw new DataFormatException("Le numero d'identifiant de l'individu est incorrect.");

    _num = num;
  }

  public void setPrenom(String prenom) throws DataFormatException
  {
    if(prenom != null && prenom.length() > 30)
      throw new DataFormatException("Le prenom doit faire entre 1 et 30 caracteres.");

    _prenom = prenom;
  }

  public void setNom(String nom) throws DataFormatException
  {
    if(nom != null && nom.length() > 30)
      throw new DataFormatException("Le nom doit faire entre 1 et 30 caracteres.");

    _nom = nom;
  }

  public void setExiste(boolean existe) { _existe = existe; }



  public void set(String prenom, String nom) throws DataFormatException
  {
    setPrenom(prenom);
    setNom(nom);
   
  }

  public void set(int num, String prenom, String nom, boolean existe) throws DataFormatException
  {
    setNum(num);
    setPrenom(prenom);
    setNom(nom);
    setExiste(existe);
  }
 
  public void setDB(Database DB) { _DB = DB; }

  /**
   *
   * Methode d'ajout d'individu
   *
   * @return le numero de l'individu cree
   * @throws DataFormatException  Si un attribut manque
   *                 Si instance en lecture
   *                 seule
   * @throws SQLException  Si une erreur lors de l'ajout
   *
   */
  public int ajouter() throws DataFormatException, SQLException
  {
    if(!(_DB instanceof Database))
      throw new DataFormatException("Cet object individu est en lecture seule.");
    if((_prenom == null) || (_nom == null))
      throw new DataFormatException("Les attributs prenom et nom doivent etre renseignes.");

    // Ajout dans la base de donnees
    CallableStatement cst = _DB.prepareCall("{? = call MAJVIDEOTHEQUE.AJOUTERINDIVIDU(?, ?)}");
    cst.setString(2, _nom);
    cst.setString(3, _prenom);
    cst.registerOutParameter(1, java.sql.Types.INTEGER);
    cst.execute();

    setNum(cst.getInt(1));

    return _num;
  }

  /**
   *
   * Methode d'ajout d'individu
   *
   * @param cst  Requete preparee pour optimiser
   * @return le numero de l'individu cree
   * @throws DataFormatException  Si un attribut manque
   *                 Si instance en lecture
   *                 seule
   * @throws SQLException  Si une erreur lors de l'ajout
   *
   */
  public int ajouter(CallableStatement cst) throws DataFormatException, SQLException
  {
    if(!(_DB instanceof Database))
      throw new DataFormatException("Cet object individu est en lecture seule.");
    if((_prenom == null) || (_nom == null))
      throw new DataFormatException("Les attributs prenom et nom doivent etre renseignes.");

    // Ajout dans la base de donnees
    cst.setString(2, _nom);
    cst.setString(3, _prenom);
    cst.registerOutParameter(1, java.sql.Types.INTEGER);
    cst.execute();

    setNum(cst.getInt(1));

    return _num;
  }
}
TOP

Related Classes of application.modeles.ModeleIndividu

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.