Package org.powermock.core.classloader
Class DeferSupportingClassLoader
java.lang.Object
java.lang.ClassLoader
javassist.Loader
org.powermock.core.classloader.DeferSupportingClassLoader
- Direct Known Subclasses:
MockClassLoader
public abstract class DeferSupportingClassLoader
extends javassist.Loader
Defers classloading of system classes to a delegate.
-
Nested Class Summary
Nested classes/interfaces inherited from class javassist.Loader
javassist.Loader.Simple -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConcurrentMap<String, SoftReference<Class<?>>> (package private) String[](package private) ClassLoaderFields inherited from class javassist.Loader
doDelegation -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddIgnorePackage(String... packagesToIgnore) voidRegister a class to the cache of this classloaderprivate booleandeferConditionMatches(String name, String packageName) protected URLfindResource(String name) Finds the resource with the specified name on the search path.protected Enumeration<URL> findResources(String name) getResources(String name) protected Class<?> protected abstract Class<?> (package private) booleanshouldDefer(String[] packages, String name) private booleanshouldIgnore(Iterable<String> packages, String name) (package private) booleanshouldIgnore(String[] packages, String name) protected abstract booleanshouldLoadUnmodifiedClass(String className) protected booleanshouldModify(Iterable<String> packages, String name) protected abstract booleanMethods inherited from class javassist.Loader
addTranslator, delegateLoadingOf, delegateToParent, findClass, loadClassByDelegation, main, run, run, setClassPool, setDomainMethods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Field Details
-
classes
-
deferPackages
String[] deferPackages -
deferTo
ClassLoader deferTo
-
-
Constructor Details
-
DeferSupportingClassLoader
DeferSupportingClassLoader(ClassLoader classloader, String[] deferPackages)
-
-
Method Details
-
addIgnorePackage
-
loadClass
- Overrides:
loadClassin classjavassist.Loader- Throws:
ClassNotFoundException
-
shouldDefer
-
deferConditionMatches
-
shouldIgnore
-
shouldIgnore
-
findResource
Finds the resource with the specified name on the search path.- Overrides:
findResourcein classClassLoader- Parameters:
name- the name of the resource- Returns:
- a
URLfor the resource, ornullif the resource could not be found.
-
findResources
- Overrides:
findResourcesin classClassLoader- Throws:
IOException
-
getResource
- Overrides:
getResourcein classClassLoader
-
getResourceAsStream
- Overrides:
getResourceAsStreamin classClassLoader
-
getResources
- Overrides:
getResourcesin classClassLoader- Throws:
IOException
-
shouldModify
-
loadModifiedClass
protected abstract Class<?> loadModifiedClass(String s) throws ClassFormatError, ClassNotFoundException -
shouldModifyClass
-
shouldLoadUnmodifiedClass
-
cache
Register a class to the cache of this classloader
-