aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/junit/internal/runners/model/ReflectiveCallable.java
blob: 9150d901949eb83b45c1a11836f94d868ad9fe00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * 
 */
package org.junit.internal.runners.model;

import java.lang.reflect.InvocationTargetException;

/**
 * When invoked, throws the exception from the reflected method, rather than
 * wrapping it in an InvocationTargetException.
 */
public abstract class ReflectiveCallable {
	public Object run() throws Throwable {
		try {
			return runReflectiveCall();
		} catch (InvocationTargetException e) {
			throw e.getTargetException();
		}
	}

	protected abstract Object runReflectiveCall() throws Throwable;
}