1/*******************************************************************************
2 * Copyright (c) 2009, 2015 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 *******************************************************************************/
12package org.jacoco.core.analysis;
13
14/**
15 * The instruction and branch coverage of a single source line is described by
16 * this interface.
17 */
18public interface ILine {
19
20	/**
21	 * Returns the instruction counter for this line.
22	 *
23	 * @return instruction counter
24	 */
25	public ICounter getInstructionCounter();
26
27	/**
28	 * Returns the branches counter for this line.
29	 *
30	 * @return branches counter
31	 */
32	public ICounter getBranchCounter();
33
34	/**
35	 * Returns the coverage status of this line, calculated from the
36	 * instructions counter and branch counter.
37	 *
38	 * @see ICounter#EMPTY
39	 * @see ICounter#NOT_COVERED
40	 * @see ICounter#PARTLY_COVERED
41	 * @see ICounter#FULLY_COVERED
42	 *
43	 * @return status of this line
44	 */
45	public int getStatus();
46
47}
48