KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > soto > aop > AopLayer


1 package org.sapia.soto.aop;
2
3 import org.sapia.soto.Layer;
4 import org.sapia.soto.ServiceMetaData;
5
6
7 /**
8  * This layer (and its helper classes) implements basic AOP behavior.
9  * <p>
10  * Example Configuration:
11  *
12  * <pre>
13 &lt;soto:app xmlns:soto="http://www.sapia-oss.org/soto/2003"
14           xmlns:aop="http://www.sapia-oss.org/soto/jmx/2003"
15           xmlns:test="http://www.sapia-oss.org/soto/test"&gt;
16
17   &lt;soto:namespace prefix="test"&gt;
18     &lt;def class="org.sapia.soto.aop.TestService" name="testService" /&gt;
19     &lt;def class="org.sapia.soto.aop.TestThrowsAdvice" name="throws" /&gt;
20   &lt;/soto:namespace&gt;
21
22   &lt;soto:service&gt;
23     &lt;test:testService/&gt;
24
25     &lt;aop:aspect&gt;
26       &lt;adviceDef class="org.sapia.soto.aop.TestAroundAdvice" id="around"/&gt;
27       &lt;adviceDef class="org.sapia.soto.aop.TestBeforeAdvice" id="before"/&gt;
28
29       &lt;group id="group"&gt;
30         &lt;adviceDef class="org.sapia.soto.aop.TestAfterAdvice" id="after"/&gt;
31         &lt;adviceRef id="before" /&gt;
32         &lt;test:throws/&gt;
33       &lt;/group&gt;
34
35       &lt;method name="*"&gt;
36         &lt;adviceRef id="around" /&gt;
37         &lt;groupRef id="group" /&gt;
38       &lt;/method&gt;
39     &lt;/aop:aspect&gt;
40   &lt;/soto:service&gt;
41 &lt;/soto:app&gt;
42  * </pre>
43  *
44  *
45  * @author Yanick Duchesne
46  * <dl>
47  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
48  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
49  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
50  * </dl>
51  */

52 public class AopLayer extends Adviser implements Layer {
53   /**
54    * Constructor for AopLayer.
55    */

56   public AopLayer() {
57   }
58
59   /**
60    * @see org.sapia.soto.Layer#init(ServiceMetaData)
61    */

62   public void init(ServiceMetaData meta) throws Exception JavaDoc {
63     Object JavaDoc proxy = advise(meta.getService());
64     meta.setService(proxy);
65     super.clear();
66   }
67
68   /**
69    * @see org.sapia.soto.Layer#start(org.sapia.soto.ServiceMetaData)
70    */

71   public void start(ServiceMetaData meta) throws Exception JavaDoc {
72   }
73
74   /**
75    * @see org.sapia.soto.Layer#dispose()
76    */

77   public void dispose() {
78   }
79 }
80
Popular Tags