[Résolu] [Java] method invoke avec List<generics>

method invoke avec List<generics> [Résolu] [Java] - Java - Programmation

Marsh Posté le 04-12-2007 à 16:40:59    

Bonjour les gens !
je bosse un peu actuellement sur des objets de généré par JAXB. A un moment je me retrouve avec un trucs du genre:
 

Code :
  1. maboite.db.jaxb.TypePomme jaxbTypePomme = export.getExportLstTypePomme().getElement().get(i);


tel que... j'aimerais faire une manipulation à la volé de ce type d'objet (sa viendra de données de paramétrage ultérieur).
 
Sauf que je suis ennuyé car au niveau du "getElement" le type renvoyé est de type

Code :
  1. List<TypePomme>

, et je ne vois pas comment faire mon invocation.  
 
Pour l'instant j'ai écris ça, mais bien sur sa plante au niveau de l'obtention de la liste des éléments:
 

Code :
  1. Object[] args = null;
  2.         Method methodObjJaxb = export.getClass().getMethod("getExportLstTypePomme);
  3.         Object objJaxb = methodObjJaxb.invoke(export, args); //Ici j'ai un bel objet de type LstTypePomme
  4.        
  5.         Method methodObjJaxbElement = objJaxb.getClass().getMethod("getElement" );
  6.         Object objOneElement = methodObjJaxb.invoke(objJaxb, args); //là ça plante... l'objet renvoyé est pas encore connu, pas bien manipulé. forcement, c'est une liste de type List<TypePomme>. Je sais pas comment faire
  7.        
  8.        //Là on y arrive jamais c'est mon élement de ma liste
  9.         args = new Object[1];
  10.         argsNull[0]=new Integer(1);
  11.         Method methodElementJaxb = objOneElement.getClass().getMethod("get" );
  12.         Object objElementJaxb =  methodObjJaxb.invoke(objOneElement, argsNull);


 
 
Voilà, quelqu'un sait comment on peut manipuler un tel objet avec la réflexivité sur les classes?


Message édité par youx21 le 06-12-2007 à 09:33:32
Reply

Marsh Posté le 04-12-2007 à 16:40:59   

Reply

Marsh Posté le 05-12-2007 à 10:55:32    

Là tu invoques la méthode getExportLstTypePomme (methodObjJaxb) sur ton objet objJaxb de type LstTypePomme.
 
Je pense que tu voulais plutot invoquer getElement (methodObjJaxbElement), non ? ;)
 

Code :
  1. Object objOneElement = methodObjJaxbElement.invoke(objJaxb, args);

Reply

Marsh Posté le 06-12-2007 à 09:32:53    

Bidem a écrit :

Là tu invoques la méthode getExportLstTypePomme (methodObjJaxb) sur ton objet objJaxb de type LstTypePomme.
 
Je pense que tu voulais plutot invoquer getElement (methodObjJaxbElement), non ? ;)
 

Code :
  1. Object objOneElement = methodObjJaxbElement.invoke(objJaxb, args);



 
paf!! en plein dans le mille!!! une erreur toute bête de lecture de code!! merci!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed