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.

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);
			}
		}
	}
}
Sauf que ... E e = new E(node);, forcément ça marche pas.
J'utilise la clase de cette manière :
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;
}
Si quelqu'un voyait comment faire ...