package fitnesse.slim.fixtureInteraction;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class LoggingInteraction extends DefaultInteraction {
@Override
public Object methodInvoke(Method method, Object instance, Object... convertedArgs) throws Throwable {
long startTime = System.nanoTime();
Object o = super.methodInvoke(method, instance, convertedArgs);
System.out.println("methodInvoke : " + method.getName() + " = " + (System.nanoTime() - startTime));
return o;
}
@Override
public Object newInstance(Constructor<?> constructor, Object... initargs) throws InvocationTargetException, InstantiationException, IllegalAccessException {
long startTime = System.nanoTime();
Object o = super.newInstance(constructor, initargs);
System.out.println("newInstance : " + (System.nanoTime() - startTime));
return o;
}
}