IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Acces nom parametre method


Sujet :

Java

  1. #1
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut Acces nom parametre method
    Bonjour,
    J'ain réalisé une classe avec un certain nombre de methode, je dois a partir d'une autre classe récupéré la liste des methodes de ma premiere classe.
    Les classes reflect permettent de faire ca (je recupere le nom de la methode, le type renvoyé ou passé en parametre).
    Mon probleme est que je cherche a accéder aux noms que j'ai mis au parametre
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public int calcule (int val1, int val2){...
    Je recupere sans probleme calcule et les types, je souhaite pouvoir récuperer "val1" et "val2", je n'ai pas trouvé de solution.
    On m'a dit que c'etai éventuellement possible au moyen de la javadoc, mes methodes pouvant etre commenté comment accéder aux @param

    Merci par avance
    ACTC (certification Mac OS X/Mac OS X Server)
    Windows par obligation, Mac par délectation.
    Confirmé débutant (ou débutant confirmé) JAVA, C, PHP, JavaScript, HTML....

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par piro
    Je recupere sans probleme calcule et les types, je souhaite pouvoir récuperer "val1" et "val2", je n'ai pas trouvé de solution.
    Ce n'est tout simplement pas possible : ces informations ne sont pas stockés dans les fichiers *.class.

    Cela avait été envisagé à un moment pour Java 6, mais cela n'a pas abouti car cela impliquait trop de modif dans le format des class et ce sera un peu trop verbeux...

    Citation Envoyé par piro
    On m'a dit que c'etai éventuellement possible au moyen de la javadoc, mes methodes pouvant etre commenté comment accéder aux @param
    Mais la Javadoc ne travaille pas sur les class mais sur les sources...

    Eventuellement avec Java 5.0 tu peux utiliser des Annotations sur les paramètres...

    a++

  3. #3
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    Meme si je dois m'attaquer au .class c'est pas genant.
    Sinon on m'a parler de doclet, je connais pas je vais aller voir de ce coté
    ACTC (certification Mac OS X/Mac OS X Server)
    Windows par obligation, Mac par délectation.
    Confirmé débutant (ou débutant confirmé) JAVA, C, PHP, JavaScript, HTML....

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par piro
    Meme si je dois m'attaquer au .class c'est pas genant.
    Non cette information n'est pas présente dans les .class mais seulement dans les .java...

    Citation Envoyé par piro
    Sinon on m'a parler de doclet, je connais pas je vais aller voir de ce coté
    Les doclets sont utilisable avec javadoc pour la génération de documentation. Elle se base donc sur les sources et non pas les .class
    Tu ne pourras donc pas les utiliser à l'exécution si tu n'as pas le code source (et une API pour analiser ces sources)...

    a++

  5. #5
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    Je dois mal m'expliquer
    En fait j'ai les 2, les .java et les .class.
    Je n'arrive pas a trouver doclet, lors de l'import ca me dit que le paquet n'est pas trouvé, si je regarde sur internet ca me di de télécharger j2sdk mais je vois rien dedans.
    En fait je possede une classe (le .java) avec la definition des methodes, le fichier est en fait générer au moyen de web service.
    J'arrive a récupérer toutes les informations sauf les noms des parametres.
    je cherche un moyen de les recupérer, je peux modifier mon fichier java pour rajouter les commentaire de type javadoc si c necessaire.
    ACTC (certification Mac OS X/Mac OS X Server)
    Windows par obligation, Mac par délectation.
    Confirmé débutant (ou débutant confirmé) JAVA, C, PHP, JavaScript, HTML....

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par piro
    Je dois mal m'expliquer
    En fait j'ai les 2, les .java et les .class.
    Citation Envoyé par piro
    Je n'arrive pas a trouver doclet, lors de l'import ca me dit que le paquet n'est pas trouvé, si je regarde sur internet ca me di de télécharger j2sdk mais je vois rien dedans.
    Parce que les doclets ne font pas partie de l'API standard, mais ne consistue qu'un "plugin" pour l'outil javadoc de Sun : http://java.sun.com/j2se/1.5.0/docs/.../overview.html

    Les Doclets ne peuvent être utilisé que lorsque tu utilises l'outil Javadoc...

    Les classes/iterfaces de cette API se trouvent dans le fichier tools.jar du JDK que tu dois rajouter au CLASSPATH lors de la compilation...

    a++

  7. #7
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    J'ai réussit a faire fonctionner Doclet, mais comme ca marche avec l'outil javadoc je vais pas pouvoir (ou alors j'ai compris de travers son fonctionnement) récupérer les noms de parametre sans executer une commande systeme ce que je dois pas faire.
    ACTC (certification Mac OS X/Mac OS X Server)
    Windows par obligation, Mac par délectation.
    Confirmé débutant (ou débutant confirmé) JAVA, C, PHP, JavaScript, HTML....

  8. #8
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Quel est l'objectif de tout cela ?
    Est-ce que tu utilises Java 5.0 ? Dans ce cas tu pourrais utiliser les annotations...

    a++

  9. #9
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Comme te l'a dit adiGuba, tu peus utiliser les Annotations.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  10. #10
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    Bon je vais essayer de mieux expliquer mon projet.
    Tout d'abord je suis sous java 1.4 (c'est pas moi qui décide mais la boite ou je fais mon stage - et je peux m'estimer heureux certaines equipe de la boite sont encore sous 1.3).
    En fait voila l'idée.
    Ils ont réaliser un programme java qui fait des choses sur leur portail.
    On a mis en place des web service avec axis pour exécuter a distance ces fonctions.
    Donc moi de mon coté je récupère un fichier .wsdl, qui me génère les fichiers.
    Dans un des fichiers j'ai donc la liste des méthodes appelable (leur nom, les entrée et les sorties).
    Ma tache est de réaliser une interface web qui permettra d'appeler ces fonctions.
    Le truc c'est qu'il est possible qu'il qu'il rajoute des fonctions par la suite, donc faudrait que je fasse une fonction qui liste les methode existantes (ca c OK), qui liste le nombre de parametre (ca c toujours OK) et qui affiche donc des champs sur ma page web pour les remplir, le probleme c'est que je dois mettre un nom a ces champs et ceci de maniere dynamique, donc faut bien que je récupère le nom quelque part d'où mon idée de récuperer le nom de la variable.

    J'espere avoir été plus clair.
    Merci pour le temps que vous m'accordez...
    ACTC (certification Mac OS X/Mac OS X Server)
    Windows par obligation, Mac par délectation.
    Confirmé débutant (ou débutant confirmé) JAVA, C, PHP, JavaScript, HTML....

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Tu ne peux pas récupérer le nom des paramètres directement depuis le fichier *.wsdl ???

    a++

  12. #12
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    ,
    J'avais pas pensé à cette solution là, plus qu'à voir avec mon collegue si y a pas moyen de laisser le fichier wsdl avec le client.
    Sinon on réinterrogera le serveur pour l'avoir.
    En tout cas merci bien.

    Si vous avez d'autres solution (au cas où), je suis preneur.
    Dans tous les cas je mets le tag résolu.

    Encore merci
    ACTC (certification Mac OS X/Mac OS X Server)
    Windows par obligation, Mac par délectation.
    Confirmé débutant (ou débutant confirmé) JAVA, C, PHP, JavaScript, HTML....

  13. #13
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par adiGuba
    Ce n'est tout simplement pas possible : ces informations ne sont pas stockés dans les fichiers *.class.
    Bah si, elles sont stockées (sauf option explicite à la compilation), puisqu'avec des décompilateurs (DJ JavaDecompiler par exemple), tu récupères tous tes noms de variables dans les .class...

  14. #14
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ®om
    tu récupères tous tes noms de variables dans les .class...
    Nom de variable ou nom des paramètres ???
    Perso je suis quasiment sûr que le nom des paramètres n'est pas conservé...

    a++

  15. #15
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Je viens de tester DJ Java Decompiler ( téléchargé ici : http://members.fortunecity.com/neshkov/dj.html ).

    J'ai compilé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Main {
        public String attributeName;
     
        public Main(String parameterName1) {
            this.attributeName = parameterName1;
        }
     
        public int method(String parameterName2) {
            int result = Integer.parseInt(parameterName2);
            return result;
        }
    }
    Et après décompilation du .class obtenu, cela me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class Main
    {
    
        public Main(String s)
        {
            attributeName = s;
        }
    
        public int method(String s)
        {
            int i = Integer.parseInt(s);
            return i;
        }
    
        public String attributeName;
    }
    Donc seul les noms d'attributs sont conservés. Les noms de variables locales et des paramètres des méthodes sont perdus...

    a++

  16. #16
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    OK, je pensais bien aux noms de variables, mais de toute façon je croyais que les noms de paramètres aussi...
    C'est d'ailleurs pour ça que dans Eclipse, il met arg0, arg1, arg2...?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. acces nom de champs dynamique
    Par piro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/06/2006, 10h01
  2. Réponses: 16
    Dernier message: 07/02/2006, 14h19
  3. [Language]pb d'acces à une methode
    Par lanfeustdetroll dans le forum Langage
    Réponses: 3
    Dernier message: 03/06/2005, 12h39
  4. [POO] probleme d'acces aux parametres un objet
    Par lejert dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/04/2005, 09h13
  5. [DLL] Acces a une methode par son index de maniere dynamique
    Par Clorish dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 11/03/2005, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo