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.core.analysis; 14 15 import java.util.Collection; 16 17 /** 18 * Coverage data of a single class containing methods. The name of this node is 19 * the fully qualified class name in VM notation (slash separated). 20 * 21 * @see IMethodCoverage 22 */ 23 public interface IClassCoverage extends ISourceNode { 24 25 /** 26 * Returns the identifier for this class which is the CRC64 signature of the 27 * class definition. 28 * 29 * @return class identifier 30 */ getId()31 long getId(); 32 33 /** 34 * Returns if the the analyzed class does match the execution data provided. 35 * More precisely if execution data is available for a class with the same 36 * qualified name but with a different class id. 37 * 38 * @return <code>true</code> if this class does not match to the provided 39 * execution data. 40 */ isNoMatch()41 boolean isNoMatch(); 42 43 /** 44 * Returns the VM signature of the class. 45 * 46 * @return VM signature of the class (may be <code>null</code>) 47 */ getSignature()48 String getSignature(); 49 50 /** 51 * Returns the VM name of the superclass. 52 * 53 * @return VM name of the super class (may be <code>null</code>, i.e. 54 * <code>java/lang/Object</code>) 55 */ getSuperName()56 String getSuperName(); 57 58 /** 59 * Returns the VM names of implemented/extended interfaces. 60 * 61 * @return VM names of implemented/extended interfaces 62 */ getInterfaceNames()63 String[] getInterfaceNames(); 64 65 /** 66 * Returns the VM name of the package this class belongs to. 67 * 68 * @return VM name of the package 69 */ getPackageName()70 String getPackageName(); 71 72 /** 73 * Returns the optional name of the corresponding source file. 74 * 75 * @return name of the corresponding source file 76 */ getSourceFileName()77 String getSourceFileName(); 78 79 /** 80 * Returns the methods included in this class. 81 * 82 * @return methods of this class 83 */ getMethods()84 Collection<IMethodCoverage> getMethods(); 85 86 } 87