samedi 25 avril 2009
Atteindre directement l'implémentation d'une interface grâce au plug-in Implementors pour Eclipse
Par Philippe De Oliveira, samedi 25 avril 2009 à 01:48 dans Java

Tout (bon) développeur Java qui se respecte utilise des interfaces afin généralement d'améliorer le découplage en utilisant une couche d'abstraction définie par l'interface. Néanmoins, lors du développement, cette couche d'abstraction devient vite enquiquinante. Prenons l'exemple classique d'une couche de service définie par l'interface ISecurityService. Afin de s'abstraire de l'implémentation sous-jacente (LDAPSecurityService, DBSecurityService, etc.), seule l'interface est manipulée dans le code. On obtient quelque chose de ce style :
... private ISecurityService securityService; // Some dependency injection is done securityService.authenticateUser(username, password); ...
Avec Eclipse, si l'on souhaite regarder l'implémentation d'une méthode, l'habitude est prise d'utiliser la touche F3 ("Go To Definition") ou de faire un CTRL+click pour les fans de souris. Malheureusement, le type de l'objet sur lequel la méthode est appelée est ISecurityService. Eclipse vous ouvre donc le code de l'interface ! Ce qui n'est bien sûr pas ce qui était recherché.
Résultat, une fois l'interface ouverte, l'on est obligé d'utiliser la touche F4 (show hierarchy) afin de pouvoir visualiser les différentes implémentations de l'interface et ouvrir celle dont on souhaite voir les sources. Et encore, n'oublions pas qu'une fois l'implémentation ouverte, on y est d'un CTRL+O afin de trouver la méthode que l'on cherchait (si après tout ça on se souvient encore de son nom...).
L'autre solution est de retenir le nom de toutes les implémentations pour toutes les interfaces, et d'utiliser CTRL+SHIFT+T (open type) afin d'ouvrir directement la bonne classe dès le départ. Cette solution bien que satisfaisante, oblige à retenir le nom des implémentations et ne positionne toujours pas sur la bonne méthode de la classe implémentant l'interface.
Heureusement, un plug-in existe (comme toujours sur Eclipse) ! Ce plug-in est des plus simples. Il suffit d'utiliser la combinaison ALT+F3 (au lieu de F3) sur la méthode et le plug-in ouvre directement l'implémentation de l'interface et vous positionne sur la méthode concernée ! Cerise sur le gâteau, s'il détecte plus d'une implémentation, une fenêtre s'ouvre et propose toutes les implémentations trouvées. C'est pas beautiful ça les body boys ?!
Pour l'installer, rendez-vous sur le site du plug-in Implementors.
Commentaires
1. Le samedi 25 avril 2009 à 09:39, par benj
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.