KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > measurements > suites > EfficientEntryExtension


1 // $Id: EfficientEntryExtension.java,v 1.2 2004/05/12 17:26:53 anicoara Exp $
2
// =====================================================================
3
//
4
// (history at end)
5
//
6

7 package measurements.suites;
8
9 // used packages
10
import ch.ethz.jvmai.*;
11 import ch.ethz.prose.DefaultAspect;
12 import ch.ethz.prose.crosscut.*;
13 import ch.ethz.prose.filter.*;
14
15 /**
16  * Class EfficientEntryExtension XXX
17  *
18  * @version $Revision: 1.2 $
19  * @author Andrei Popovici
20  */

21 public
22 class EfficientEntryExtension extends DefaultAspect {
23   public Crosscut trapMethods = new MethodCut()
24   {
25     public void METHOD_ARGS()
26     {}
27
28     public void joinPointAction(MethodEntryJoinPoint jpe)
29     {
30     }
31
32     public void joinPointAction(MethodExitJoinPoint jpe)
33     {
34     }
35
36     protected PointCutter pointCutter()
37     {
38         return ( (Executions.before()) .AND
39              ((Within.type("TestClassCalibration1")) .OR (Within.type("TestClass1")) ) .AND
40              (Within.packageTypes("measurements.suites")) );
41     }
42   };
43
44   public Crosscut trapGets = new GetCut()
45     {
46       public void joinPointAction(FieldAccessJoinPoint jpe) {}
47       public void GET_ARGS() {}
48
49     protected PointCutter pointCutter()
50     { return ( (Within.type("TestClass1")) .OR
51                  (Within.type("TestClass1"))). AND
52                (Within.packageTypes("measurements.suites"));
53     }
54     };
55
56   public Crosscut trapSets = new SetCut()
57     {
58
59       public void joinPointAction(FieldModificationJoinPoint jpe) {}
60
61
62       public void SET_ARGS() {}
63     protected PointCutter pointCutter()
64     { return ( ( (Within.type("TestClass1")) .OR
65                  (Within.type("TestClass1"))). AND
66                (Within.packageTypes("measurements.suites")));
67     }
68     };
69
70
71 }
72
73
74 //======================================================================
75
//
76
// $Log: EfficientEntryExtension.java,v $
77
// Revision 1.2 2004/05/12 17:26:53 anicoara
78
// Adapt Junit tests to 3.8.1 version and the new package structure
79
//
80
// Revision 1.1.1.1 2003/07/02 15:30:45 apopovic
81
// Imported from ETH Zurich
82
//
83
// Revision 1.15 2003/05/05 14:03:02 popovici
84
// renaming from runes to prose
85
//
86
// Revision 1.14 2003/04/27 13:08:58 popovici
87
// Specializers renamed to PointCutter
88
//
89
// Revision 1.13 2003/04/17 15:14:52 popovici
90
// Extension->Aspect renaming
91
//
92
// Revision 1.12 2003/04/17 13:54:29 popovici
93
// Refactorization of 'ExecutionS' into 'Within' and 'Executions'.
94
// Method names refer now to 'types'
95
//
96
// Revision 1.11 2003/04/17 12:49:17 popovici
97
// Refactoring of the crosscut package
98
// ExceptionCut renamed to ThrowCut
99
// McutSignature is now SignaturePattern
100
//
101
// Revision 1.10 2003/04/17 08:46:57 popovici
102
// Important functionality additions
103
// - Cflow specializers
104
// - Restructuring of the MethodCut, SetCut, ThrowCut, and GetCut (they are much smaller)
105
// - Transactional capabilities
106
// - Total refactoring of Specializer evaluation, which permits fine-grained distinction
107
// between static and dynamic specializers.
108
// - Functionality pulled up in abstract classes
109
// - Uniformization of advice methods patterns and names
110
//
111
// Revision 1.9 2003/03/05 08:31:25 popovici
112
// Bug fix afeer import organization
113
//
114
// Revision 1.8 2003/03/04 18:35:58 popovici
115
// Organization of imprts
116
//
117
// Revision 1.7 2003/03/04 11:26:09 popovici
118
// Important refactorization step (march):
119
// - removal of 'JoinPointEvents'; JoinPoints now have the same function as events
120
// - reimplementation of the JVMAIDebuggerAspectInterface (better performance, coding conventions, removal of ProseVM
121
// structures
122
//
123
// Revision 1.6 2002/06/06 14:39:51 popovici
124
// Renamings: FunctionalCrosscut->MethodCut
125
// AllFields->SetCut
126
// SetCu.fieldModiticationAdvice -> SetCut.setAdvice
127
//
128
// Revision 1.5 2002/06/06 12:01:49 popovici
129
// fieldAccessAdvice removed from AllFields; tests and usage of AllFields's
130
// ability to intercept gets moved to 'GetCut'
131
// Minor bug fixes;
132
//
133
// Revision 1.4 2002/06/05 12:03:50 popovici
134
// thisJoinPoint() updated everywhere. The 'fieldModificationAdvice is now parameterless'; older implemnentations now
135
// use 'thisJoinPoint()'
136
//
137
// Revision 1.3 2002/06/04 12:36:10 popovici
138
// AllLocations occurences replaced with FunctionalCrosscut
139
//
140
// Revision 1.2 2002/05/22 11:00:34 popovici
141
// ClasseS replaced with DeclarationS
142
//
143
// Revision 1.1 2002/03/28 13:34:25 popovici
144
// Exit/Entry|Aspect and Exit/Entry|Aspect replace old ProseExtension & AspectJAspect files
145
//
146
// Revision 1.1 2002/03/12 09:50:14 popovici
147
// Initial version of the Benchmark measurements
148
//
149
Popular Tags