View Javadoc

1   /*
2    * Jour - java profiler and monitoring library
3    *
4    * Copyright (C) 2004 Jour team
5    *
6    * This library is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Library General Public
8    * License as published by the Free Software Foundation; either
9    * version 2 of the License, or (at your option) any later version.
10   *
11   * This library is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Library General Public License for more details.
15   *
16   * You should have received a copy of the GNU Library General Public
17   * License along with this library; if not, write to the
18   * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19   * Boston, MA  02111-1307, USA.
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  }