/******************************************************************************* * Copyright (c) 2006 Mountainminds GmbH & Co. KG * This software is provided under the terms of the Eclipse Public License v1.0 * See http://www.eclipse.org/legal/epl-v10.html. * * $Id: IInstrumentation.java 11 2006-08-28 20:06:31Z mho $ ******************************************************************************/ package com.mountainminds.eclemma.core; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; /** * Instances of {@link IInstrumentation} describe a set of instrumented Java * classes. This interface is not intended to be implemented by clients, * instances are returned by * {@link IClassFiles#instrument(boolean, IProgressMonitor)}. * * @author Marc R. Hoffmann * @version $Revision: 11 $ */ public interface IInstrumentation { /** * Returns the {@link IClassFiles} object that describe the source of this * instrumentation. * * @return {@link IClassFiles} object */ public IClassFiles getClassFiles(); /** * Returns <code>true</code> if this instrumentation has been performed * in-place. * * @return <code>true</code> if this instrumentation was in-place */ public boolean isInplace(); /** * Returns the absolute path to the instrumented class files. If in-place * instrumentation was performed, this corresponds to the location of the * original class files. * * @return absolute path to the instrumented class files */ public IPath getOutputLocation(); /** * Returns the absolute path to the Emma meta data file that has been written * during instrumentation. * * @return absolute path to the meta data file */ public IPath getMetaDataFile(); }