I - 接口类型T - 接口实现类型public abstract class BaseInterfaceDecorator<I,T> extends java.lang.Object implements java.lang.reflect.InvocationHandler, Delegator<T>, InterfaceDecoratorProbe
invoke(Object, Method, Object[])方法,
也可以通过注册侦听器InterfaceDecoratorProbe在方法调用时实现应用逻辑InterfaceDecoratorProbe.DefaultProbe| 限定符和类型 | 字段和说明 |
|---|---|
protected T |
delegate |
protected java.lang.Class<I> |
interfaceClass |
| 限定符 | 构造器和说明 |
|---|---|
protected |
BaseInterfaceDecorator(java.lang.Class<I> interfaceClass,
T delegate)
构造方法
|
protected |
BaseInterfaceDecorator(java.lang.Class<I> interfaceClass,
T delegate,
boolean allowBreak)
构造方法
|
protected |
BaseInterfaceDecorator(T delegate)
简化版构造函数
当delegate只实现了一个接口时,自动推断接口类型 |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
beforeInvoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
顺序调用
listeners中的所有侦听器对象的
InterfaceDecoratorProbe.beforeInvoke(Object, Method, Object[])方法,
allowBreak为true时,允许侦听器抛出异常,中断调用,否则输出错误日志 |
T |
delegate() |
protected abstract java.lang.Object |
doInvoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args) |
java.lang.Class<I> |
getInterfaceClass()
返回代理的接口类
|
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
执行接口方法调用,在调用前,调用成功后,调用发生异常,调用结束时执行所有注册的侦听器(
InterfaceDecoratorProbe) |
void |
onComplete(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Object result)
|
void |
onDone(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
顺序调用
listeners中的所有侦听器对象的
InterfaceDecoratorProbe.onDone(Object, Method, Object[])方法 |
void |
onError(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Throwable error)
|
I |
proxyInstance()
根据当前对象创建新的接口实例
|
boolean |
registerListener(InterfaceDecoratorProbe listener)
注册侦听器
重复注册返回 false |
boolean |
registerListener(InterfaceDecoratorProbe listener,
boolean header)
注册侦听器
重复注册返回 false |
static void |
setDebug(boolean debug) |
boolean |
unregisterListener(InterfaceDecoratorProbe listener)
卸载指定的侦听器
|
protected final java.lang.Class<I> interfaceClass
protected final T delegate
protected BaseInterfaceDecorator(java.lang.Class<I> interfaceClass, T delegate)
interfaceClass - 接口类delegate - 实现接口的类,如果子类用不delegate字段可以为nullprotected BaseInterfaceDecorator(java.lang.Class<I> interfaceClass, T delegate, boolean allowBreak)
interfaceClass - 接口类delegate - 实现接口的类,如果子类用不delegate字段可以为nullallowBreak - 为true时允许 beforeInvoke(Object, Method, Object[])抛出异常protected BaseInterfaceDecorator(T delegate)
delegate - public static void setDebug(boolean debug)
protected abstract java.lang.Object doInvoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.Throwable
java.lang.Throwablepublic java.lang.Object invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.Throwable
InterfaceDecoratorProbe)invoke 在接口中 java.lang.reflect.InvocationHandlerjava.lang.Throwablepublic final java.lang.Class<I> getInterfaceClass()
public final I proxyInstance()
Proxy.newProxyInstance(ClassLoader, Class[], InvocationHandler)public boolean registerListener(InterfaceDecoratorProbe listener)
falselistener - 要注册的侦听器true,否则返回falsepublic boolean registerListener(InterfaceDecoratorProbe listener, boolean header)
falselistener - 要注册的侦听器header - 为true添加到队列头部,否则顺序添加到尾部true,否则返回falsepublic boolean unregisterListener(InterfaceDecoratorProbe listener)
listener - true,否则返回falsepublic void beforeInvoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.Exception
listeners中的所有侦听器对象的
InterfaceDecoratorProbe.beforeInvoke(Object, Method, Object[])方法,
allowBreak为true时,允许侦听器抛出异常,中断调用,否则输出错误日志beforeInvoke 在接口中 InterfaceDecoratorProbeproxy - 接口实例method - 接口方法args - 方法参数java.lang.Exception - 抛出异常中断调用public void onComplete(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Object result)
onComplete 在接口中 InterfaceDecoratorProbeproxy - 接口实例method - 接口方法args - 方法参数result - 接口方法调用返回值public void onError(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Throwable error)
onError 在接口中 InterfaceDecoratorProbeproxy - 接口实例method - 接口方法args - 方法参数error - 接口方法调用抛出的异常public void onDone(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
listeners中的所有侦听器对象的
InterfaceDecoratorProbe.onDone(Object, Method, Object[])方法onDone 在接口中 InterfaceDecoratorProbeproxy - 接口实例method - 接口方法args - 方法参数Copyright © 2023. All Rights Reserved.