Package org.datanucleus.enhancer
Class EnhancerClassLoader
java.lang.Object
java.lang.ClassLoader
org.datanucleus.enhancer.EnhancerClassLoader
ClassLoader for newly defined classes. Parent classloader is the context classloader
obtained during instantiation of this class
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) ClassLoaderResolver
Delegate ClassLoaderResolver may be used during class definition if the class has links to other classes.(package private) boolean
flag to avoid reentrant invocations to loading operations(package private) boolean
flag to avoid reentrant invocations to loading operations -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
defineClass
(String fullClassName, byte[] bytes, ClassLoaderResolver clr) Define a class in this ClassLoader.protected URL
findResource
(String name) Overwrite to have an opportunity to find resources from the delegate ClassLoaderResolverOverwrite to have an opportunity to load classes from the delegate ClassLoaderResolverMethods 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 Details
-
delegate
ClassLoaderResolver delegateDelegate ClassLoaderResolver may be used during class definition if the class has links to other classes. -
loadingClass
boolean loadingClassflag to avoid reentrant invocations to loading operations -
loadingResource
boolean loadingResourceflag to avoid reentrant invocations to loading operations
-
-
Constructor Details
-
EnhancerClassLoader
public EnhancerClassLoader() -
EnhancerClassLoader
-
-
Method Details
-
defineClass
Define a class in this ClassLoader.- Parameters:
fullClassName
- the class namebytes
- the bytes representation of the classclr
- the ClassLoaderResolver to load linked classes
-
loadClass
Overwrite to have an opportunity to load classes from the delegate ClassLoaderResolver- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
findResource
Overwrite to have an opportunity to find resources from the delegate ClassLoaderResolver- Overrides:
findResource
in classClassLoader
-