## 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-2009 The Grails project