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 }