1 /***************************************************************************************
2 * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
3 * http://aspectwerkz.codehaus.org *
4 * ---------------------------------------------------------------------------------- *
5 * The software in this package is published under the terms of the LGPL license *
6 * a copy of which has been included with this distribution in the license.txt file. *
7 **************************************************************************************/
8 package test.adviseonintroducedinterface;
9
10 import org.codehaus.aspectwerkz.joinpoint.JoinPoint;
11
12 /***
13 * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr</a>
14 */
15 public class Aspect {
16
17 /***
18 * @Before(" (execution(void test.adviseonintroducedinterface.Intf1+.m1())
19 * ||
20 * execution(void test.adviseonintroducedinterface.Intf2+.m2()))
21 * &&
22 * !within(test.adviseonintroducedinterface.Aspect$Mixin)
23 * ")
24 */
25 public void before(JoinPoint jp) {
26 Test.log("before ");
27 }
28
29
30 /***
31 * @Introduce within(test.adviseonintroducedinterface.Target)
32 */
33 Intf1 marker;
34
35 public static class Mixin implements Intf2 {
36 public void m2() {
37 Test.log("m2 ");
38 }
39 }
40 }