com.bstek.dorado.util.proxy
public abstract class MethodInterceptorDispatcher extends java.lang.Object implements org.aopalliance.intercept.MethodInterceptor, net.sf.cglib.proxy.MethodInterceptor, javassist.util.proxy.MethodHandler
此类主要用于将一个基于net.sf.cglib.proxy.MethodInterceptor的方法拦截器中的调用 分发到一个或一组org.aopalliance.intercept.MethodInterceptor方法拦截器中。 使用此分发器即可以保证应用中定义的org.aopalliance.intercept.MethodInterceptor方法拦截器 可以同时应用于Cglib和Spring AOP,又可以实现对方法的迭代拦截(即同时启用多个拦截器拦截被代理对象的同一个方法)。
| Constructor and Description | 
|---|
MethodInterceptorDispatcher()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected org.aopalliance.intercept.MethodInterceptor | 
createCglibFinalMethodInterceptor(net.sf.cglib.proxy.MethodProxy methodProxy)  | 
protected org.aopalliance.intercept.MethodInterceptor | 
createFinalAopallianceMethodInterceptor(org.aopalliance.intercept.MethodInvocation methodInvocation)  | 
protected org.aopalliance.intercept.MethodInterceptor | 
createJavassistFinalMethodInterceptor(java.lang.reflect.Method method,
                                     java.lang.reflect.Method procssed)  | 
protected abstract org.aopalliance.intercept.MethodInvocation | 
createMethodInvocation(java.lang.Object object,
                      java.lang.reflect.Method method,
                      java.lang.Object[] args,
                      MethodInterceptorChain methodInterceptorChain)
创建一个用于org.aopalliance.intercept. 
 | 
protected boolean | 
filterMethod(java.lang.reflect.Method method)  | 
abstract MethodInterceptorFilter | 
getMethodInterceptorFilter(java.lang.Object object,
                          java.lang.reflect.Method method,
                          java.lang.Object[] args)  | 
protected java.lang.Object | 
getObjectForSerialization(java.lang.Object object)  | 
org.aopalliance.intercept.MethodInterceptor[] | 
getSubMethodInterceptors()
返回子方法拦截器的数组。 
 | 
java.lang.Object | 
intercept(java.lang.Object object,
         java.lang.reflect.Method method,
         java.lang.Object[] args,
         net.sf.cglib.proxy.MethodProxy methodProxy)  | 
java.lang.Object | 
invoke(org.aopalliance.intercept.MethodInvocation methodInvocation)  | 
java.lang.Object | 
invoke(java.lang.Object object,
      java.lang.reflect.Method method,
      java.lang.reflect.Method procssed,
      java.lang.Object[] args)  | 
void | 
setSubMethodInterceptors(org.aopalliance.intercept.MethodInterceptor[] subMethodInterceptors)  | 
public org.aopalliance.intercept.MethodInterceptor[] getSubMethodInterceptors()
public void setSubMethodInterceptors(org.aopalliance.intercept.MethodInterceptor[] subMethodInterceptors)
public abstract MethodInterceptorFilter getMethodInterceptorFilter(java.lang.Object object, java.lang.reflect.Method method, java.lang.Object[] args)
protected abstract org.aopalliance.intercept.MethodInvocation createMethodInvocation(java.lang.Object object,
                                                                java.lang.reflect.Method method,
                                                                java.lang.Object[] args,
                                                                MethodInterceptorChain methodInterceptorChain)
object - 被代理对象method - 被代理方法args - 被代理方法的参数methodInterceptorChain - 用于迭代所有子方法拦截器的迭代器(包含
            #createFinalMethodInterceptor(MethodProxy)返回的拦截器)protected org.aopalliance.intercept.MethodInterceptor createFinalAopallianceMethodInterceptor(org.aopalliance.intercept.MethodInvocation methodInvocation)
protected org.aopalliance.intercept.MethodInterceptor createCglibFinalMethodInterceptor(net.sf.cglib.proxy.MethodProxy methodProxy)
protected org.aopalliance.intercept.MethodInterceptor createJavassistFinalMethodInterceptor(java.lang.reflect.Method method,
                                                                                java.lang.reflect.Method procssed)
protected boolean filterMethod(java.lang.reflect.Method method)
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation methodInvocation)
                        throws java.lang.Throwable
java.lang.Throwablepublic java.lang.Object intercept(java.lang.Object object,
                         java.lang.reflect.Method method,
                         java.lang.Object[] args,
                         net.sf.cglib.proxy.MethodProxy methodProxy)
                           throws java.lang.Throwable
intercept in interface net.sf.cglib.proxy.MethodInterceptorjava.lang.Throwableprotected java.lang.Object getObjectForSerialization(java.lang.Object object)
                                              throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object invoke(java.lang.Object object,
                      java.lang.reflect.Method method,
                      java.lang.reflect.Method procssed,
                      java.lang.Object[] args)
                        throws java.lang.Throwable
invoke in interface javassist.util.proxy.MethodHandlerjava.lang.ThrowableCopyright © 2001-2011 www.BSTEK.com All Rights Reserved.