Bonjour,
J'utilise l'API de reflexion de Java pour pour énumérer des méthodes que je dois tester.
D'après leurs codes sources, mes classes présentent ces fonctions dans cet ordre:
C1: A, B, C, login, D, E, F, logout
C2: login,G,logout.
Alors, je dresse la liste de mes classes et toutes les méthodes je les analyse puis je les lance.
Mais voilà: getClass().getMethods() me piège.
Quand mon traitement fait un C1.getMethods() elle les donne dans l'ordre du source: A, B, C, login, D, E, F, logout
Puis, en faisant un C2.getMethods(), il reçoit un ordre qui ne convient pas: login, logout, G.
Si je permute mes classes j'aurais:
C2 ==> login,G,logout.
mais C1 ==> login, logout, A, B, C, D, E, F
Si je renomme login et logout dans la deuxième classe en login2 et logout2, je ne rencontrerai plus le problème et je recevrai:
C1: A, B, C, login, D, E, F, logout
C2: login2,G,logout2.
Mais ce n'est pas satisfaisant.
Je sais que le JDK 6.0 assure que l'ordre du source est respecté, à présent, par getMethods(). Mais pour ma part, je ne peux y accéder pour le moment, notre logiciel étant basé sur la version 5.0.
Ai-je une possibilité de retrouver l'ordre du source à travers la reflexion ou tout autre moyen?
Cordialement,
Grunt.
Partager