1
2
3
4 package net.sf.madmap;
5
6 import java.lang.reflect.Method;
7
8 import org.springframework.aop.*;
9
10
11
12
13
14 public class Tracer implements MethodBeforeAdvice, AfterReturningAdvice {
15 int _depth = 0;
16
17 public Tracer() {}
18
19 public void before( Method m, Object[] args, Object target ) {
20 _depth++;
21 for (int i=0; i<_depth; i++) {
22 System.out.print(" ");
23 }
24 System.out.println("--> " + m.getName());
25 }
26
27 public void afterReturning( Object retVal, Method m, Object[] args, Object target ) {
28 for (int i=0; i<_depth; i++) {
29 System.out.print(" ");
30 }
31 System.out.println("<-- " + m.getName());
32 _depth--;
33 }
34 }