Я новичок с AspectJ, и я пытаюсь сделать это:Определение локальной переменной имя в AspectJ
Допустим, у меня есть 2 объекта: var_obj1
, var_obj2
.
Они из одного типа: MyObject
.
В моем аспекте я использую совет around()
по методу toString()
на MyObject
. Я хочу вернуть имя переменной объекта
Например, если я позвоню toString()
на var_obj1
, этот метод (на аспекте) должен возвращать: «Привет из var_obj1».
, и если я позвоню toString()
по адресу var_obj2
, этот метод (по аспекту) должен возвращать: «привет от var_obj2».
Это должно быть сделано без сохранения имени переменной в объекте.
Я ищу решение AspectJ для этого.
Мой текущий код:
public static void main(String[] args) {
MyObject var_obj1, var_obj2;
var_obj1 = new MyObject();
var_obj2 = new MyObject();
System.out.println(var_obj1.toString());
System.out.println(var_obj2.toString());
}
Формат:
String around(): execution(String com.example.shapes.MyObject.toString()) {
var object_var_name = ""; // here we need to put the variable object name
return "hello from "+object_var_name;
}