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.

Author:
Dierk Koenig

Method Summary
 Object afterInvoke(Object object, String methodName, Object[] arguments, Object result)
          This code is executed after the method is optionally called.
 Object beforeInvoke(Object object, String methodName, Object[] arguments)
          This code is executed before the method is optionally called.
 boolean doInvoke()
           
 

Method Detail

beforeInvoke

Object beforeInvoke(Object object,
                    String methodName,
                    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

Object afterInvoke(Object object,
                   String methodName,
                   Object[] arguments,
                   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.

Copyright © 2003-2009 The Codehaus. All rights reserved.