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 * Evgeny Mandrikov - initial API and implementation 10 * 11 *******************************************************************************/ 12 package org.jacoco.agent.rt; 13 14 import java.io.IOException; 15 16 /** 17 * Runtime API and MBean agent interface. 18 */ 19 public interface IAgent { 20 21 /** 22 * Returns version of JaCoCo. 23 * 24 * @return version of JaCoCo 25 */ getVersion()26 String getVersion(); 27 28 /** 29 * Returns current a session identifier. 30 * 31 * @return current session identifier 32 */ getSessionId()33 String getSessionId(); 34 35 /** 36 * Sets a session identifier. 37 * 38 * @param id 39 * new session identifier 40 */ setSessionId(String id)41 void setSessionId(String id); 42 43 /** 44 * Resets all coverage information. 45 */ reset()46 void reset(); 47 48 /** 49 * Returns current execution data. 50 * 51 * @param reset 52 * if <code>true</code> the current execution data is cleared 53 * afterwards 54 * @return dump of current execution data in JaCoCo binary format 55 */ getExecutionData(boolean reset)56 byte[] getExecutionData(boolean reset); 57 58 /** 59 * Triggers a dump of the current execution data through the configured 60 * output. 61 * 62 * @param reset 63 * if <code>true</code> the current execution data is cleared 64 * afterwards 65 * @throws IOException 66 * if the output can't write execution data 67 */ dump(boolean reset)68 void dump(boolean reset) throws IOException; 69 70 } 71