public class InitParamsInterceptor extends AbstractInterceptor {
public void before(InvokeJniInfo invInfo) {
if(invInfo.getArgs().length>0){
//初始化第一个参数
}
return interceptors;
}
private void invokeInterceptorBefor(InvokeJniInfo invInfo){
List interceptors = getIntercetors();
int len = interceptors.size();
//遍历所有拦截器,并调用拦截器的before方法
for(int i = 0;i ((Interceptor)interceptors.get(i)).before(invInfo);
}
}
private void invokeInterceptorAfter(InvokeJniInfo invInfo){
List interceptors = getIntercetors();
int len = interceptors.size();
//遍历所有拦截器,并调用拦截器的after方法
for(int i = len - 1;i >= 0;i--){
((Interceptor)interceptors.get(i)).after(invInfo);
}
}
private void invokeInterceptorExceptionThrow(InvokeJniInfo invInfo){
List interceptors = getIntercetors();
int len = interceptors.size();
//遍历所有拦截器,并调用拦截器的exceptionThrow方法
for(int i = len - 1;i >= 0;i--){
((Interceptor)interceptors.get(i)).exceptionThrow(invInfo);
}
}
}
7.获取动态代理对象工厂InterceptorFactory