## groovy.lang
Class BenchmarkInterceptor

    java.lang.Object
      groovy.lang.BenchmarkInterceptor

All Implemented Interfaces:
  Interceptor

    public class BenchmarkInterceptor

extends Object
implements Interceptor

Interceptor that registers the timestamp of each method call before and after invocation.

Field Summary
`protected Map` `calls`

Constructor Summary
`BenchmarkInterceptor()`

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()`
`Map` `getCalls()`
`void` `reset()`
`List` `statistic()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### calls

    protected Map calls

Constructor Detail

### BenchmarkInterceptor

    public BenchmarkInterceptor()

Method Detail

### getCalls

    public Map getCalls()

### reset

    public void reset()

### beforeInvoke

    public Object beforeInvoke(Object object,
                               String methodName,
                               Object[] arguments)

  Description copied from interface: `Interceptor`
  This code is executed before the method is optionally called.

  Specified by:
    `beforeInvoke` in interface `Interceptor`
  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.

### afterInvoke

    public Object afterInvoke(Object object,
                              String methodName,
                              Object[] arguments,
                              Object result)

  Description copied from interface: `Interceptor`
  This code is executed after the method is optionally called.

  Specified by:
    `afterInvoke` in interface `Interceptor`
  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.

### doInvoke

    public boolean doInvoke()

  Specified by:
    `doInvoke` in interface `Interceptor`
  Returns:
    whether the target method should be invoked at all.

### statistic

    public List statistic()

  Returns:
    a list of lines, each item is [methodname, numberOfCalls, accumulatedTime]

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