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