Bonjour à tous,
voila je vous expose mon problème...
j'ai une méthode qui déclare un object command. j'ai deux types de command possible (adminCommand et OperativeCommand) et je ne connais pas à l'avance le type de commande en question.
Je parcours un arbre XML avec JDom et au fur et à mesure j'initialise mon objet.
Or j'ai un souci car je ne sais pas comment faire bénéficier à mon object nouvellement instancié (soit AdminCommand soit OperativeCommand) des méthodes soit de l'une soit de l'autre...
Je m'explique. J'ai un objet:
au fur et à mesure du parcours de l'arbo XML je découvre le type de commande:
Code : Sélectionner tout - Visualiser dans une fenêtre à part private Object command;
Jusque là tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if(courant.getName().equals("command_type")){ //On crée notre objet admin if(courant.getAttributeValue("value").equals("ADMIN")) command = new AdminCommand(); else command = new OperativeCommand(); }
Par contre par la suite, j'ai d'autre attributs que je dois associer à une classe ou à l'autre selon son type:
Dans cet exemple la méthode setCmd appartient à la classe AdminCommand mais le compilo me dit qu'il ne la connait pas pour le type Object (normal).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 else if(courant.getName().equals("command")){ if(command instanceof AdminCommand){ command.setCmd(courant.getAttributeValue("value")); } }
J'ai tenté de caster l'appel à la méthode setCmd:
Mais ça ne plait pas non plus au compilo.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (AdminCommand) command.setCmd(courant.getAttributeValue("value"));
Quelqu'un aurait une idée ?
Merci,
Tiamat.
Partager