1
2 package atg.util.service.identifiant;
3
4 import java.io.Serializable;
5 import java.util.TreeSet;
6 import java.util.Vector;
7 import atg.service.constante.AtgConstantes;
8 import atg.service.log.AtgLogManager;
9 import atg.util.service.ATGBasicClass;
10
11 /**
12 * <p>
13 * Titre : Classe composée de plusieurs Critères (ATGCritereValue)
14 * </p>
15 * <p>
16 * Description : Cette classe sert de "conteneur" de critère afin de regrouper
17 * plusieurs critères pour une même requête.
18 * </p>
19 * <p>Copyright : FERRARI Olivier</p>
20 * @author FERRARI Olivier modifié par YSMAL Vincent
21 * @version 1.3.3
22 * Ce logiciel est régi par la licence CeCILL soumise au droit français et
23 * respectant les principes de diffusion des logiciels libres. Vous pouvez
24 * utiliser, modifier et/ou redistribuer ce programme sous les conditions
25 * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
26 * sur le site http://www.cecill.info.
27 *
28 * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
29 * pris connaissance de la licence CeCILL, et que vous en avez accepté les
30 * termes.
31 */
32 public class ATGListCritereValue extends ATGBasicClass implements Serializable
33 {
34
35 //***************************************************************************
36 // Attributs
37 //***************************************************************************
38
39 /**
40 *
41 */
42 private static final long serialVersionUID = 1L;
43 /**
44 * Liste des critères
45 */
46 private Vector<ATGCritereValue> listeCritere;
47
48 //***************************************************************************
49 // Constructeurs
50 //***************************************************************************
51
52 /**
53 * Construteur
54 */
55 public ATGListCritereValue()
56 {
57 listeCritere = new Vector<ATGCritereValue>();
58 }
59
60 //***************************************************************************
61 // Méthodes publiques
62 //***************************************************************************
63
64 /**
65 * Ajout d'un critère à cette liste
66 *
67 * @param critereValue
68 * Critère à ajouter
69 */
70 public void put(ATGCritereValue critereValue)
71 {
72 listeCritere.add(critereValue);
73 }
74
75 /**
76 * Retourne la liste des critères triées par ordre de valeur de clé
77 *
78 * @return liste de critère
79 */
80 public Vector<ATGCritereValue> getSortedListByKey()
81 {
82 sortListByKey();
83 return listeCritere;
84 }
85
86 //***************************************************************************
87 // Méthodes privates
88 //***************************************************************************
89
90 /**
91 * Trie la liste interne
92 */
93 private void sortListByKey()
94 {
95 logFinest("Trie de la liste de critères");
96 TreeSet<ATGCritereValue> listTriee = new TreeSet<ATGCritereValue>(listeCritere);
97 Vector<ATGCritereValue> v = new Vector<ATGCritereValue>(listTriee);
98 listeCritere = v;
99 }
100
101 //***************************************************************************
102 //Gestion des logs
103 //***************************************************************************
104
105 /**
106 * référence vers le log
107 */
108 protected static java.util.logging.Logger logger_ = null;
109
110 /**
111 * Retourne le log associé
112 *
113 * @return java.util.logging.Logger Trace associée
114 */
115 protected java.util.logging.Logger getLogger()
116 {
117 if (logger_ == null)
118 logger_ = AtgLogManager
119 .getLog(AtgConstantes.ATG_LOG_CATEGORY_UTILITAIRE);
120
121 return logger_;
122 }
123 }