View Javadoc

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 }