Index: lutinutil/src/java/org/codelutin/util/CollectionUtil.java
diff -u lutinutil/src/java/org/codelutin/util/CollectionUtil.java:1.1 lutinutil/src/java/org/codelutin/util/CollectionUtil.java:1.2
--- lutinutil/src/java/org/codelutin/util/CollectionUtil.java:1.1 Mon Aug 7 19:31:44 2006
+++ lutinutil/src/java/org/codelutin/util/CollectionUtil.java Mon Feb 4 14:43:58 2008
@@ -23,10 +23,10 @@
* Created: 23 févr. 2006 09:03:39
*
* @author poussin
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*
- * Last update: $Date: 2006-08-07 19:31:44 $
- * by : $Author: bpoussin $
+ * Last update: $Date: 2008-02-04 14:43:58 $
+ * by : $Author: tchemit $
*/
package org.codelutin.util;
@@ -58,6 +58,7 @@
/**
* Ajoute a la liste tous les elements passés en parametre
* @param col la liste
+ * @param pos le premier index où insérer les données
* @param e les elements a ajouter
* @return la liste passé en parametre
*/
@@ -65,6 +66,34 @@
col.addAll(pos, Arrays.asList(e));
return col;
}
+
+ /**
+ * Permet de convertir une liste non typée, en une liste typée.
+ *
+ * La liste en entrée en juste bien castée.
+ *
+ * On effectue une vérification sur le typage des élements de la liste.
+ *
+ * Note : Aucune liste n'est créee, ni recopiée
+ *
+ * @param list la liste à convertir
+ * @param type le type des éléments de la liste
+ * @return la liste typée
+ * @throws IllegalArgumentException si un élément de la liste en entrée n'est
+ * pas en adéquation avec le type voulue.
+ */
+ @SuppressWarnings({"unchecked"})
+ static public List toGenericList(List list,Class type) throws IllegalArgumentException {
+ if (list.isEmpty()) {
+ return list;
+ }
+ for (Object o : list) {
+ if (!(type.isAssignableFrom(o.getClass()))) {
+ throw new IllegalArgumentException("can not cast list with object of type "+o.getClass()+" to "+type+" type!");
+ }
+ }
+ return list;
+ }
}