View Javadoc

1   /*
2    * Created on Jun 19, 2004
3    *
4    */
5   package org.neo.swarm.interceptor.logging;
6   
7   import org.neo.swarm.core.aop.Aspect;
8   import org.neo.swarm.core.aop.AspectComponent;
9   import org.neo.swarm.core.aop.silc.comp.MethodInterceptor;
10  import org.neo.swarm.core.aop.silc.comp.Perspective;
11  import org.neo.swarm.core.aop.silc.comp.Pointcut;
12  import org.neo.swarm.core.aop.silc.comp.RegexPointCut;
13  
14  
15  /***
16   * 
17   * @author navery
18   */
19  public class JavaLogger implements Aspect {
20  
21  	Pointcut pointcut = new RegexPointCut("(.*)");
22  	private MethodInterceptor interceptor;
23  	
24  	public JavaLogger(boolean enabled) {
25  		interceptor = new JavaLoggingInterceptor(enabled);
26  	}
27  
28  	/* (non-Javadoc)
29  	 * @see org.neo.swarm.core.aop.Aspect#advise(org.neo.swarm.core.aop.AspectComponent)
30  	 */
31  	public void advise(AspectComponent componentInstance) {
32  		pointcut.advise(Perspective.DEFAULT, componentInstance, interceptor);		
33  	}
34  
35  	public MethodInterceptor getInterceptor() {
36  		return interceptor;
37  	}
38  
39  	/* (non-Javadoc)
40  	 * @see org.neo.swarm.core.aop.Aspect#replaceInterceptor(org.neo.swarm.core.aop.silc.comp.MethodInterceptor)
41  	 */
42  	public void replaceInterceptor(MethodInterceptor interceptor) {
43  		this.interceptor = interceptor;
44  	}
45  }