Как я могу определить метод, а затем украсить его (несколько раз) с помощью ByteBuddy? это мой пример
Builder<Object> builder = new ByteBuddy().subclass(Object.class).name("Dynamic");
builder = builder.defineMethod("method", void.class, Visibility.PUBLIC)
.intercept(MethodDelegation.to(new Object(){
@RuntimeType
public void intercept(@This Object o) {
System.out.println("Executing code...");
}
}));
builder = builder.method(ElementMatchers.named("method")).
intercept(MethodDelegation.to(new Object(){
@RuntimeType
public void intercept(@This Object o) {
System.out.println("Executing other code...");
}
}));
try {
Class cls = builder.make()
.load(StructClassBuilder.class.getClassLoader())
.getLoaded();
Object obj = cls.newInstance();
cls.getDeclaredMethod("method").invoke(obj, args);
} catch (Exception e1) {
e1.printStackTrace();
}
Выход
Выполнение другого кода...
Я хотел бы, чтобы выход был
Выполнение кода...
Выполнение другого кода...
Спасибо