Я хочу использовать аспект для добавления getter и setter для частного поля id. Я знаю, как добавить метод через аспект, но как я могу получить доступ к частному идентификатору?AspectJ: Доступ к закрытым полям?
I thoght, что я просто должен сделать аспект установленным. Я попробовал следующий код, но этот аспект не может получить доступ к полю id.
public privileged aspect MyAspect {
public String Item.getId(){
return this.id;
}
Возможность будет пользовательскому отражения, как показано в этом блоге: http://blog.m1key.me/2011/05/aop-aspectj-field-access-to-inejct.html
ли отражение единственная возможность или есть способ сделать это с AspectJ?
Спасибо. Я попробовал еще раз, и он работает. Eclipse отмечает, что строка имеет ошибку, но когда я ее запускаю, она работает нормально. Вчера я даже не пробовал, потому что доверял Eclipse. Это реально emberassing для меня ... – punkyduck
Да, затмение немного напуганное с объявлениями типа Inter, а также сглаженными исключениями, но компиляция в любом случае. :-) – anjosc
Я не использовал «привилегированные» ключевые слова. Спасибо за полный пример! – dieend