Rev 1513 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.tela_botanica.client.Mediateur;import org.tela_botanica.client.RegistreId;import org.tela_botanica.client.interfaces.ListePaginable;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.util.Debug;import com.extjs.gxt.ui.client.Registry;import com.google.gwt.i18n.client.Dictionary;import com.google.gwt.json.client.JSONArray;import com.google.gwt.json.client.JSONNumber;import com.google.gwt.json.client.JSONObject;import com.google.gwt.json.client.JSONString;/*** Table de hachage composée d'informations sur les Valeurs des listes, renvoyé par un objet de type DAO* La clé est le nom de l'entite + le nom de l'entite parente** @author david delon**/public class ValeurListe extends aDonneeListe<Valeur> {/*** Identifiant pour sérialisé l'objet...*/private static final long serialVersionUID = 7784635999621813450L;private Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);private int nbElementsTotal;// Id de la meta-liste dans la base de donnéesprivate int id = 0;private String abv = "";/*** Constructeur sans paramètres*/public ValeurListe() {super();}/*** Constructeur avec paramètre* @param taille la taille de la table de hachage*/public ValeurListe(int taille) {super(taille);}/*** Constructeur pour une liste d'institutions* @param dates*/public ValeurListe(JSONArray liste) {super(liste.size());this.constuireObjet(liste);}public ValeurListe(JSONString listeId, JSONArray listeValeurs) {super(listeValeurs.size());this.setId(Integer.parseInt(listeId.stringValue()));this.constuireObjet(listeValeurs);}public ValeurListe(JSONString listeId, String abv, JSONArray listeValeurs, JSONNumber nbElements) {super(listeValeurs.size());this.setId(Integer.parseInt(listeId.stringValue()));this.abv = abv;this.setNbElementsTotal(nbElements.toString());this.constuireObjet(listeValeurs);}protected void constuireObjet(JSONArray liste) {final int taillemax = liste.size();for (int i = 0; i < taillemax; i++) {JSONObject listeValeur = liste.get(i).isObject();if (listeValeur != null) {Valeur valeur = new Valeur(listeValeur);this.put(valeur.getId(), valeur);}}}/*** @param id l'identifiant à définir*/public void setId(int id) {this.id = id;}public void setNbElementsTotal(String nbElements) {this.nbElementsTotal = Integer.parseInt(nbElements);}/*** @return l'identifiant de la liste*/public Integer getId() {return id;}public String getFullId() {return (id+abv);}public void ajouter(Valeur val) {this.put(val.getId(), val);}public ValeurListe cloner(){ValeurListe l = new ValeurListe();Iterator i = this.keySet().iterator();while (i.hasNext()){String clef = (String)i.next();Valeur valeur = this.get(clef);l.put(clef, valeur);}return l;}public void concatenerListe(ValeurListe lv) {this.putAll(lv);this.setId(lv.getId());}}