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.instrumentor;
22  
23  import net.sf.jour.InterceptorException;
24  import net.sf.jour.filter.PointcutListFilter;
25  
26  import javassist.CtClass;
27  
28  /***
29   * TODO Add docs
30   *
31   * Contributing Author(s):
32   *
33   *   Misha Lifschitz <mishalifschitz at users.sourceforge.net> (Inital implementation)
34   *   Vlad Skarzhevskyy <vlads at users.sourceforge.net> (Inital implementation)
35   *
36   * @author michaellif
37   * @version $Revision: 1.5 $ ($Author: vlads $) $Date: 2004/12/08 09:33:54 $
38   */
39  public interface Instrumentor {
40      /***
41       * TODO DOCUMENT ME!
42       *
43       * @param clazz to be instrumented.
44       * @return Returns true if any modification has been made to the class.
45       * @throws InterceptorException DOCUMENT ME!
46       */
47      boolean instrument(CtClass clazz) throws InterceptorException;
48      
49      //void setPointcuts(Pointcut [] pointcuts);
50      void setPointcuts(PointcutListFilter pointcuts);
51      
52      public long getCountCounstructors();
53      /***
54       * @return Returns the countMethods.
55       */
56      public long getCountMethods();
57  
58  }