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 javassist.CtClass; 24 import net.sf.jour.InterceptorException; 25 import net.sf.jour.filter.PointcutListFilter; 26 27 /** 28 * 29 * Contributing Author(s): 30 * 31 * Misha Lifschitz <mishalifschitz at users.sourceforge.net> (Inital implementation) 32 * Vlad Skarzhevskyy <vlads at users.sourceforge.net> (Inital implementation) 33 * 34 * @author michaellif 35 * @version $Revision: 25 $ ($Author: vlads $) $Date: 2006-12-14 13:53:25 -0500 (Thu, 14 Dec 2006) $ 36 */ 37 public interface Instrumentor { 38 39 /** 40 * @param clazz Class to instrument 41 */ 42 public InstrumentorResults instrument(CtClass clazz) throws InterceptorException; 43 44 void setPointcuts(PointcutListFilter pointcuts); 45 46 47 }