1 package org.neo.swarm.core.aop.silc.comp;
2
3 import org.neo.swarm.core.aop.Aspect;
4 import org.neo.swarm.core.aop.AspectComponent;
5 import org.neo.swarm.core.aop.silc.comp.Perspective;
6 import org.neo.swarm.core.aop.silc.comp.RegexPointCut;
7
8 /***
9 * @author damiang
10 */
11 public class TransactionAspect implements Aspect {
12 Pointcut pointcut = new RegexPointCut("(.*).trans(.*)");
13 private MethodInterceptor interceptor;
14
15 public MethodInterceptor getInterceptor() {
16 return interceptor;
17 }
18
19 public void replaceInterceptor(MethodInterceptor interceptor) {
20 this.interceptor = interceptor;
21 }
22
23 public TransactionAspect(MethodInterceptor interceptor) {
24 this.interceptor = interceptor;
25 }
26 public void advise(AspectComponent componentInstance) {
27 pointcut.advise(Perspective.DEFAULT, componentInstance, interceptor);
28 }
29 }