1 22 package org.jboss.test.aop.jdk15.annotated; 23 24 import org.jboss.aop.*; 25 import org.jboss.aop.advice.Scope; 26 import org.jboss.aop.joinpoint.*; 27 import org.jboss.aop.pointcut.CFlowStack; 28 29 35 @Aspect(scope = Scope.PER_VM) 36 public class CFlowAspect 37 { 38 public static int cflowAccess; 39 40 @CFlowStackDef (cflows={@CFlowDef(expr = "void org.jboss.test.aop.jdk15.annotated.VariaPOJO->cflowMethod1()", called=true), @CFlowDef(expr = "void org.jboss.test.aop.jdk15.annotated.VariaPOJO->cflowMethod2()", called=true)}) 41 public static CFlowStack cf1And2Stack; 42 43 @CFlowStackDef (cflows={@CFlowDef(expr = "void org.jboss.test.aop.jdk15.annotated.VariaPOJO->cflowMethod1()", called=false), @CFlowDef(expr = "void org.jboss.test.aop.jdk15.annotated.VariaPOJO->cflowMethod2()", called=true)}) 44 public static CFlowStack cfNot1And2Stack; 45 46 47 @org.jboss.aop.Bind (pointcut="execution(void org.jboss.test.aop.jdk15.annotated.VariaPOJO*->privateMethod())", cflow="(org.jboss.test.aop.jdk15.annotated.CFlowAspect.cf1And2Stack OR org.jboss.test.aop.jdk15.annotated.CFlowAspect.cfNot1And2Stack)") 48 public Object cflowAdvice(Invocation invocation) throws Throwable 49 { 50 System.out.println("CFlowAspect.cflowAdvice"); 51 cflowAccess++; 52 return invocation.invokeNext(); 53 } 54 55 @org.jboss.aop.Bind (pointcut="execution(void org.jboss.test.aop.jdk15.annotated.VariaPOJO*->dynamicCFlowMethod())", cflow="org.jboss.test.aop.jdk15.annotated.SimpleDynamicCFlow") 56 public Object dynamicCFlowAdvice(Invocation invocation) throws Throwable 57 { 58 System.out.println("CFlowAspect.dynamicCFlowAdvice"); 59 cflowAccess++; 60 return invocation.invokeNext(); 61 } 62 } 63 | Popular Tags |