je vourdrais savoir s'il est possible de retrouver l'objet qui a appel=E9=
=20
la m=E9thode d'un autre objet. J'ai trouv=E9 le moyen de connaitre la class=
e=20
de l'objet appelant par le biais du security manager, mais je n'arrive=20
pas =E0 r=E9cup=E9rer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir m=E9moriser les objets faisant usage d'un autre=
=20
objet.
On doit sans doute y parvenir avec de l'AOP (par ex AspectJ)
Akram
je t'aurais conseillé plutot de mettre un attribut parent dans tous les objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appelé la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la classe de l'objet appelant par le biais du security manager, mais je n'arrive pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un autre objet.
Merci d'avance pour vos suggestions
Armel
je t'aurais conseillé plutot de mettre un attribut parent dans tous les
objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appelé
la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la classe
de l'objet appelant par le biais du security manager, mais je n'arrive
pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un autre
objet.
je t'aurais conseillé plutot de mettre un attribut parent dans tous les objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appelé la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la classe de l'objet appelant par le biais du security manager, mais je n'arrive pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un autre objet.
Merci d'avance pour vos suggestions
Armel
Armel HERVE
In article <bn6tnv$1mq1$, says...
je t'aurais conseillé plutot de mettre un attribut parent dans tous les objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appel é la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la c lasse de l'objet appelant par le biais du security manager, mais je n'arrive pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un aut re objet.
Merci d'avance pour vos suggestions
Armel
C'est exactement ce que je ne voulais pas faire, mais je crois qu'il n'y
a pas d'autres moyens... Pourtant, c'est obligé, seulement, ca doit être au niveau de la JVM et ca doit être inaccessible...
tant pis
Armel
In article <bn6tnv$1mq1$3@biggoron.nerim.net>, akram@free.fr says...
je t'aurais conseillé plutot de mettre un attribut parent dans tous les
objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appel é
la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la c lasse
de l'objet appelant par le biais du security manager, mais je n'arrive
pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un aut re
objet.
Merci d'avance pour vos suggestions
Armel
C'est exactement ce que je ne voulais pas faire, mais je crois qu'il n'y
a pas d'autres moyens...
Pourtant, c'est obligé, seulement, ca doit être au niveau de la JVM et
ca doit être inaccessible...
je t'aurais conseillé plutot de mettre un attribut parent dans tous les objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appel é la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la c lasse de l'objet appelant par le biais du security manager, mais je n'arrive pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un aut re objet.
Merci d'avance pour vos suggestions
Armel
C'est exactement ce que je ne voulais pas faire, mais je crois qu'il n'y
a pas d'autres moyens... Pourtant, c'est obligé, seulement, ca doit être au niveau de la JVM et ca doit être inaccessible...
tant pis
Armel
jerome moliere
Armel HERVE wrote:
In article <bn6tnv$1mq1$, says...
je t'aurais conseillé plutot de mettre un attribut parent dans tous les objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appelé la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la classe de l'objet appelant par le biais du security manager, mais je n'arrive pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un autre objet.
Merci d'avance pour vos suggestions
Armel
C'est exactement ce que je ne voulais pas faire, mais je crois qu'il n'y
a pas d'autres moyens... Pourtant, c'est obligé, seulement, ca doit être au niveau de la JVM et ca doit être inaccessible... il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4)
c'est en parsant la stacktrace... ignoble mais cela marche... je te laisse consulter les archives de la ML de l'universite de strasbourg ou il y a eut differents threads la dessus
Jerome
Armel HERVE wrote:
In article <bn6tnv$1mq1$3@biggoron.nerim.net>, akram@free.fr says...
je t'aurais conseillé plutot de mettre un attribut parent dans tous les
objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appelé
la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la classe
de l'objet appelant par le biais du security manager, mais je n'arrive
pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un autre
objet.
Merci d'avance pour vos suggestions
Armel
C'est exactement ce que je ne voulais pas faire, mais je crois qu'il n'y
a pas d'autres moyens...
Pourtant, c'est obligé, seulement, ca doit être au niveau de la JVM et
ca doit être inaccessible...
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4)
c'est en parsant la stacktrace...
ignoble mais cela marche...
je te laisse consulter les archives de la ML de l'universite de
strasbourg ou il y a eut differents threads la dessus
je t'aurais conseillé plutot de mettre un attribut parent dans tous les objets crées et de l'initialiser à la construction ou à l 'appel.
pour recuperer la classe, tu peux ensuite faire un object.getClass();
Armel HERVE wrote:
Bonjour à tous,
je vourdrais savoir s'il est possible de retrouver l'objet qui a appelé la méthode d'un autre objet. J'ai trouvé le moyen de connaitre la classe de l'objet appelant par le biais du security manager, mais je n'arrive pas à récupérer l'instance de cette classe qui a fait l'appel.
L'objectif est de pouvoir mémoriser les objets faisant usage d'un autre objet.
Merci d'avance pour vos suggestions
Armel
C'est exactement ce que je ne voulais pas faire, mais je crois qu'il n'y
a pas d'autres moyens... Pourtant, c'est obligé, seulement, ca doit être au niveau de la JVM et ca doit être inaccessible... il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4)
c'est en parsant la stacktrace... ignoble mais cela marche... je te laisse consulter les archives de la ML de l'universite de strasbourg ou il y a eut differents threads la dessus
Jerome
Emmanuel Puybaret
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4) c'est en parsant la stacktrace... ignoble mais cela marche... je te laisse consulter les archives de la ML de l'universite de strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant mais l'objet ayant appelé la méthode ! Et là, je sèche...
Bye -- Emmanuel PUYBARET Email : Web : http://www.eteks.com Auteur du Cahier du programmeur Java [1] / Editions Eyrolles : http://www.eteks.com/services/cahierjava1.html
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4)
c'est en parsant la stacktrace...
ignoble mais cela marche...
je te laisse consulter les archives de la ML de l'universite de
strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant
mais l'objet ayant appelé la méthode ! Et là, je sèche...
Bye
--
Emmanuel PUYBARET
Email : puybaret@eteks.com
Web : http://www.eteks.com
Auteur du Cahier du programmeur Java [1] / Editions Eyrolles :
http://www.eteks.com/services/cahierjava1.html
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4) c'est en parsant la stacktrace... ignoble mais cela marche... je te laisse consulter les archives de la ML de l'universite de strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant mais l'objet ayant appelé la méthode ! Et là, je sèche...
Bye -- Emmanuel PUYBARET Email : Web : http://www.eteks.com Auteur du Cahier du programmeur Java [1] / Editions Eyrolles : http://www.eteks.com/services/cahierjava1.html
jerome moliere
Emmanuel Puybaret wrote:
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4) c'est en parsant la stacktrace... ignoble mais cela marche... je te laisse consulter les archives de la ML de l'universite de strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant mais l'objet ayant appelé la méthode ! Et là, je sèche...
tres juste Emmanuel, autant pour moi.... :) je suis aussi d'avis qu'un grand coup d'AOP ou de proxies dynamique doit permettre de faire cela.... c'est même assez proche de tous les exemples classiques en la matiere.... maintenant l'interet final de tout cela ? en jetant un oeil aux frameworks du tupe jac , aspectj ou jboss-aop ou via les proxies du JDK 1.3 il y a de quoi outiller son code... mais cela va alourdir le code pour fournir une information qui ne peut etre necessaire à tes classes metier (donc du debug/optim ou autre)
Jerome
Emmanuel Puybaret wrote:
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4)
c'est en parsant la stacktrace...
ignoble mais cela marche...
je te laisse consulter les archives de la ML de l'universite de
strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant
mais l'objet ayant appelé la méthode ! Et là, je sèche...
tres juste Emmanuel, autant pour moi.... :)
je suis aussi d'avis qu'un grand coup d'AOP ou de proxies dynamique doit
permettre de faire cela....
c'est même assez proche de tous les exemples classiques en la matiere....
maintenant l'interet final de tout cela ?
en jetant un oeil aux frameworks du tupe jac , aspectj ou jboss-aop
ou via les proxies du JDK 1.3 il y a de quoi outiller son code...
mais cela va alourdir le code pour fournir une information qui ne peut
etre necessaire à tes classes metier (donc du debug/optim ou autre)
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4) c'est en parsant la stacktrace... ignoble mais cela marche... je te laisse consulter les archives de la ML de l'universite de strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant mais l'objet ayant appelé la méthode ! Et là, je sèche...
tres juste Emmanuel, autant pour moi.... :) je suis aussi d'avis qu'un grand coup d'AOP ou de proxies dynamique doit permettre de faire cela.... c'est même assez proche de tous les exemples classiques en la matiere.... maintenant l'interet final de tout cela ? en jetant un oeil aux frameworks du tupe jac , aspectj ou jboss-aop ou via les proxies du JDK 1.3 il y a de quoi outiller son code... mais cela va alourdir le code pour fournir une information qui ne peut etre necessaire à tes classes metier (donc du debug/optim ou autre)
Jerome
Nicolas Repiquet
"Emmanuel Puybaret" a écrit dans le message news: BBBD94EC.C4D3%
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4) c'est en parsant la stacktrace... ignoble mais cela marche... je te laisse consulter les archives de la ML de l'universite de strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant mais l'objet ayant appelé la méthode ! Et là, je sèche...
Avec AspectJ y a pas moyen de rajouter this dans les paramêtres à la volée en catchant les appels à une méthode donnée, et en les forwardant sur la même avec un paramêtre Object en plus ? ( question de quasi-ignorant en aspect ).
Genre :
class MyClass { void foo() {} void foo( Object o ) { System.out.println( "Caller is "+ o ); } }
Ensuite on fait un pointcut sur les appels à foo() et on les forward sur foo(Object) en rajoutant this ?
-- Nicolas Repiquet
"Emmanuel Puybaret" <puybaret@eteks.com> a écrit dans le message news:
BBBD94EC.C4D3%puybaret@eteks.com...
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4)
c'est en parsant la stacktrace...
ignoble mais cela marche...
je te laisse consulter les archives de la ML de l'universite de
strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant
mais l'objet ayant appelé la méthode ! Et là, je sèche...
Avec AspectJ y a pas moyen de rajouter this dans les paramêtres à la volée
en catchant les appels à une méthode donnée, et en les forwardant sur la
même avec un paramêtre Object en plus ? ( question de quasi-ignorant en
aspect ).
Genre :
class MyClass {
void foo() {}
void foo( Object o ) {
System.out.println( "Caller is "+ o );
}
}
Ensuite on fait un pointcut sur les appels à foo() et on les forward sur
foo(Object) en rajoutant this ?
"Emmanuel Puybaret" a écrit dans le message news: BBBD94EC.C4D3%
il y a un moyen crade pour faire cela dans les API recentes (JDK 1.4) c'est en parsant la stacktrace... ignoble mais cela marche... je te laisse consulter les archives de la ML de l'universite de strasbourg ou il y a eut differents threads la dessus
Jérome, Armel ne veut pas retrouver la classe et la méthode de l'appelant mais l'objet ayant appelé la méthode ! Et là, je sèche...
Avec AspectJ y a pas moyen de rajouter this dans les paramêtres à la volée en catchant les appels à une méthode donnée, et en les forwardant sur la même avec un paramêtre Object en plus ? ( question de quasi-ignorant en aspect ).
Genre :
class MyClass { void foo() {} void foo( Object o ) { System.out.println( "Caller is "+ o ); } }
Ensuite on fait un pointcut sur les appels à foo() et on les forward sur foo(Object) en rajoutant this ?