• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*******************************************************************************
2  * Copyright (c) 2009, 2019 Mountainminds GmbH & Co. KG and Contributors
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  *    Marc R. Hoffmann - initial API and implementation
10  *
11  *******************************************************************************/
12 package org.jacoco.core.runtime;
13 
14 /**
15  * This interface represents a particular mechanism to collect execution
16  * information in the target VM at runtime.
17  */
18 public interface IRuntime extends IExecutionDataAccessorGenerator {
19 
20 	/**
21 	 * Starts the coverage runtime. This method MUST be called before any class
22 	 * instrumented for this runtime is loaded.
23 	 *
24 	 * @param data
25 	 *            the execution data for this runtime
26 	 * @throws Exception
27 	 *             any internal problem during startup
28 	 */
startup(RuntimeData data)29 	void startup(RuntimeData data) throws Exception;
30 
31 	/**
32 	 * Allows the coverage runtime to cleanup internals. This class should be
33 	 * called when classes instrumented for this runtime are not used any more.
34 	 */
shutdown()35 	void shutdown();
36 
37 }
38