У меня есть простая аннотация маркера для методов (аналогично первому примеру в пункте 35 в Effective Java (2nd ed)):
/**
* Marker annotation for methods that are called from installer's
* validation scripts etc.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface InstallerMethod {
}
Затем в данном пакете (скажем, com.acme.installer
), который имеет несколько подпакетов, содержащих около 20 классов, я хотел бы найти все методы, которые аннотированы с ним. (Потому что я хотел бы сделать некоторые проверки относительно всех аннотированных методов в модульном тесте.)
Какой (если таковой имеется) самый простой способ сделать это? Желательно без добавления новых сторонних библиотек или фреймворков.
Редактировать : чтобы уточнить, очевидно, method.isAnnotationPresent(InstallerMethod.class)
будет способом проверить, есть ли метод с аннотацией - но эта проблема включает в себя поиск всех методов.