package org.nutz.ioc.json.pojo;
import java.lang.reflect.Method;
import org.nutz.aop.interceptor.AbstractMethodInterceptor;
public class AnimalListener extends AbstractMethodInterceptor {
private StringBuilder sb;
public AnimalListener(StringBuilder sb) {
this.sb = sb;
}
public boolean beforeInvoke(Object obj, Method method, Object... args) {
sb.append("B:").append(method.getName()).append(args.length).append(';');
return true;
}
public Object afterInvoke(Object obj, Object returnObj, Method method, Object... args) {
sb.append("A:").append(method.getName()).append(args.length).append(';');
return returnObj;
}
public boolean whenError(Throwable e, Object obj, Method method, Object... args) {
sb.append("E:").append(method.getName()).append(';');
return false;
}
public boolean whenException(Exception e, Object obj, Method method, Object... args) {
sb.append("E:").append(method.getName()).append(';');
return false;
}
}