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;