Нет, насколько мне известно, вы не можете сделать это, не задумываясь, учитывая, что вам нужно сделать аннотацию обработки. Вы можете использовать модификатор # isPubli c, чтобы определить, является ли поле или метод опубликованным c. Вам также следует использовать ElementType.METHOD, если вы хотите поддерживать методы, как указано.
На несвязанной ноте, не стесняйтесь проверить ClassGraph или Reflections для некоторых apis отражения, которые могут сделать вашу жизнь проще.
// if a method or field
if (!Modifier.isPublic(method)) {
throw new IllegalStateException("Modifier must be public.");
}
// if a field
if (!Modifier.isPublic(field)) {
throw new IllegalStateException("Modifier must be public.");
}
@Target({ ElementType.FIELD, ElementType.METHOD })