Package net.sf.cglib.proxy

## Interface MethodInterceptor

All Superinterfaces:
  `Callback`

    public interface MethodInterceptor
    extends Callback

General-purpose `Enhancer` callback which provides for "around advice".

Version:
  $Id: MethodInterceptor.java,v 1.8 2004/06/24 21:15:20 herbyderby Exp $
Author:
  Juozas Baliuka baliuka@mwm.lt

### Method Summary

All Methods Instance Methods Abstract Methods
`java.lang.Object` `intercept​(java.lang.Object obj, java.lang.reflect.Method method, java.lang.Object[] args, MethodProxy proxy)` All generated proxied methods call this method instead of the original method.

### Method Detail

#### intercept

    java.lang.Object intercept​(java.lang.Object obj,
                               java.lang.reflect.Method method,
                               java.lang.Object[] args,
                               MethodProxy proxy)
                        throws java.lang.Throwable

All generated proxied methods call this method instead of the original method. The original method may either be invoked by normal reflection using the Method object, or by using the MethodProxy (faster).

Parameters:
  `obj` - "this", the enhanced object
  `method` - intercepted Method
  `args` - argument array; primitive types are wrapped
  `proxy` - used to invoke super (non-intercepted method); may be called as many times as needed
Returns:
  any value compatible with the signature of the proxied method. Method returning void will ignore this value.
Throws:
  `java.lang.Throwable` - any exception may be thrown; if so, super method will not be invoked
See Also:
  `MethodProxy`