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; + } }