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.ClassLoaderClassloader that redefines classes even if existing in parent
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]DEFAULT_IGNORED_PACKAGESOverride parents default and includeprivate java.lang.Stringnameprivate ZombieMarkerzombieMarkerSet 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 voidfinalize()protected java.lang.Class<?>loadClass(java.lang.String class_name, boolean resolve)voidmarkAsZombie()Mark this class loader as being ready for garbage collectionprotected org.apache.bcel.classfile.JavaClassmodifyClass(org.apache.bcel.classfile.JavaClass clazz)java.lang.StringtoString()-
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:
modifyClassin 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:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
loadClass
protected java.lang.Class<?> loadClass(java.lang.String class_name, boolean resolve) throws java.lang.ClassNotFoundException- Overrides:
loadClassin classorg.apache.bcel.util.ClassLoader- Throws:
java.lang.ClassNotFoundException
-
-