public class BenchmarkInterceptor extends Object implements Interceptor
getCalls()and
statistic()API.
Example usage:
 def proxy = ProxyMetaClass.getInstance(ArrayList.class)
 proxy.interceptor = new BenchmarkInterceptor()
 proxy.use {
     def list = (0..10000).collect{ it }
     4.times { list.size() }
     4000.times { list.set(it, it+1) }
 }
 proxy.interceptor.statistic()
 
 Which produces the following output: 
 [[size, 4, 0], [set, 4000, 21]]
| Constructor and Description | 
|---|
BenchmarkInterceptor()  | 
| Modifier and Type | Method and Description | 
|---|---|
Object | 
afterInvoke(Object object,
           String methodName,
           Object[] arguments,
           Object result)
This code is executed after the method is called. 
 | 
Object | 
beforeInvoke(Object object,
            String methodName,
            Object[] arguments)
This code is executed before the method is called. 
 | 
boolean | 
doInvoke()
The call should be invoked separately 
 | 
Map | 
getCalls()
Returns the raw data associated with the current benchmark run. 
 | 
void | 
reset()
Resets all the benchmark data on this object. 
 | 
List | 
statistic()
Returns benchmark statistics as a List<Object[]>. 
 | 
protected Map calls
public Map getCalls()
public void reset()
public Object beforeInvoke(Object object, String methodName, Object[] arguments)
beforeInvoke in interface Interceptorobject - receiver object for the method callmethodName - name of the method to callarguments - arguments to the method callpublic Object afterInvoke(Object object, String methodName, Object[] arguments, Object result)
afterInvoke in interface Interceptorobject - receiver object for the called methodmethodName - name of the called methodarguments - arguments to the called methodresult - result of the executed method call or result of beforeInvoke if method was not calledpublic boolean doInvoke()
doInvoke in interface Interceptorpublic List statistic()