Есть ли способ заставить этот код работать?Java: Простая техника для ввода кода на основе аннотаций?
LogonControl.java
@Audit(AuditType.LOGON)
public void login(String username, String password) {
// do login
}
AuditHandler.java
public void audit(AuditType auditType) {
// persist audit
}
Endgame быть, что каждый раз, когда Логин() вызывается, аудит() также называется, с соответствующим audittype.
Я полагаю, что AOP, вероятно, является решением этого вопроса, но я хотел бы, чтобы он был как можно более простым (обучающие материалы AspectJ, на которые я смотрел, обычно имеют очень запутанные аннотации).
Примечание: я не хочу предопределять методы, которые будут вызывать аудит, я пишу это для расширяемой структуры, а другим, возможно, придется ее использовать.
Что должен делать код? Должен ли метод audit() вызываться каждый раз, когда вызывается метод, который аннотируется с помощью @Audit? –
@ Эско Луонтола - да, точно. –