1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package net.sf.jour;
22
23 import net.sf.jour.instrumentor.Instrumentor;
24
25 import javassist.*;
26
27
28 /***
29 * @author michaellif TODO To change the template for this generated type
30 * comment go to Window - Preferences - Java - Code Style - Code
31 * Templates
32 */
33 public class BasicTranslator implements Translator {
34 /***
35 * Creates a new BasicTranslator object.
36 */
37 public BasicTranslator() {
38 }
39
40 /***
41 * DOCUMENT ME!
42 *
43 * @param pool DOCUMENT ME!
44 *
45 * @throws NotFoundException DOCUMENT ME!
46 * @throws CannotCompileException DOCUMENT ME!
47 */
48 public void start(ClassPool pool)
49 throws NotFoundException, CannotCompileException {
50 }
51
52 /***
53 * DOCUMENT ME!
54 *
55 * @param pool DOCUMENT ME!
56 * @param className DOCUMENT ME!
57 *
58 * @throws NotFoundException DOCUMENT ME!
59 * @throws CannotCompileException DOCUMENT ME!
60 */
61 public void onLoad(ClassPool pool, String className)
62 throws NotFoundException, CannotCompileException {
63 try {
64 Instrumentor[] instrumentors = Config.getInstrumentors(className);
65
66 if (instrumentors.length > 0) {
67 Interceptor interceptor = new Interceptor(pool, className,
68 instrumentors);
69 interceptor.instrument();
70 }
71 } catch (InterceptorException e) {
72 System.out.println("instrument error " + e + " for calss : " +
73 className);
74 e.printStackTrace();
75 System.exit(1);
76 }
77 }
78 }