Class MyClassLoader
java.lang.Object
java.lang.ClassLoader
com.fasterxml.jackson.module.afterburner.util.MyClassLoader
Class loader that is needed to load generated classes.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanFlag that determines if we should first try to load new class using parent class loader or not; this may be done to try to force access to protected/package-access properties. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleancanAddClassInPackageOf(Class<?> cls) Helper method called to check whether it is acceptable to create a new class in package that given class is part of.Class<?> loadAndResolve(ClassName className, byte[] byteCode) static intreplaceName(byte[] byteCode, String from, String to) Methods inherited from class 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, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Field Details
-
_cfgUseParentLoader
protected final boolean _cfgUseParentLoaderFlag that determines if we should first try to load new class using parent class loader or not; this may be done to try to force access to protected/package-access properties.
-
-
Constructor Details
-
MyClassLoader
-
-
Method Details
-
canAddClassInPackageOf
Helper method called to check whether it is acceptable to create a new class in package that given class is part of. This is used to prevent certain class of failures, related to access limitations: for example, we can not add classes in sealed packages, or core Java packages (java.*).- Since:
- 2.2.1
-
loadAndResolve
public Class<?> loadAndResolve(ClassName className, byte[] byteCode) throws IllegalArgumentException - Parameters:
className- Interface or abstract class that class to load should extend or implement- Throws:
IllegalArgumentException
-
replaceName
-