Index: lutinutil/src/java/org/codelutin/util/CollectionUtil.java diff -u lutinutil/src/java/org/codelutin/util/CollectionUtil.java:1.2 lutinutil/src/java/org/codelutin/util/CollectionUtil.java:1.3 --- lutinutil/src/java/org/codelutin/util/CollectionUtil.java:1.2 Mon Feb 4 14:43:58 2008 +++ lutinutil/src/java/org/codelutin/util/CollectionUtil.java Sun Feb 24 19:29:55 2008 @@ -23,9 +23,9 @@ * Created: 23 févr. 2006 09:03:39 * * @author poussin - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * - * Last update: $Date: 2008-02-04 14:43:58 $ + * Last update: $Date: 2008-02-24 19:29:55 $ * by : $Author: tchemit $ */ @@ -35,6 +35,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Set; /** @@ -89,7 +90,63 @@ } 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!"); + throw new IllegalArgumentException("can not cast List with object of type "+o.getClass()+" to "+type+" type!"); + } + } + return list; + } + + /** + * Permet de convertir une collection non typée, en une collection typée. + * + * La collection en entrée en juste bien castée. + * + * On effectue une vérification sur le typage des élements de la collection. + * + * Note : Aucune collection n'est créee, ni recopiée + * + * @param list la collection à convertir + * @param type le type des éléments de la collection + * @return la collection typée + * @throws IllegalArgumentException si un élément de la collection en entrée n'est + * pas en adéquation avec le type voulue. + */ + @SuppressWarnings({"unchecked"}) + static public Collection toGenericCollection(Collection 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 Collection with object of type "+o.getClass()+" to "+type+" type!"); + } + } + return list; + } + + /** + * Permet de convertir un ensemble non typée, en un ensemble typée. + * + * L'ensemble en entrée en juste bien castée. + * + * On effectue une vérification sur le typage des élements de la collection. + * + * Note : Aucun ensemble n'est créee, ni recopiée + * + * @param list l'ensemble à convertir + * @param type le type des éléments de l'ensemble + * @return l'ensemble typée + * @throws IllegalArgumentException si un élément de l'ensemble en entrée n'est + * pas en adéquation avec le type voulue. + */ + @SuppressWarnings({"unchecked"}) + static public Set toGenericSet(Set 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 Set with object of type "+o.getClass()+" to "+type+" type!"); } } return list;