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:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
private Object command;
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
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();
		      }
Jusque là tout va bien.
Par contre par la suite, j'ai d'autre attributs que je dois associer à une classe ou à l'autre selon son type:

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"));
		    	  }
		      }
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).
J'ai tenté de caster l'appel à la méthode setCmd:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
(AdminCommand) command.setCmd(courant.getAttributeValue("value"));
Mais ça ne plait pas non plus au compilo.
Quelqu'un aurait une idée ?

Merci,
Tiamat.