Subversion Repositories eFlore/Applications.coel

Rev

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

package org.tela_botanica.client.modeles;

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

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

public class Utilisateur extends aDonnee {

        private static final long serialVersionUID = -4016615552202089985L;
        
        public static final String PREFIXE = "cp";
        
        public Utilisateur() {
                initialiserUtilisateur(null, false);
        }

        public Utilisateur(String id, boolean identifie) {
                initialiserUtilisateur(id, identifie);
        }
        
        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("^"+PREFIXE+"_", "");
                        // Valeur est vide par défaut
                        String valeur = "";
                        if (utilisateur.get(cle).isString() != null) {
                                valeur = utilisateur.get(cle).isString().stringValue();
                                this.set(cleObjet, valeur);
                        } else {
                                this.set(cleObjet, valeur);
                        }
                }
        }
        
        @Override
        protected String getPrefixe() {
                return PREFIXE;
        }

        private void initialiserUtilisateur(String id, boolean etreIdentifie) {
                setId(id);
                setIdentification(etreIdentifie);
        }
        
        
        /**
         * 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 renvoyerValeurCorrecte("id_personne");
        }
        public void setId(String id) {
                set("id_personne", id);
        }
        
        /**
         * Retourne le nom complet et formaté de l'utilisateur
         * @return String nom complet
         */
        public String getNomComplet() {
                return renvoyerValeurCorrecte("fmt_nom_complet");
        }
        public void setNomComplet(String nom_complet) {
                set("fmt_nom_complet", nom_complet);
        }

        /**
         * Retourne le prénom de l'utilisateur
         * @return String prénom
         */
        public String getPrenom() {
                return renvoyerValeurCorrecte("prenom");
        }
        public void setPrenom(String prenom) {
                set("prenom", prenom);
        }
        
        /**
         * Retourne le nom de l'utilisateur
         * @return String nom
         */
        public String getNom() {
                return renvoyerValeurCorrecte("nom");
        }
        public void setNom(String nom) {
                set("nom", 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 renvoyerValeurCorrecte("login");
        }
        public void setLogin(String l) {
                set("login", l);
        }
        
        /**
         * Retourne le mot de passe de l'utilisateur
         * @return String mot de passe
         */
        public String getMotDePasse() {
                return renvoyerValeurCorrecte("mot_de_passe");
        }
        public void setMotDePasse(String mdp) {
                set("mot_de_passe", mdp);
        }
                
        
        /**
         * Retourne vrai si utilisateur est identifié.
         * @return boolean
         */
        public boolean isIdentifie() {
                return get("identifie");
        }
        public void setIdentification(Boolean bool) {
                set("identifie", bool);
        }
                
}