Package EDU.purdue.cs.bloat.context
Class BloatingClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- EDU.purdue.cs.bloat.context.BloatingClassLoader
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public abstract class BloatingClassLoader extends java.net.URLClassLoaderBloatingClassLoaderis a Java class loader that BLOATs a class before it is loader into a Java Virtual Machine. It loads its classes from a set ofURLs.
-
-
Constructor Summary
Constructors Constructor Description BloatingClassLoader(java.net.URL[] urls)Creates a newBloatingClassLoaderthat loads its classes from a given set of URLs.BloatingClassLoader(java.net.URL[] urls, java.lang.ClassLoader parent)Creates a newBloatingClassLoaderthat loads its classes from a given set of URLs.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidbloat(ClassEditor ce)This method is invoked as a class is being loaded.protected java.lang.ClassfindClass(java.lang.String name)Before theClassis created, invokebloat(ClassEditor).ClassInfoLoadergetClassInfoLoader()Returns aClassInfoLoaderthat loads classes from the same place as thisClassLoader.-
Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods 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, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
BloatingClassLoader
public BloatingClassLoader(java.net.URL[] urls)
Creates a newBloatingClassLoaderthat loads its classes from a given set of URLs.
-
BloatingClassLoader
public BloatingClassLoader(java.net.URL[] urls, java.lang.ClassLoader parent)Creates a newBloatingClassLoaderthat loads its classes from a given set of URLs. Before attempting to load a class, thisBloatingClassLoaderwill delegate to its parent class loader.
-
-
Method Detail
-
findClass
protected java.lang.Class findClass(java.lang.String name) throws java.lang.ClassNotFoundExceptionBefore theClassis created, invokebloat(ClassEditor).- Overrides:
findClassin classjava.net.URLClassLoader- Throws:
java.lang.ClassNotFoundException
-
getClassInfoLoader
public ClassInfoLoader getClassInfoLoader()
Returns aClassInfoLoaderthat loads classes from the same place as thisClassLoader.
-
bloat
protected abstract void bloat(ClassEditor ce)
This method is invoked as a class is being loaded.
-
-