• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 }