Subversion Repositories eFlore/Applications.coel

Rev

Rev 119 | Rev 766 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.modeles;

import java.util.Collection;
import java.util.Iterator;
import java.util.Set;

import com.google.gwt.json.client.JSONObject;

public class Utilisateur extends aDonnee {

        public Utilisateur(String id, boolean identifie) {
                set("id_personne", id);
                set("identifie", identifie);
        }

        /**
         * Constructeur avec un objet JSON
         * 
         * @param image
         */
        public Utilisateur(JSONObject utilisateur) {
                // l'objet JSON est une table de hachage
                Set<String> im = utilisateur.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();
                        // Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
                        String cleObjet = cle.replaceFirst("^cp_", "");
                        if (utilisateur.get(cle).isString() != null) {
                                String valeur = utilisateur.get(cle).isString().stringValue();
                                this.set(cleObjet, valeur);
                        } else {
                                // Sinon, nous ajoutons la clé avec une valeur vide
                                String valeur = " ";
                                this.set(cleObjet, valeur);
                        }
                }
        }
        
        public void setId(String id) {
                set("id_personne", id);
        }
        
        public void setNomComplet(String nom_complet) {
                set("fmt_nom_complet", nom_complet);
        }

        public void setPrenom(String prenom) {
                set("prenom", prenom);
        }
        
        public void setNom(String nom) {
                set("nom", nom);
        }
        
        public void setIdentifie(Boolean bool) {
                set("identifie", bool);
        }
        
        public void setLogin(String l) {
                set("login", l);
        }
        
        public void setMotDePasse(String mdp) {
                set("mot_de_passe", mdp);
        }
        
        /**
         * Retourne l'id de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
         * @return String id de l'utilisateur
         */
        public String getId() {
                return get("id_personne");
        }

        /**
         * Retourne le nom complet et formaté de l'utilisateur
         * @return String nom complet
         */
        public String getNomComplet() {
                return get("fmt_nom_complet");
        }

        /**
         * Retourne le prénom de l'utilisateur
         * @return String prénom
         */
        public String getPrenom() {
                return get("prenom");
        }
        
        /**
         * Retourne le nom de l'utilisateur
         * @return String nom
         */
        public String getNom() {
                return get("nom");
        }
        
        /**
         * Retourne le login de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
         * @return String login
         */
        public String getLogin() {
                return get("login");
        }

        /**
         * Retourne le mot de passe de l'utilisateur
         * @return String mot de passe
         */
        public String getMotDePasse() {
                return get("mot_de_passe");
        }
        
        /**
         * Retourne vrai si utilisateur est identifié.
         * @return boolean
         */
        public boolean isIdentifie() {
                return get("identifie");
        }
        
        public String toString() {
                String chaine = new String();
                for (Iterator<String> it = this.getPropertyNames().iterator(); it.hasNext();) {
                        // Si elle est associée à une valeur, nous l'ajoutons
                        String cle = it.next();
                
                        // GXT ne prend pas en compte /n ou /r/n...
                        chaine += cle+" : "+get(cle)+"\n";
                }
                return chaine;
        }
        
}