<?xml version="1.0" encoding="UTF-8"?>
<aop>

   <interceptor class="org.jboss.test.aop.precedence.FirstInterceptor" scope="PER_VM"/>
   <interceptor class="org.jboss.test.aop.precedence.FirstInterceptor2" scope="PER_CLASS"/>
   <interceptor class="org.jboss.test.aop.precedence.SimpleInterceptor" scope="PER_INSTANCE"/>
   <interceptor class="org.jboss.test.aop.precedence.SimpleInterceptor2" scope="PER_JOINPOINT"/>
   <interceptor class="org.jboss.test.aop.precedence.SimpleInterceptor3"/>
   <aspect class="org.jboss.test.aop.precedence.TestAspect" scope="PER_VM"/>
   <aspect class="org.jboss.test.aop.precedence.TestAspect2" scope="PER_CLASS"/>
   <aspect class="org.jboss.test.aop.precedence.TestAspect3" scope="PER_INSTANCE"/>
   <aspect class="org.jboss.test.aop.precedence.LastAspect" scope="PER_JOINPOINT"/>
   <aspect class="org.jboss.test.aop.precedence.LastAspect2"/>

   <precedence>
      <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor2"/>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice"/>
   </precedence>
   
   <precedence>
      <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor2"/>
      <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor3"/>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice"/>
   </precedence>

   <precedence>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice"/>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect2" name="advice"/>
   </precedence>

   <precedence>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice2"/>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice3"/>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect2" name="advice"/>
   </precedence>

   <precedence>
      <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor"/>
      <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor2"/>
   </precedence>

   <precedence>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect2" name="advice"/>
      <advice aspect="org.jboss.test.aop.precedence.TestAspect3" name="advice"/>
   </precedence>

   <bind pointcut="execution(org.jboss.test.aop.precedence.POJO->new())">
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor2"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor2"/>
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor3"/>
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect3" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect2" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect2" name="advice"/>
   </bind>
   
   <bind pointcut="execution(* org.jboss.test.aop.precedence.POJO->oneMethod())">
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor2"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor2"/>
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor3"/>
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect3" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect2" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect2" name="advice"/>
   </bind>
   
   <bind pointcut="execution(* org.jboss.test.aop.precedence.POJO->twoMethod())">
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor2"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice2"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice3"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect2" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect2" name="advice"/>
   </bind>
   
   <bind pointcut="execution(* org.jboss.test.aop.precedence.POJO->threeMethod())">
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor2"/>    
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice2"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice3"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect2" name="advice"/>
   </bind>
   
   <bind pointcut="field(int org.jboss.test.aop.precedence.POJO->var)">
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.FirstInterceptor2"/>    
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor2"/>
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor3"/>
       <interceptor-ref name="org.jboss.test.aop.precedence.SimpleInterceptor"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect3" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.TestAspect2" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect" name="advice"/>
       <advice aspect="org.jboss.test.aop.precedence.LastAspect2" name="advice"/>
   </bind>
   
   
</aop>
