Class MethodCallAdapter

java.lang.Object
xyz.cofe.sql.cpool.proxy.MethodCallAdapter
All Implemented Interfaces:
MethodArgsRewrite, MethodCallListener, MethodCallRewrite
Direct Known Subclasses:
ConnectionTracker, StatementTracker

public class MethodCallAdapter
extends java.lang.Object
implements MethodCallListener, MethodArgsRewrite, MethodCallRewrite
Имлементация MethodCallListener
Author:
Kamnev Georgiy (nt.gocha@gmail.com)
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected boolean rewriteArguments  
  • Constructor Summary

    Constructors 
    Constructor Description
    MethodCallAdapter()  
  • Method Summary

    Modifier and Type Method Description
    void beginCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args)
    Вызывается перед началом метода
    HookResult endCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args, java.lang.Object callResult, java.lang.Throwable err)
    Вызывается по завершению метода
    boolean isRewriteArguments()
    Переписывать аргументы вызова
    boolean isRewriteCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method method, java.lang.Object[] args)
    Определяет надо переопределять вызов метода или нет
    HookArguments rewriteArguments​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args, java.util.List<java.lang.Object[]> previous)
    Вызывается перед началом метода
    java.lang.Object rewriteCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method method, java.lang.Object[] args)
    Вызывается вместо вызова исходного метода, если вызов метода isRewriteCall вернуло true
    void setRewriteArguments​(boolean redefArgs)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • beginCall

      public void beginCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args)
      Description copied from interface: MethodCallListener
      Вызывается перед началом метода
      Specified by:
      beginCall in interface MethodCallListener
      Parameters:
      proxy - Прокси объект
      source - Исходный объект
      meth - Метод
      args - Аргументы
    • endCall

      public HookResult endCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args, java.lang.Object callResult, java.lang.Throwable err)
      Description copied from interface: MethodCallListener
      Вызывается по завершению метода
      Specified by:
      endCall in interface MethodCallListener
      Parameters:
      proxy - Прокси объект
      source - Исходный объект
      meth - Метод
      args - Аргументы
      callResult - Результат вызова
      err - Ошибка вызова
      Returns:
      Переписание результата вызова
    • isRewriteArguments

      public boolean isRewriteArguments()
      Description copied from interface: MethodArgsRewrite
      Переписывать аргументы вызова
      Specified by:
      isRewriteArguments in interface MethodArgsRewrite
      Returns:
      true - переписывать - т.е. вызов rewriteArguments
    • setRewriteArguments

      public void setRewriteArguments​(boolean redefArgs)
    • rewriteArguments

      public HookArguments rewriteArguments​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args, java.util.List<java.lang.Object[]> previous)
      Description copied from interface: MethodArgsRewrite
      Вызывается перед началом метода
      Specified by:
      rewriteArguments in interface MethodArgsRewrite
      Parameters:
      proxy - Прокси объект
      source - Исходный объект
      meth - Метод
      args - Аргументы
      previous - Предыдущие варианты аргументов
      Returns:
      Переписанные аргументы
    • isRewriteCall

      public boolean isRewriteCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method method, java.lang.Object[] args)
      Description copied from interface: MethodCallRewrite
      Определяет надо переопределять вызов метода или нет
      Specified by:
      isRewriteCall in interface MethodCallRewrite
      Parameters:
      proxy - прокси объекта
      source - исходный объект
      method - метод
      args - аргументы метода
      Returns:
      true - необходимо переопределить вызов - вызвать rewriteCall
      See Also:
      MethodCallRewrite.rewriteCall(Object, Object, Method, Object[])
    • rewriteCall

      public java.lang.Object rewriteCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method method, java.lang.Object[] args)
      Description copied from interface: MethodCallRewrite
      Вызывается вместо вызова исходного метода, если вызов метода isRewriteCall вернуло true
      Specified by:
      rewriteCall in interface MethodCallRewrite
      Parameters:
      proxy - прокси объекта
      source - исходный объект
      method - метод
      args - аргументы метода
      Returns:
      результат вызова