Как добавить поле в пользовательский аннотированный класс, используя AspectJ
Чтобы добавить поле к некоторому определенному классу с аспектом, мы делаем
package com.test;
public class MyClass {
private String myField;
}
public aspect MyAspect
{
private String MyClass.myHiddenField;
}
Как мы добавляем поле к классу, который помечен какой-то пользовательской аннотацией?
пример использования: если класс аннотирован@CustomLoggable
добавитьLogger
поле и некоторые методы.
или же
если метод имеет@ReadLocked
аннотация, то класс будет иметьReentrantReadWriteLock
поле и соответствующая логика вводятся и т. д.