Я хотел бы написать аспект AspectJ, который защищает все методы наших классов Java, которые имеют ограничение проверки javax. т.е. для следующего кода
@Target({METHOD})
@Retention(RUNTIME)
@Constraint
public @interface NiceMessage {
}
public class Sample {
void doSomething(@NiceMessage String message) {
}
void doSomethingElse(String message) {
}
}
pointcut «до» следует использовать для метода «doSomething», но не для метода «doSomethingElse». Таким образом, pointcut должен применяться ко всем методам, которые содержат хотя бы один параметр с аннотацией, которая сама имеет аннотацию @Constraint.
Как такой pointcut может быть выражен с помощью AspectJ?