et ensuite parcourir le répertoires de cet URL. Rien de simple et de tout fait :-(
Jean-Marc Vanel wrote:
Bonjour
Est-ce quelqu'un a une recette pour récupérer par programme la liste des classes qui implémentent une interface ?
Ce que fait eclipse, mais je ne veux pas (pour l'instant) développer un plug-in eclipse.
L'API java.lang.reflec est fait pour ça.
Olivier
Cédric Chabanois
Ben oui mais quand même l'api java.lang.reflect permet de savoir si telle classe implémente telle interface. D'une manière ou d'une autre il faut parcourir toutes tes classes pour savoir si elles implémentent ton interface.
BCEL (apache) peut éventuellement faire la même chose, l'intérêt étant que tu n'as pas à charger les class.
Je ne vois pas en quoi parcourir "le répertoire de cette URL" t'aidera, à moins que toutes les classes implémentant la dite interface soient dans le même package ...
Cédric
NON, l'API java.lang.reflect ne fait pas ça , ni Class qui permet d'accéder aux ancêtres, mais pas aux descendants.
En gros, je pense qu'il faut agir avec qqchose du genre :
et ensuite parcourir le répertoires de cet URL. Rien de simple et de tout fait :-(
Jean-Marc Vanel wrote:
Bonjour
Est-ce quelqu'un a une recette pour récupérer par programme la liste des classes qui implémentent une interface ?
Ce que fait eclipse, mais je ne veux pas (pour l'instant) développer un plug-in eclipse.
L'API java.lang.reflec est fait pour ça.
Olivier
Ben oui mais quand même l'api java.lang.reflect permet de savoir si
telle classe implémente telle interface.
D'une manière ou d'une autre il faut parcourir toutes tes classes pour
savoir si elles implémentent ton interface.
BCEL (apache) peut éventuellement faire la même chose, l'intérêt étant
que tu n'as pas à charger les class.
Je ne vois pas en quoi parcourir "le répertoire de cette URL" t'aidera,
à moins que toutes les classes implémentant la dite interface soient
dans le même package ...
Cédric
NON, l'API java.lang.reflect ne fait pas ça , ni Class qui permet
d'accéder aux ancêtres, mais pas aux descendants.
En gros, je pense qu'il faut agir avec qqchose du genre :
Ben oui mais quand même l'api java.lang.reflect permet de savoir si telle classe implémente telle interface. D'une manière ou d'une autre il faut parcourir toutes tes classes pour savoir si elles implémentent ton interface.
BCEL (apache) peut éventuellement faire la même chose, l'intérêt étant que tu n'as pas à charger les class.
Je ne vois pas en quoi parcourir "le répertoire de cette URL" t'aidera, à moins que toutes les classes implémentant la dite interface soient dans le même package ...
Cédric
NON, l'API java.lang.reflect ne fait pas ça , ni Class qui permet d'accéder aux ancêtres, mais pas aux descendants.
En gros, je pense qu'il faut agir avec qqchose du genre :
et ensuite parcourir le répertoires de cet URL. Rien de simple et de tout fait :-(
Jean-Marc Vanel wrote:
Bonjour
Est-ce quelqu'un a une recette pour récupérer par programme la liste des classes qui implémentent une interface ?
Ce que fait eclipse, mais je ne veux pas (pour l'instant) développer un plug-in eclipse.
L'API java.lang.reflec est fait pour ça.
Olivier
Jean-Marc Vanel
Ben oui mais quand même l'api java.lang.reflect permet de savoir si telle classe implémente telle interface. D'une manière ou d'une autre il faut parcourir toutes tes classes pour savoir si elles implémentent ton interface. Tout est dans ce "d'une manière ou d'une autre" pour parcourir les classes !
Je pense maintenant que dans JarFile http://java.sun.com/j2se/1.4.2/docs/api/java/util/jar/JarFile.html il y a ce qu'il faut: une méthode Enumeration entries()
Il faut juste extraire l'URL de base à partir de: URL = url getClass().getClassLoder().getResource( getClass().getName() );
c à dire ce qu'il y a avant .jar . Bien sûr si c'est pas un jar il faut écrire du code pour parcourir des réperoires.
BCEL (apache) peut éventuellement faire la même chose, l'intérêt étant que tu n'as pas à charger les class. BCEL est un projet intéressant, mais il ne fait pas ce que je veux.
Je ne vois pas en quoi parcourir "le répertoire de cette URL" t'aidera, à moins que toutes les classes implémentant la dite interface soient dans le même package ...
Cédric
NON, l'API java.lang.reflect ne fait pas ça , ni Class qui permet d'accéder aux ancêtres, mais pas aux descendants.
En gros, je pense qu'il faut agir avec qqchose du genre :
et ensuite parcourir le répertoires de cet URL. Rien de simple et de tout fait :-(
Jean-Marc Vanel wrote:
Bonjour
Est-ce quelqu'un a une recette pour récupérer par programme la liste des classes qui implémentent une interface ?
Ce que fait eclipse, mais je ne veux pas (pour l'instant) développer un plug-in eclipse.
L'API java.lang.reflec est fait pour ça.
Olivier
Ben oui mais quand même l'api java.lang.reflect permet de savoir si
telle classe implémente telle interface.
D'une manière ou d'une autre il faut parcourir toutes tes classes pour
savoir si elles implémentent ton interface.
Tout est dans ce "d'une manière ou d'une autre" pour parcourir les classes !
Je pense maintenant que dans JarFile
http://java.sun.com/j2se/1.4.2/docs/api/java/util/jar/JarFile.html
il y a ce qu'il faut: une méthode
Enumeration entries()
Il faut juste extraire l'URL de base à partir de:
URL = url getClass().getClassLoder().getResource( getClass().getName() );
c à dire ce qu'il y a avant .jar .
Bien sûr si c'est pas un jar il faut écrire du code pour parcourir des réperoires.
BCEL (apache) peut éventuellement faire la même chose, l'intérêt étant
que tu n'as pas à charger les class.
BCEL est un projet intéressant, mais il ne fait pas ce que je veux.
Je ne vois pas en quoi parcourir "le répertoire de cette URL" t'aidera,
à moins que toutes les classes implémentant la dite interface soient
dans le même package ...
Cédric
NON, l'API java.lang.reflect ne fait pas ça , ni Class qui permet
d'accéder aux ancêtres, mais pas aux descendants.
En gros, je pense qu'il faut agir avec qqchose du genre :
Ben oui mais quand même l'api java.lang.reflect permet de savoir si telle classe implémente telle interface. D'une manière ou d'une autre il faut parcourir toutes tes classes pour savoir si elles implémentent ton interface. Tout est dans ce "d'une manière ou d'une autre" pour parcourir les classes !
Je pense maintenant que dans JarFile http://java.sun.com/j2se/1.4.2/docs/api/java/util/jar/JarFile.html il y a ce qu'il faut: une méthode Enumeration entries()
Il faut juste extraire l'URL de base à partir de: URL = url getClass().getClassLoder().getResource( getClass().getName() );
c à dire ce qu'il y a avant .jar . Bien sûr si c'est pas un jar il faut écrire du code pour parcourir des réperoires.
BCEL (apache) peut éventuellement faire la même chose, l'intérêt étant que tu n'as pas à charger les class. BCEL est un projet intéressant, mais il ne fait pas ce que je veux.
Je ne vois pas en quoi parcourir "le répertoire de cette URL" t'aidera, à moins que toutes les classes implémentant la dite interface soient dans le même package ...
Cédric
NON, l'API java.lang.reflect ne fait pas ça , ni Class qui permet d'accéder aux ancêtres, mais pas aux descendants.
En gros, je pense qu'il faut agir avec qqchose du genre :