title: Implementing a wormhole pattern using AspectJ
body: <p>I'm looking for an example to a wormhole pattern implementation using AspectJ (would be interested if Guice AOP has the power to implement this).</p>
  
  <p>A worm hole essentially allows you to pass additional parameters along the call flow for example:</p>
  
  <pre><code>// say we have
  class foo {
     public int m0 int a, int b) {
       return m1(a,b);
     }
  
     public int m1 int a, int b) {
       return m2(a,b);
     }
  
     public int m2 int a, int b) {
       return a+b;
     }
  }
  // and I wanted in a non-invasive manner to pass a third parameter of type
  class context {
    String userName;
    long timeCalled;
    String path;
  }
  // I could use an advise to say print the context information
  // to trace what was going on without mucking up my method signatures 
  </code></pre>
  
  <p>I believe this Ramnivas Laddad has such an example in his book AspectJ in Action.</p>
  
  <p>Thanks in advance.</p>