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  }