public class GenericProxy extends Object implements InvocationHandler
| Modifier and Type | Class and Description |
|---|---|
static class |
GenericProxy.Builder<T>
Конструирование Proxy
|
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
finalizeSource |
protected String |
loggerName |
protected List<MethodCallListener> |
methodCallListeners
Подписчики на обработку вызоыва метода целевого объекта.
|
protected Map<String,Level> |
methodLogLevel |
protected Object |
source |
| Constructor and Description |
|---|
GenericProxy(Object source) |
| Modifier and Type | Method and Description |
|---|---|
static <T> GenericProxy.Builder<T> |
builder(T conn,
Class... itfs)
Конструирование Proxy объекта
|
protected void |
finalize() |
protected HookArguments |
fireBeginCall(Object proxy,
Method method,
Object[] args)
Вызывается перед началом вызова целевого метода
|
protected Object |
fireEndCall(Object proxy,
Method method,
Object[] args,
Object result,
Throwable err) |
String |
getLoggerName() |
Object |
invoke(Object proxy,
Method method,
Object[] args)
Вызов целевого метода.
|
protected void |
logInvoke(Object proxy,
Method method,
Object[] args) |
void |
setLoggerName(String lgrName) |
protected Object source
protected final List<MethodCallListener> methodCallListeners
Если подписчик реализовывает интерфейс MethodArgsRewrite, то он будет вызван перед вызовом целевого метода
protected boolean finalizeSource
protected String loggerName
public GenericProxy(Object source)
public String getLoggerName()
public void setLoggerName(String lgrName)
protected void finalize()
throws Throwable
protected HookArguments fireBeginCall(Object proxy, Method method, Object[] args)
proxy - прокси объектmethod - целевой методargs - аргументы вызоваprotected Object fireEndCall(Object proxy, Method method, Object[] args, Object result, Throwable err)
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
Сначала вызывается fireBeginCall который модет вернуть новые аргументы вызова
Если подписчик поддерживает MethodCallRewrite то будет вызван последний подписчик который поддерживает MethodCallRewrite
Последним будет вызван fireEndCall с результатом вызова
invoke in interface InvocationHandlerproxy - проксиmethod - метод целевого объектаargs - аргументThrowable - Ошибка вызова методаpublic static <T> GenericProxy.Builder<T> builder(T conn, Class... itfs)
T - Интерфейс для которого создается Proxyconn - Исходный объектitfs - Интерфейсы которые реализуютсяCopyright © 2019. All rights reserved.