Overview | Package | Class | Deprecated | Index | Help
| Groovy 1.7.10
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD

## groovy.lang
[Java] Interface Interceptor

    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.

Authors:
  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()` @return whether the target method should be invoked at all.

Method Detail

### afterInvoke

    public 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.

### beforeInvoke

    public 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.

### doInvoke

    public boolean doInvoke()

  Returns:
    whether the target method should be invoked at all.

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