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 Details

    • DEFAULT_IGNORED_PACKAGES

      public static final 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 String name
  • Constructor Details

    • RedefiningClassLoader

      public RedefiningClassLoader(ClassLoader parent)
    • RedefiningClassLoader

      public RedefiningClassLoader()
    • RedefiningClassLoader

      public RedefiningClassLoader(ClassLoader parent, String name)
    • RedefiningClassLoader

      RedefiningClassLoader(String name)
    • RedefiningClassLoader

      public RedefiningClassLoader(ClassLoader parent, String name, String[] ignoredPackages)
    • RedefiningClassLoader

      RedefiningClassLoader(String name, String[] ignoredPackages)
  • Method Details

    • modifyClass

      protected org.apache.bcel.classfile.JavaClass modifyClass(org.apache.bcel.classfile.JavaClass clazz)
      Overrides:
      modifyClass in class org.apache.bcel.util.ClassLoader
    • markAsZombie

      public void markAsZombie()
      Mark this class loader as being ready for garbage collection
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • loadClass

      protected Class<?> loadClass(String class_name, boolean resolve) throws ClassNotFoundException
      Overrides:
      loadClass in class org.apache.bcel.util.ClassLoader
      Throws:
      ClassNotFoundException