[Commons Discovering] Chercher plusieurs implementations
Bonjour a tous,
J'essaie d'utiliser Commons Discovering pour rechercher les classes qui implementent une certaine interface Modulable.class
J'arrive tres bien a rechercer UNE classe qui implemente cette interface avec ce morceau de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| ClassLoaders loaders =
ClassLoaders.getAppLoaders(Modulable.class, getClass(), false);
DiscoverClass discover = new DiscoverClass(loaders);
Class implClass = discover.find(Modulable.class);
System.err.println("Implementing Provider: " + implClass.getName());
try {
Modulable modulable =
(Modulable) Beans.instantiate(
implClass.getClassLoader(),implClass.getName());
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} |
Le probleme de ce code c'est qu'il permet uniquement de retrouver la premiere classe implementant l'interface.
Comment faire pour retrouver TOUTES les classes implementant l'interface ?
J'ai essaye en partant de DiscoverClasses mais ca ne marche pas.
Quelqu'un aurait deja utilise Commons Discovering dans ce cas ? Ou bien si vous avez d'autres solutions a me proposer, je suis preneur aussi!
Merci d'avance,
sylvain_2020