Я решаю задачу для школьной работы.скажем, у меня есть класс следующим образом
class test {
public String foo(int i) {
printvalue(i);
return "foo";
}
public void printvalue(int i) {
System.out.println(i);
}
}
class Solution {
public static void main(String[] args) {
System.out.println(new test().foo(10));
}
}
вывод равен
10 foo
Теперь я создаю Java-агент, который будет перехватывать все вызовы foo иЯ хочу создать новый метод в bar следующим образом и заменить все вызовы foo просто вызовом bar (int i), а затем вернуться.
public String bar(int i) {
printvalue(i);
return "bar";
}
, поэтому выходной сигнал main должен измениться на
10 бар
Как этого добиться.Я искал, чтобы использовать bytebuddy или javassist, чтобы сделать это.Любая помощь приветствуется