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

Langage Java Discussion :

Reflexivité et methode java


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Par défaut Reflexivité et methode java
    Bonjour à tous,

    Alors je suis face à un problème épineux:
    - comment récupérer le context local d'une méthode java?
    Bon je m'explique

    en gros

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	public void toto(Age a) {
     
    		Map h = new HashMap();
    		// ici h.put("a", a);
    	}
    Je veux rajouter dans la hashmap les paramètres de la méthode sans que je les connaisse à l'avance.

    De même avec les attributs et les variables locales ...


  2. #2
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Si j'ai bien compris, tu veux insérer dans la map l'argument de la fonction, avec comme clef le nom qu'il a ?

    Partant de l'idée qu'une variable n'est pas liée à son nom, à mon avis c'est plutôt infaisable, mais...
    Cherche tjs de ce côté ci: http://java.sun.com/j2se/1.4.2/docs/...ang/Class.html
    et plus précisément http://java.sun.com/j2se/1.4.2/docs/...arameterTypes()

  3. #3
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Tu peux le faire par la techno des Aspect, donc avant ou après l'appel de la méthode.

    Impossible à mon avis par les APIs du JDK : rien dans la reflexivité ne te permet de désigner une variable paramètre.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Par défaut
    Si j'ai bien compris, tu veux insérer dans la map l'argument de la fonction, avec comme clef le nom qu'il a ?
    Oui mais la clef est facultative (je peux mettre la string que je veux) c'est l'objet qui est important à conserver.

    Partant de l'idée qu'une variable n'est pas liée à son nom, à mon avis c'est plutôt infaisable, mais...
    J'avais cherché du côté de cette api et avait conclu que c'était impossible, une confirmation est toujours rassurante

    Tu peux le faire par la techno des Aspect, donc avant ou après l'appel de la méthode.
    C'est justement ce que je suis en train de tester (AspectJ)

    J'ai réussi à récupéré les objets mais pas les noms des poignées ...
    ce qui est je pense impossible tant que je me contente de travailler au niveau de la compilation :p


    en fait le point où je bute maintenant serais de récupérer les variables locales ..

    Merci de vos réponse

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    Là ça devient plus cher
    As tu le code source des classes Java ? si oui il faut parser (il existe des parsers tout faits pour Java) et tu pourras récupérer toutes les informations que tu veux.
    Si tu n'as que le bytecode, là il faudra utiliser une bibliothèque comme ASM par exemple si ces infos existent toujours dans le bytecode généré (ce qui n#est pas forcément le cas je crois)

    A plus

  6. #6
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Je veux rajouter dans la hashmap les paramètres de la méthode sans que je les connaisse à l'avance.
    Moi ma question c'est : pourquoi faire ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/03/2007, 19h28
  2. Appel d'une methode java dans un fichier jsp
    Par kodo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/05/2006, 13h46
  3. exécuter une classe dans un jar a partir d'une methode java
    Par yann_p dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 13/04/2006, 15h50
  4. [Applet] appel de methodes java en javascript
    Par soulhouf dans le forum Applets
    Réponses: 16
    Dernier message: 06/09/2005, 14h18
  5. [Reflection] Interpreter une chaine en une methode java
    Par shaun_the_sheep dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 09/10/2004, 15h11

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