Bonjour,
Je souhaiterais pouvoir lancer une certaine classe après lecture d'un fichier xml. Pour l'instant, je lis le fichier xml et j'utilise un switch pour lancer une méthode de la classe (toutes les classes pouvant être lancées comportent cette méthode). L'utilisation d'un switch est source d'erreur et n'est pas du tout dynamique dans le sens que si je souhaite rajouter une nouvelle classe, je dois également changer le code source du switch alors qu'il serait préférable que la classe soit intégrée dynamiquement lors de l'exécution.
Un moyen de faire autrement ?
Si le coté dynamique n'est pas faisable mais que l'utilisation du switch est remplacée par autre chose alors je prends!
Exemple :
Classes à appeler
Fichier xml
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
19
20
21
22
23
24
25 public abstract class Regle{ private int id; public void appliquer(); } public class Regle1 extends Regle{ ... id=1; ... } public class Regle2 extends Regle{ ... id=2 ... } .... public class Regle150 extends Regle{ ... id=150 ... }
le switch à changer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <regles> <regle id="1"/> <regle id="2"/> ... <regle id="150"/> </regles>
Ici on voit qu'il n'y a pas le case 150 donc la regle 150 ne sera pas lancée!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Regle regle; switch(id) { case 1: regle = new Regle1(); break; case 2: regle = new Regle2(); break; ... }
PS: je travaille en java
Partager