В следующем фрагменте кода мне нужно выполнить некоторую логику всякий раз, когда доступно свойство myList
. Является ли это возможным?Как перехватить статическое свойство в классе java с помощью AspectJ?
public class Test {
public static List<String> myList = new ArrayList();
public static void addData(){
myList.add("foo");
myList.add("bar");
}
public static void removeData(){
if(myList.size() > 0){
myList.remove(0);
}
}
public static void displayData(){
for (String data : myList) {
System.out.println("data : "+data);
}
}
public static void main(String[] args) {
addData();
displayData();
removeData();
displayData();
}
}
Это то, что вы делаете myList частным, а все аксессоры - в вашем классе. В противном случае вам нужно найти адреса памяти myList во время выполнения и установить аппаратные точки останова, как это делает отладчик. –
Допустим, что это частная собственность, и все аксессоры находятся в одном классе, а не могли бы вы помочь мне с образцом кода для перехвата? – ashishakp