Bonjour,
Un problème que je n'arrive vraiment pas à résoudre, et qui semble pouvoir l'être d'après ce que j'ai pu lire sur la reflection des generics.
Sauf que ... E e = new E(node);, forcément ça marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class CompositeDeElement<E extends Composant> { private static final long serialVersionUID = 1L; private ArrayList<E> childs; public void fromXML(SimpleXML xml) { List<String> nodeNames = xml.getNodes(); if(nodeNames.size() != 0) { String name = nodeNames.get(0); List<SimpleXML> nodes = xml.getNodes(nodeNames.get(0)); for(SimpleXML node : nodes) { E e = new E(node); this.add(e); } } } }
J'utilise la clase de cette manière :
Si quelqu'un voyait comment faire ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public class Document extends CompositeDeElement<Page> { private static final long serialVersionUID = 1L; }
Partager