org.codehaus.groovy.grails.commons.metaclass
Interface Interceptor

All Known Subinterfaces:
ConstructorInterceptor, PropertyAccessInterceptor
All Known Implementing Classes:
AbstractDynamicMethodsInterceptor, GroovyDynamicMethodsInterceptor

public interface Interceptor

Implementers of this interface can be registered in the ProxyMetaClass for notifications about method calls for objects managed by the ProxyMetaClass. Based off the original work in Groovy core, but uses a callback object instead for thread safety

Since:
0.2
Version:
$Revision: $ First Created: 02-Jun-2006 Last Updated: $Date: $
Author:
Dierk Koenig, Graeme Rocher

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, InvocationCallback callback)
          This code is executed before the method is optionally called.
 

Method Detail

beforeInvoke

Object beforeInvoke(Object object,
                    String methodName,
                    Object[] arguments,
                    InvocationCallback callback)
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
callback - The callback object
Returns:
any arbitrary result that replaces the result of the original method call only if the callback object is marked 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.


Copyright (c) 2005-2006 The Grails project