package test.proxy;
import com.firefly.annotation.DestroyedMethod;
import com.firefly.annotation.InitialMethod;
import com.firefly.annotation.Inject;
import com.firefly.utils.ReflectUtils;
import com.firefly.utils.classproxy.ClassProxy;
/**
* @author Pengtao Qiu
*/
public class NameServiceProxy4 implements ClassProxy {
@Inject
private FuckService fuckService;
@Override
public Object intercept(ReflectUtils.MethodProxy handler, Object originalInstance, Object[] args) {
String id = (String) args[0];
System.out.println("enter proxy4, id: " + id);
return handler.invoke(originalInstance, "(p4->" + fuckService.fuck() + id + ",p4->" + fuckService.fuck() + ")");
}
@InitialMethod
public void init() {
System.out.println("init proxy 4 -> " + fuckService.fuck());
}
@DestroyedMethod
public void destroy() {
System.out.println("destroy proxy 4 -> " + fuckService.fuck());
}
}