*/
public static class TraceAspect {
private int m_level = 0;
public Object trace(final JoinPoint joinPoint) throws Throwable {
MemberSignature signature = (MemberSignature) joinPoint.getSignature();
indent();
System.out.println("--> "
+ signature.getDeclaringType().getName()
+ "::"
+ signature.getName());
m_level++;
final Object result = joinPoint.proceed();
m_level--;
indent();
System.out.println("<-- "
+ signature.getDeclaringType().getName()
+ "::"
+ signature.getName());
return result;
}