Subversion Repositories eFlore/Applications.coel

Rev

Rev 1417 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
69 jpm 1
package org.tela_botanica.client.modeles;
2
 
1292 cyprien 3
import java.util.ArrayList;
4
import java.util.Iterator;
5
import java.util.List;
6
 
7
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.RegistreId;
9
import org.tela_botanica.client.interfaces.ListePaginable;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.util.Debug;
12
 
13
import com.extjs.gxt.ui.client.Registry;
14
import com.google.gwt.i18n.client.Dictionary;
69 jpm 15
import com.google.gwt.json.client.JSONArray;
1292 cyprien 16
import com.google.gwt.json.client.JSONNumber;
69 jpm 17
import com.google.gwt.json.client.JSONObject;
91 jpm 18
import com.google.gwt.json.client.JSONString;
69 jpm 19
 
20
/**
21
 * Table de hachage composée d'informations sur les Valeurs des listes, renvoyé par un objet de type DAO
22
 * La clé est le nom de l'entite + le nom de l'entite parente
23
 *
24
 * @author david delon
25
 *
26
 */
363 jp_milcent 27
public class ValeurListe extends aDonneeListe<Valeur> {
69 jpm 28
 
29
	/**
30
	 * Identifiant pour sérialisé l'objet...
31
	 */
32
	private static final long serialVersionUID = 7784635999621813450L;
33
 
1292 cyprien 34
	private Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
35
 
36
	private int nbElementsTotal;
37
 
38
	// Id de la meta-liste dans la base de données
91 jpm 39
	private int id = 0;
1292 cyprien 40
	private String abv = "";
91 jpm 41
 
69 jpm 42
	/**
43
	 * Constructeur sans paramètres
44
	 */
45
	public ValeurListe() {
46
		super();
47
	}
48
 
49
	/**
50
	 * Constructeur avec paramètre
51
	 * @param taille la taille de la table de hachage
52
	 */
91 jpm 53
	public ValeurListe(int taille) {
69 jpm 54
		super(taille);
55
	}
56
	/**
57
	 * Constructeur pour une liste d'institutions
58
	 * @param dates
59
	 */
91 jpm 60
	public ValeurListe(JSONArray liste) {
61
		super(liste.size());
62
		this.constuireObjet(liste);
63
	}
64
 
65
	public ValeurListe(JSONString listeId, JSONArray listeValeurs) {
66
		super(listeValeurs.size());
67
		this.setId(Integer.parseInt(listeId.stringValue()));
68
		this.constuireObjet(listeValeurs);
69
	}
118 jpm 70
 
1292 cyprien 71
	public ValeurListe(JSONString listeId, String abv, JSONArray listeValeurs, JSONNumber nbElements) {
72
		super(listeValeurs.size());
73
		this.setId(Integer.parseInt(listeId.stringValue()));
74
		this.abv = abv;
75
		this.setNbElementsTotal(nbElements.toString());
76
		this.constuireObjet(listeValeurs);
77
	}
78
 
79
 
80
	protected void constuireObjet(JSONArray liste) {
69 jpm 81
		final int taillemax = liste.size();
82
 
83
		for (int i = 0; i < taillemax; i++) {
363 jp_milcent 84
			JSONObject listeValeur = liste.get(i).isObject();
69 jpm 85
 
86
			if (listeValeur != null)	{
87
				Valeur valeur = new Valeur(listeValeur);
88
				this.put(valeur.getId(), valeur);
89
			}
90
		}
91
	}
91 jpm 92
 
93
	/**
94
	 * @param id l'identifiant à définir
95
	 */
96
	public void setId(int id) {
97
		this.id = id;
98
	}
1292 cyprien 99
 
100
	public void setNbElementsTotal(String nbElements) {
101
		this.nbElementsTotal = Integer.parseInt(nbElements);
102
	}
91 jpm 103
 
104
	/**
105
	 * @return l'identifiant de la liste
106
	 */
107
	public Integer getId() {
108
		return id;
109
	}
118 jpm 110
 
1292 cyprien 111
	public String getFullId() {
112
		return (id+abv);
113
	}
114
 
118 jpm 115
	public void ajouter(Valeur val) {
116
		this.put(val.getId(), val);
117
	}
1292 cyprien 118
 
119
	public ValeurListe cloner()
120
	{
121
		ValeurListe l = new ValeurListe();
122
		Iterator i = this.keySet().iterator();
123
 
124
		while (i.hasNext())
125
		{
126
			String clef = (String)i.next();
127
			Valeur valeur = this.get(clef);
128
			l.put(clef, valeur);
129
		}
130
 
131
		return l;
132
	}
133
 
134
	public void concatenerListe(ValeurListe lv) {
135
		this.putAll(lv);
136
		this.setId(lv.getId());
137
	}
138
 
69 jpm 139
}
1292 cyprien 140
 
141