Module org.eclipse.persistence.moxy
Class JaxbClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.eclipse.persistence.internal.jaxb.JaxbClassLoader
-
public class JaxbClassLoader extends ClassLoader
INTERNAL:Purpose:Provide a ClassLoader implementation to allow the definition of ASM generated wrapper classes, and to lookup those classes when required.
Responsibilities:
- Wrap the provided ClassLoader and pass method calls along
- Maintain a map of generated wrapper classes and attempt lookups in that map if a class isn't found in the nested loader
- Provide a public API to define a class from an array of bytes and a class name
This class is a ClassLoader implementation that maintains a map of wrapper classes generated during JAXB generation. If a class is not found in the nested classLoader, then the map of generated classes is checked.
- Author:
- mmacivor
-
-
Constructor Summary
Constructors Constructor Description JaxbClassLoader(ClassLoader nestedClassLoader)JaxbClassLoader(ClassLoader nestedClassLoader, Class<?>[] classes)JaxbClassLoader(ClassLoader nestedClassLoader, Type[] types)JaxbClassLoader(ClassLoader nestedClassLoader, TypeMappingInfo[] types)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class<?>generateClass(String className, byte[] bytes)Class<?>loadClass(String className)StringnextAvailableGeneratedClassName()voidputClass(String className, Class<?> clazz)-
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
-
-
-
-
Constructor Detail
-
JaxbClassLoader
public JaxbClassLoader(ClassLoader nestedClassLoader)
-
JaxbClassLoader
public JaxbClassLoader(ClassLoader nestedClassLoader, Class<?>[] classes)
-
JaxbClassLoader
public JaxbClassLoader(ClassLoader nestedClassLoader, Type[] types)
-
JaxbClassLoader
public JaxbClassLoader(ClassLoader nestedClassLoader, TypeMappingInfo[] types)
-
-
Method Detail
-
loadClass
public Class<?> loadClass(String className) throws ClassNotFoundException
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
nextAvailableGeneratedClassName
public String nextAvailableGeneratedClassName()
-
-