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.