Package groovy.lang

Interface Interceptor

All Known Subinterfaces:
PropertyAccessInterceptor
All Known Implementing Classes:
BenchmarkInterceptor, TracingInterceptor

public interface Interceptor
Implementers of this interface can be registered in the ProxyMetaClass for notifications about method calls for objects managed by the ProxyMetaClass. See groovy/lang/InterceptorTest.groovy for details.
  • Method Summary

    Modifier and Type Method Description
    java.lang.Object afterInvoke​(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments, java.lang.Object result)
    This code is executed after the method is optionally called.
    java.lang.Object beforeInvoke​(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments)
    This code is executed before the method is optionally called.
    boolean doInvoke()  
  • Method Details

    • beforeInvoke

      java.lang.Object beforeInvoke​(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments)
      This code is executed before the method is optionally called.
      Parameters:
      object - receiver object for the method call
      methodName - name of the method to call
      arguments - arguments to the method call
      Returns:
      any arbitrary result that replaces the result of the original method call only if doInvoke() returns false and afterInvoke() relays this result.
    • afterInvoke

      java.lang.Object afterInvoke​(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments, java.lang.Object result)
      This code is executed after the method is optionally called.
      Parameters:
      object - receiver object for the called method
      methodName - name of the called method
      arguments - arguments to the called method
      result - result of the executed method call or result of beforeInvoke if method was not called
      Returns:
      any arbitrary result that can replace the result of the original method call. Typically, the result parameter is returned.
    • doInvoke

      boolean doInvoke()
      Returns:
      whether the target method should be invoked at all.