Package org.datanucleus.enhancer
Class EnhancerClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.datanucleus.enhancer.EnhancerClassLoader
-
public final class EnhancerClassLoader extends java.lang.ClassLoaderClassLoader for newly defined classes. Parent classloader is the context classloader obtained during instantiation of this class
-
-
Field Summary
Fields Modifier and Type Field Description (package private) ClassLoaderResolverdelegateDelegate ClassLoaderResolver may be used during class definition if the class has links to other classes.(package private) booleanloadingClassflag to avoid reentrant invocations to loading operations(package private) booleanloadingResourceflag to avoid reentrant invocations to loading operations
-
Constructor Summary
Constructors Constructor Description EnhancerClassLoader()EnhancerClassLoader(ClassLoaderResolver iDelegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddefineClass(java.lang.String fullClassName, byte[] bytes, ClassLoaderResolver clr)Define a class in this ClassLoader.protected java.net.URLfindResource(java.lang.String name)Overwrite to have an opportunity to find resources from the delegate ClassLoaderResolverjava.lang.ClassloadClass(java.lang.String name)Overwrite to have an opportunity to load classes from the delegate ClassLoaderResolver-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Field Detail
-
delegate
ClassLoaderResolver 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 Detail
-
EnhancerClassLoader
public EnhancerClassLoader()
-
EnhancerClassLoader
public EnhancerClassLoader(ClassLoaderResolver iDelegate)
-
-
Method Detail
-
defineClass
public void defineClass(java.lang.String fullClassName, byte[] bytes, ClassLoaderResolver clr)Define a class in this ClassLoader.- Parameters:
fullClassName- the class namebytes- the bytes representation of the classclr- the ClassLoaderResolver to load linked classes
-
loadClass
public java.lang.Class loadClass(java.lang.String name) throws java.lang.ClassNotFoundExceptionOverwrite to have an opportunity to load classes from the delegate ClassLoaderResolver- Overrides:
loadClassin classjava.lang.ClassLoader- Throws:
java.lang.ClassNotFoundException
-
findResource
protected java.net.URL findResource(java.lang.String name)
Overwrite to have an opportunity to find resources from the delegate ClassLoaderResolver- Overrides:
findResourcein classjava.lang.ClassLoader
-
-