1e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov/*******************************************************************************
2398ee59bebad6835dab57b60157eff16d511709eMarc R. Hoffmann * Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors
3e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov * All rights reserved. This program and the accompanying materials
4e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov * are made available under the terms of the Eclipse Public License v1.0
5e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov * which accompanies this distribution, and is available at
6e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov * http://www.eclipse.org/legal/epl-v10.html
7e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov *
8e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov * Contributors:
9e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov *    Marc R. Hoffmann - initial API and implementation
10e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov *
11e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov *******************************************************************************/
12e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikovpackage org.jacoco.core.test.validation.targets;
13e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
14e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov/**
15e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov * Collection of stub methods that are called from the coverage targets. *
16e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov */
17e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikovpublic class Stubs {
18e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
19e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
20e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * Exception stub.
21e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
22e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static class StubException extends RuntimeException {
23e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
24e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		static final long serialVersionUID = 0L;
25e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
26e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
27e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
28e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
29e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * Superclass stub.
30e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
31e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static class SuperClass {
32e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
33e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		public SuperClass(boolean arg) {
34e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		}
35e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
36e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
37e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
38e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
39e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * Dummy method.
40e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
41e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static void nop() {
42e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
43e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
44e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
45e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * Dummy method.
46e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
47e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static void nop(int i) {
48e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
49e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
50e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
51e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * Dummy method.
52e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
53e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static void nop(boolean b) {
54e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
55e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
56e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
57e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * Dummy method.
58e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
59e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static void nop(Object o) {
60e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
61e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
62e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
63e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * @return always <code>true</code>
64e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
65e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static boolean t() {
66e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		return true;
67e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
68e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
69e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
70e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * @return always <code>false</code>
71e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
72e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static boolean f() {
73e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		return false;
74e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
75e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
76e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
77e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * @return always <code>1</code>
78e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
79e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static int i1() {
80e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		return 1;
81e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
82e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
83e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
84e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * @return always <code>3</code>
85e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
86e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static int i2() {
87e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		return 2;
88e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
89e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
90e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
91e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * @return always <code>3</code>
92e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
93e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static int i3() {
94e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		return 3;
95e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
96e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
97e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	/**
98e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * Always throws a {@link RuntimeException}.
99e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 *
100e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 * @throws StubException
101e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 *             always thrown
102e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	 */
103e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	public static void ex() throws StubException {
104e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov		throw new StubException();
105e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov	}
106e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov
1078ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	/**
1088ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	 * Directly executes the given runnable.
1098ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	 */
1108ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	public static void exec(Runnable task) {
1118ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann		task.run();
1128ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	}
1138ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann
1148ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	/**
1158ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	 * Never executes the given runnable.
1168ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	 */
1178ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	public static void noexec(Runnable task) {
1188ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann	}
1198ffcb7144775ba0da65304c15d952ba7a1cb7da6Marc R. Hoffmann
120e69ba4dbb015949c5d84ba7bbb0b53efac28bb23Evgeny Mandrikov}
121