Subversion Repositories eFlore/Applications.coel

Rev

Rev 60 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

package org.tela_botanica.client.modeles;

import java.io.Serializable;
import java.util.Iterator;
import java.util.Set;

import com.extjs.gxt.ui.client.data.BaseModelData;
import com.google.gwt.json.client.JSONObject;

public class Structure extends BaseModelData implements Serializable {

        /**
         * Identifiant pour sérialisé l'objet...
         */
        private static final long serialVersionUID = 1;

        /**
         * Constructeur vide
         * 
         */
        public Structure() {
                
        }
        
        /**
         * Constructeur avec un objet JSON
         * 
         * @param image
         */
        public Structure(JSONObject institution) {
                // l'objet JSON est une table de hachage
                Set<String> im = institution.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("^cs_", "");
                        if (institution.get(cle).isString() != null) {
                                String valeur = institution.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 String getId() {
                return (String) renvoyerValeurCorrecte("id_structure");
        }
        
        public String getNom() {
                return (String) renvoyerValeurCorrecte("nom");
        }
        
        public String getDescription() {
                return (String) renvoyerValeurCorrecte("description");
        }
        
        public String getAdresse01() {
                return (String) renvoyerValeurCorrecte("adresse_01");
        }

        public String getCodePostal() {
                return (String) renvoyerValeurCorrecte("code_postal");
        }

        public String getVille() {
                return (String) renvoyerValeurCorrecte("ville");
        }

        public String getRegion() {
                return (String) renvoyerValeurCorrecte("region");
        }

        public String getPays() {
                return (String) renvoyerValeurCorrecte("pays");
        }
        
        public String getTelephone() {
                return (String) renvoyerValeurCorrecte("telephone");
        }
        
        public String getFax() {
                return (String) renvoyerValeurCorrecte("fax");
        }
        
        public String getCourriel() {
                return (String) renvoyerValeurCorrecte("courriel");
        }
        
        public String getConditionAcces() {
                return (String) renvoyerValeurCorrecte("condition_acces");
        }

        /**
         * Pour éviter que l'on traite des valeurs nulles à l'affichage on passe par
         * cette fonction qui retire les charactères nuls qui font planter
         * l'affichage, il ne faut pas utiliser get directement
         * 
         * @param cle
         * @return la valeur associée à la clé
         */
        public String renvoyerValeurCorrecte(String cle) {
                if (this.get(cle) != null) {
                        String valeur = this.get(cle);
                        if (valeur.equals("null") || valeur == null) {
                                return " ";
                        } else {
                                char nullChar = '\u0000';
                                String sNull = "" + nullChar;
                                valeur = valeur.replaceAll(sNull, "");
                                return valeur;
                        }
                } else {
                        return " ";
                }
        }
}