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