1 /******************************************************************************* 2 * Copyright (c) 2009, 2021 Mountainminds GmbH & Co. KG and Contributors 3 * This program and the accompanying materials are made available under 4 * the terms of the Eclipse Public License 2.0 which is available at 5 * http://www.eclipse.org/legal/epl-2.0 6 * 7 * SPDX-License-Identifier: EPL-2.0 8 * 9 * Contributors: 10 * Marc R. Hoffmann - initial API and implementation 11 * 12 *******************************************************************************/ 13 package org.jacoco.report; 14 15 import java.io.IOException; 16 import java.io.OutputStream; 17 18 /** 19 * Interface to emit multiple binary files. 20 */ 21 public interface IMultiReportOutput { 22 23 /** 24 * Creates a file at the given local path. The returned {@link OutputStream} 25 * has to be closed before the next document is created. 26 * 27 * @param path 28 * local path to the new document 29 * @return output for the content 30 * @throws IOException 31 * if the creation fails 32 */ createFile(String path)33 OutputStream createFile(String path) throws IOException; 34 35 /** 36 * Closes the underlying resource container. 37 * 38 * @throws IOException 39 * if closing fails 40 */ close()41 void close() throws IOException; 42 43 } 44