Comment trouver des méthodes annotées dans un package donné?

J'ai un simple marqueur d'annotation pour les méthodes (similaire à la première exemple à l'Article 35 dans Efficace Java (2e éd)):

/**
 * Marker annotation for methods that are called from installer's 
 * validation scripts etc. 
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface InstallerMethod {
}

Puis, dans un package donné (disons com.acme.installer), qui a un peu sous-paquets contenant des 20 classes, je voudrais trouver toutes les méthodes annotées avec elle. (Parce que j'aimerais faire quelques vérifications concernant toutes les méthodes annotées dans un test unitaire.)

Quel est le moyen le plus facile de faire cela? De préférence sans l'ajout de nouveau 3ème partie les bibliothèques ou les cadres.

Modifier: pour clarifier, évidemment method.isAnnotationPresent(InstallerMethod.class) sera le moyen de vérifier si une méthode a l'annotation - mais ce problème consiste notamment à trouver toutes les méthodes.

  • Vérifier stackoverflow.com/questions/520328/...
  • Hmm, ouais, je suppose que cela revient à remettre en question (qui je l'ai demandé en février). 😛 Mais attendu que le droit de réponse a été "non, il ne peut être fait à l'aide de la réflexion", ici, la question est de savoir comment trouver annoté méthodes plus facilement, en utilisant tous les moyens...
  • Parce que la partie la plus difficile ici n'est pas vraiment liée à des annotations (mais de trouver des classes de colis), cette question n'est pas aussi pertinente que je ne le pensais. :/ Bon, peut-être que cela pourrait aider quelqu'un à interroger à propos de la même chose...
InformationsquelleAutor Jonik | 2009-05-14