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 voidassertArgumentNotNull(java.lang.Object object, java.lang.String argumentName)private java.lang.Object[]cloneArguments(java.lang.Object[] arguments, DeepClonerSPI deepCloner)private java.lang.ObjectcloneResult(java.lang.Object result)private DeepClonerSPIcreateDeepCloner(java.lang.ClassLoader classLoader)private DeepClonerSPIdoCreateDeepCloner(java.lang.ClassLoader classLoader, java.lang.Class<DeepClonerSPI> deepClonerClass)protected abstract java.lang.Objectexecute(java.lang.Object instance, java.lang.reflect.Method method, java.lang.Object... arguments)voidexecute(java.lang.Runnable runnable)<T> Texecute(java.util.concurrent.Callable<T> callable)(package private) java.lang.ObjectexecuteWithClassLoader(java.lang.Object instance, java.lang.reflect.Method method, java.lang.ClassLoader classloader, java.lang.Object[] arguments)private java.lang.ObjectgetResult(java.lang.reflect.Method method, java.lang.Object objectLoadedWithClassloader, java.lang.Object[] argumentsLoadedByClassLoader)private java.lang.ObjectinvokeWithClassLoader(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:
executein interfaceClassloaderExecutor
-
execute
public void execute(java.lang.Runnable runnable)
- Specified by:
executein 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)
-
-