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 SecurityAspect2 implements Aspect {
12  	private MethodInterceptor methodInterceptor;
13  	private Pointcut pointcut = new RegexPointCut("(.*).secure(.*)");
14  
15  	public SecurityAspect2(MethodInterceptor methodInterceptor) {
16  		this.methodInterceptor = methodInterceptor;
17  	}
18  
19  	public void advise(AspectComponent componentInstance) {
20  		pointcut.advise(Perspective.DEFAULT, componentInstance, methodInterceptor);
21  	}
22  
23  	public MethodInterceptor getInterceptor() {
24  		return methodInterceptor;
25  	}
26  
27  	public void replaceInterceptor(MethodInterceptor interceptor) {
28  		this.methodInterceptor = interceptor;
29  	}
30  }