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.internal.html; 14 15 import org.jacoco.report.internal.ReportOutputFolder; 16 17 /** 18 * Abstraction for items that can be linked to in a report. 19 */ 20 public interface ILinkable { 21 22 /** 23 * Returns a relative link to the item that works from the given base 24 * folder. 25 * 26 * @param base 27 * folder where the link should be inserted 28 * @return relative link or <code>null</code> if the target does not exist 29 */ getLink(ReportOutputFolder base)30 String getLink(ReportOutputFolder base); 31 32 /** 33 * Returns the display label used for the link. 34 * 35 * @return display label 36 */ getLinkLabel()37 String getLinkLabel(); 38 39 /** 40 * Optional style class to be associated with the link. 41 * 42 * @return link style class or <code>null</code> 43 */ getLinkStyle()44 String getLinkStyle(); 45 46 } 47