Package org.powermock.classloading
Class AbstractClassloaderExecutor
- java.lang.Object
-
- org.powermock.classloading.AbstractClassloaderExecutor
-
- All Implemented Interfaces:
ClassloaderExecutor
- Direct Known Subclasses:
SingleClassloaderExecutor
public abstract class AbstractClassloaderExecutor extends java.lang.Object implements ClassloaderExecutor
-
-
Constructor Summary
Constructors Constructor Description AbstractClassloaderExecutor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private void
assertArgumentNotNull(java.lang.Object object, java.lang.String argumentName)
private java.lang.Object[]
cloneArguments(java.lang.Object[] arguments, DeepClonerSPI deepCloner)
private java.lang.Object
cloneResult(java.lang.Object result)
private DeepClonerSPI
createDeepCloner(java.lang.ClassLoader classLoader)
private DeepClonerSPI
doCreateDeepCloner(java.lang.ClassLoader classLoader, java.lang.Class<DeepClonerSPI> deepClonerClass)
protected abstract java.lang.Object
execute(java.lang.Object instance, java.lang.reflect.Method method, java.lang.Object... arguments)
void
execute(java.lang.Runnable runnable)
<T> T
execute(java.util.concurrent.Callable<T> callable)
(package private) java.lang.Object
executeWithClassLoader(java.lang.Object instance, java.lang.reflect.Method method, java.lang.ClassLoader classloader, java.lang.Object[] arguments)
private java.lang.Object
getResult(java.lang.reflect.Method method, java.lang.Object objectLoadedWithClassloader, java.lang.Object[] argumentsLoadedByClassLoader)
private java.lang.Object
invokeWithClassLoader(java.lang.ClassLoader classloader, java.lang.reflect.Method method, java.lang.Object objectLoadedWithClassloader, java.lang.Object[] argumentsLoadedByClassLoader)
-
-
-
Method Detail
-
execute
public <T> T execute(java.util.concurrent.Callable<T> callable)
- Specified by:
execute
in interfaceClassloaderExecutor
-
execute
public void execute(java.lang.Runnable runnable)
- Specified by:
execute
in interfaceClassloaderExecutor
-
assertArgumentNotNull
private void assertArgumentNotNull(java.lang.Object object, java.lang.String argumentName)
-
execute
protected abstract java.lang.Object execute(java.lang.Object instance, java.lang.reflect.Method method, java.lang.Object... arguments)
-
executeWithClassLoader
java.lang.Object executeWithClassLoader(java.lang.Object instance, java.lang.reflect.Method method, java.lang.ClassLoader classloader, java.lang.Object[] arguments)
-
invokeWithClassLoader
private java.lang.Object invokeWithClassLoader(java.lang.ClassLoader classloader, java.lang.reflect.Method method, java.lang.Object objectLoadedWithClassloader, java.lang.Object[] argumentsLoadedByClassLoader)
-
cloneResult
private java.lang.Object cloneResult(java.lang.Object result)
-
getResult
private java.lang.Object getResult(java.lang.reflect.Method method, java.lang.Object objectLoadedWithClassloader, java.lang.Object[] argumentsLoadedByClassLoader)
-
cloneArguments
private java.lang.Object[] cloneArguments(java.lang.Object[] arguments, DeepClonerSPI deepCloner)
-
createDeepCloner
private DeepClonerSPI createDeepCloner(java.lang.ClassLoader classLoader)
-
doCreateDeepCloner
private DeepClonerSPI doCreateDeepCloner(java.lang.ClassLoader classLoader, java.lang.Class<DeepClonerSPI> deepClonerClass)
-
-