[Reflection] Obtenir toutes les classes implémentant une interface
Bonjour à tous,
dans un projet, j'aurais besoin de trouver la liste de toutes les classes concrètes implémentant une interface. Le but étant de lister dynamiquement toutes les classes que je pourrais instancier dans une situation donnée, afin d'en choisir une aléatoirement.
Je ne connais pas, à priori, les noms de ces classes. Je ne connais que le package auquel elles doivent appartenir.
Quelqu'un sait comment faire ?
Merci ! :wink:
Re: [reflect]Obtenir toutes les classes implémentant une int
Citation:
Envoyé par Pill_S
dans un projet, j'aurais besoin de trouver la liste de toutes les classes concrètes implémentant une interface.
déjà pour la première partie, y a pas de problème. une fois l'objet Class en ta possession, tu peux le tester par
Code:
1 2
| //oInterface est un objet Class représentant l'interface
oInterface.isAssignableFrom(oClass) |
la vraie question à mon avis est comment récupérer la liste des classes appartenant aux packages disponibles ou au classPath. Là, j'avoue ne pas connaitre une méthode toute faite. Une solution possible serait de parcourir toutes les repértoires et jars contenus ds le classpath