Java-аннотации с сохранением во время выполнения (то есть те, которые вы можете получить с помощью рефлексии) доступны только непосредственно из элемента, в котором присутствует аннотация. Так что вам придется пройтись по методам и проверить аннотации, которые есть в вашем примере.
Если вам нужно много обработать аннотации на уровне класса, я предлагаю вам создать служебный класс, который делает это:
public class AnnotationUtils {
public static int countMethodsWithAnnotation(Class<?> klass,
Class<?> annotation) {
int count = 0;
for (Method m : klass.getMethods()) {
if (m.isAnnotationPresent(annotation)) {
count++;
}
}
return count;
}
// Other methods for custom annotation processing
}
Затем вы можете использовать служебный класс для получения необходимой информации в одном вызове метода, как вам требуется в остальной части кода:
int count = AnnotationUtils.countMethodsWithAnnotation(ParseTree.class,
Analyze.class);