Package se.jiderhamn.classloader
Class RedefiningClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.apache.bcel.util.ClassLoader
-
- se.jiderhamn.classloader.RedefiningClassLoader
-
public class RedefiningClassLoader extends org.apache.bcel.util.ClassLoader
Classloader that redefines classes even if existing in parent
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]
DEFAULT_IGNORED_PACKAGES
Override parents default and includeprivate java.lang.String
name
private ZombieMarker
zombieMarker
Set to non-null to indicate it should be ready for garbage collection
-
Constructor Summary
Constructors Constructor Description RedefiningClassLoader()
RedefiningClassLoader(java.lang.ClassLoader parent)
RedefiningClassLoader(java.lang.ClassLoader parent, java.lang.String name)
RedefiningClassLoader(java.lang.ClassLoader parent, java.lang.String name, java.lang.String[] ignoredPackages)
RedefiningClassLoader(java.lang.String name)
RedefiningClassLoader(java.lang.String name, java.lang.String[] ignoredPackages)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
finalize()
protected java.lang.Class<?>
loadClass(java.lang.String class_name, boolean resolve)
void
markAsZombie()
Mark this class loader as being ready for garbage collectionprotected org.apache.bcel.classfile.JavaClass
modifyClass(org.apache.bcel.classfile.JavaClass clazz)
java.lang.String
toString()
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Field Detail
-
DEFAULT_IGNORED_PACKAGES
public static final java.lang.String[] DEFAULT_IGNORED_PACKAGES
Override parents default and include
-
zombieMarker
private ZombieMarker zombieMarker
Set to non-null to indicate it should be ready for garbage collection
-
name
private final java.lang.String name
-
-
Constructor Detail
-
RedefiningClassLoader
public RedefiningClassLoader(java.lang.ClassLoader parent)
-
RedefiningClassLoader
public RedefiningClassLoader()
-
RedefiningClassLoader
public RedefiningClassLoader(java.lang.ClassLoader parent, java.lang.String name)
-
RedefiningClassLoader
RedefiningClassLoader(java.lang.String name)
-
RedefiningClassLoader
public RedefiningClassLoader(java.lang.ClassLoader parent, java.lang.String name, java.lang.String[] ignoredPackages)
-
RedefiningClassLoader
RedefiningClassLoader(java.lang.String name, java.lang.String[] ignoredPackages)
-
-
Method Detail
-
modifyClass
protected org.apache.bcel.classfile.JavaClass modifyClass(org.apache.bcel.classfile.JavaClass clazz)
- Overrides:
modifyClass
in classorg.apache.bcel.util.ClassLoader
-
markAsZombie
public void markAsZombie()
Mark this class loader as being ready for garbage collection
-
finalize
protected void finalize() throws java.lang.Throwable
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
loadClass
protected java.lang.Class<?> loadClass(java.lang.String class_name, boolean resolve) throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in classorg.apache.bcel.util.ClassLoader
- Throws:
java.lang.ClassNotFoundException
-
-