Рассмотрим этот код:
class DatabaseCommands {
@Privilege(ADMIN)
public void delete(Something thingToDelete, User currentUser) {
/* ... */
}
}
В настоящее время в этот метод встроена проверка доступа, чтобы проверить, обладает ли currentUser
необходимыми правами для выполнения команды базы данных (и выдает исключение, если нет).
Что мне нужно добавить в мой файл AspectJ, чтобы новый метод
public boolean deleteAllowed(Something thingToDelete, User currentUser)
добавляется в класс с теми же проверками доступа, но без выполнения команды?
Этот вариант использования, похоже, похож на тот, который используется для добавления методов получения / установки к полям, например
class Foo {
@Getter @Setter
String name = ""
}