KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > customproceed > MyAspect


1 /**************************************************************************************
2  * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
3  * http://aspectwerkz.codehaus.org *
4  * ---------------------------------------------------------------------------------- *
5  * The software in this package is published under the terms of the LGPL license *
6  * a copy of which has been included with this distribution in the license.txt file. *
7  **************************************************************************************/

8 package test.customproceed;
9
10 import org.codehaus.aspectwerkz.joinpoint.JoinPoint;
11 import org.codehaus.aspectwerkz.joinpoint.StaticJoinPoint;
12
13 /**
14  * @author <a HREF="mailto:jboner@codehaus.org">Jonas BonŽr </a>
15  */

16 public class MyAspect {
17
18     public static interface ProceedWithIntArg extends JoinPoint {
19         Object JavaDoc proceed(int i);
20     }
21
22     public static interface ProceedWithLongArg extends StaticJoinPoint {
23         Object JavaDoc proceed(long l);
24     }
25
26     public static interface ProceedWithStringArg extends JoinPoint {
27         Object JavaDoc proceed(String JavaDoc s);
28     }
29
30     public static interface ProceedWithMiscArgs1 extends StaticJoinPoint {
31         Object JavaDoc proceed(long i, String JavaDoc s);
32     }
33
34     public static interface ProceedWithMiscArgs2 extends StaticJoinPoint {
35         Object JavaDoc proceed(long i, String JavaDoc s, int[][] matrix);
36     }
37
38     /**
39      * @Around execution(* test.customproceed.CustomProceedTest.setInt(int)) && args(i)
40      */

41     public Object JavaDoc around1(ProceedWithIntArg jp, int i) {
42         CustomProceedTest.log("around1 ");
43         CustomProceedTest.log(new Integer JavaDoc(i).toString());
44         CustomProceedTest.log(" ");
45         return jp.proceed(1);
46     }
47
48
49     /**
50      * @Around execution(* test.customproceed.CustomProceedTest.setLong(long)) && args(l)
51      */

52     public Object JavaDoc around2(ProceedWithLongArg jp, long l) {
53         CustomProceedTest.log("around2 ");
54         CustomProceedTest.log(new Long JavaDoc(l).toString());
55         CustomProceedTest.log(" ");
56         return jp.proceed(2);
57     }
58
59     /**
60      * @Around execution(* test.customproceed.CustomProceedTest.setString(String)) && args(s)
61      */

62     public Object JavaDoc around3(ProceedWithStringArg jp, String JavaDoc s) {
63         CustomProceedTest.log("around3 ");
64         CustomProceedTest.log(s);
65         CustomProceedTest.log(" ");
66         return jp.proceed("gnitset");
67     }
68
69     /**
70      * Around execution(* test.customproceed.CustomProceedTest.setMisc1(..)) && args(l, s)
71      *
72      * @Around execution(* test.customproceed.CustomProceedTest.setMisc1(long, String)) && args(l, s)
73      */

74     public Object JavaDoc around4(ProceedWithMiscArgs1 jp, long l, String JavaDoc s) {
75         CustomProceedTest.log("around4 ");
76         CustomProceedTest.log(new Long JavaDoc(l).toString());
77         CustomProceedTest.log(" ");
78         CustomProceedTest.log(s);
79         CustomProceedTest.log(" ");
80         return jp.proceed(12345, "gnitset");
81     }
82
83     /**
84      * @Around execution(* test.customproceed.CustomProceedTest.setMisc2(long, String, int[][])) && args(l, s, matrix)
85      */

86     public Object JavaDoc around5(ProceedWithMiscArgs2 jp, long l, String JavaDoc s, int[][] matrix) {
87         CustomProceedTest.log("around5 ");
88         CustomProceedTest.log(new Long JavaDoc(l).toString());
89         CustomProceedTest.log(" ");
90         CustomProceedTest.log(s);
91         CustomProceedTest.log(" ");
92         CustomProceedTest.log(new Integer JavaDoc(matrix[0][0]).toString());
93         CustomProceedTest.log(" ");
94         matrix[0][0] = 123;
95         return jp.proceed(12345, "gnitset", matrix);
96     }
97 }
98
Popular Tags