Rev 455 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import com.google.gwt.core.client.GWT;
import com.google.gwt.http.client.URL;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.json.client.JSONObject;
public class Personne extends aDonnee {
public static final String PREFIXE = "cp";
public static final String TELEPHONE_FIXE = "FIX";
public static final String TELEPHONE_GSM = "GSM";
/**
* Constructeur vide
*/
public Personne() {
}
/**
* Constructeur avec un objet JSON
*
* @param image
*/
public Personne(JSONObject liste) {
// l'objet JSON est une table de hachage
Set<String> im = liste.keySet();
// Parcourt pour chaque clé
for (Iterator<String> it = im.iterator(); it.hasNext();) {
// Si elle est associée à une valeur, nous l'ajoutons
String cle = it.next();
if (cle.startsWith(PREFIXE+"_")) {
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
String cleObjet = cle.replaceFirst("^" + PREFIXE + "_", "");
if (liste.get(cle).isString() != null) {
String valeur = liste.get(cle).isString().stringValue();
this.set(cleObjet, valeur);
} else {
// Sinon, nous ajoutons la clé avec une valeur vide
String valeur = " ";
this.set(cleObjet, valeur);
}
}
}
//Ajout du champ courriel principal
this.set("courriel_princ", this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1));
}
// ID PERSONNE
public String getId() {
return renvoyerValeurCorrecte("id_personne");
}
// NOM COMPLET
public String getNomComplet() {
return renvoyerValeurCorrecte("fmt_nom_complet");
}
// NOM
public String getNom() {
return renvoyerValeurCorrecte("nom");
}
// PRÉNOM
public String getPrenom() {
return renvoyerValeurCorrecte("prenom");
}
public Date getDate(String nomChamp) {
String strDate = renvoyerValeurCorrecte(nomChamp);
Date dateRetour = null;
try
{
if ((strDate != null) && (!strDate.equals("0000-00-00"))) {
dateRetour = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(strDate);
}
} catch (StringIndexOutOfBoundsException e) {
GWT.log("Impossible de parser la date " + strDate, e);
}
return dateRetour;
}
// TÉLÉPHONE
public String getTelephone() {
return renvoyerValeurCorrecte("truk_telephone");
}
public void setTelephone(String t) {
this.set("truk_telephone", t);
}
public void ajouterTelephone(String type, Object valeur) {
ajouterChaineDenormaliseAvecType("truk_telephone", type, valeur);
}
public String selectionnerTelephone(String type) {
return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), type);
}
// FAX
public String getFax() {
return renvoyerValeurCorrecte("truk_fax");
}
public void setFax(String f) {
this.set("truk_fax", f);
}
public void ajouterFax(Object valeur) {
ajouterChaineDenormalise("truk_fax", valeur);
}
public String selectionnerFax(int position) {
return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_fax"), position);
}
// COURRIEL
public String getCourriel() {
return renvoyerValeurCorrecte("truk_courriel");
}
public void setCourriel(String c) {
this.set("truk_courriel", c);
}
public void ajouterCourriel(String c) {
ajouterChaineDenormalise("truk_courriel", c);
}
public String selectionnerCourriel(int position) {
return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_courriel"), position);
}
// SPÉCIALITÉ
public String getSpecialite() {
return renvoyerValeurCorrecte("ce_truk_specialite");
}
public void setSpecialite(String s) {
// Pas de liste pour l'instant, donc tout passe dans "Autre".
setChaineDenormaliseUnique("ce_truk_specialite", "AUTRE", s);
}
public String afficherSpecialite() {
return getChaineDenormaliseUnique("ce_truk_specialite");
}
public Object obtenirValeurChamp(String nomChamp) {
return renvoyerValeurCorrecte(nomChamp);
}
public String getString(String champ) {
return String.valueOf(renvoyerValeurCorrecte(champ));
}
public void setNaissanceDate(Date naissanceDate) {
if (naissanceDate != null) {
this.set("naissance_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(naissanceDate));
}
}
public void setDecesDate(Date decesDate) {
if (decesDate != null) {
this.set("deces_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(decesDate));
}
}
public void setFmtNomComplet(String prefixe, String suffixe) {
String fmtNomComplet = "";
if ((prefixe != null)&&(!prefixe.trim().equals(""))) {
fmtNomComplet += prefixe + " ";
}
if ((this.getPrenom()!=null)&&(!this.getPrenom().trim().equals(""))) {
fmtNomComplet += this.getPrenom() + " ";
}
if ((this.getNom()!=null)&&(!this.getNom().trim().equals(""))) {
fmtNomComplet += this.getNom() + " ";
}
if ((suffixe!=null)&&(!suffixe.trim().equals(""))) {
fmtNomComplet += suffixe;
}
this.set("fmt_nom_complet", fmtNomComplet);
}
}