Class EnhancerClassLoader

java.lang.Object
java.lang.ClassLoader
org.datanucleus.enhancer.EnhancerClassLoader

public final class EnhancerClassLoader extends ClassLoader
ClassLoader for newly defined classes. Parent classloader is the context classloader obtained during instantiation of this class
  • Field Details

    • delegate

      Delegate ClassLoaderResolver may be used during class definition if the class has links to other classes.
    • loadingClass

      boolean loadingClass
      flag to avoid reentrant invocations to loading operations
    • loadingResource

      boolean loadingResource
      flag to avoid reentrant invocations to loading operations
  • Constructor Details

    • EnhancerClassLoader

      public EnhancerClassLoader()
    • EnhancerClassLoader

      public EnhancerClassLoader(ClassLoaderResolver iDelegate)
  • Method Details

    • defineClass

      public void defineClass(String fullClassName, byte[] bytes, ClassLoaderResolver clr)
      Define a class in this ClassLoader.
      Parameters:
      fullClassName - the class name
      bytes - the bytes representation of the class
      clr - the ClassLoaderResolver to load linked classes
    • loadClass

      public Class loadClass(String name) throws ClassNotFoundException
      Overwrite to have an opportunity to load classes from the delegate ClassLoaderResolver
      Overrides:
      loadClass in class ClassLoader
      Throws:
      ClassNotFoundException
    • findResource

      protected URL findResource(String name)
      Overwrite to have an opportunity to find resources from the delegate ClassLoaderResolver
      Overrides:
      findResource in class ClassLoader