Class ProjectClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.drools.wiring.api.classloader.ProjectClassLoader
-
- All Implemented Interfaces:
org.kie.internal.utils.KieTypeResolver,org.kie.memorycompiler.StoreClassLoader,org.kie.memorycompiler.WritableClassLoader
public abstract class ProjectClassLoader extends ClassLoader implements org.kie.internal.utils.KieTypeResolver, org.kie.memorycompiler.StoreClassLoader, org.kie.memorycompiler.WritableClassLoader
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProjectClassLoader.DummyClassNotFoundExceptionstatic interfaceProjectClassLoader.InternalTypesClassLoader
-
Field Summary
Fields Modifier and Type Field Description protected Set<String>generatedClassNames
-
Constructor Summary
Constructors Modifier Constructor Description protectedProjectClassLoader(ClassLoader parent, ResourceProvider resourceProvider)
-
Method Summary
-
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, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
ProjectClassLoader
protected ProjectClassLoader(ClassLoader parent, ResourceProvider resourceProvider)
-
-
Method Detail
-
getClassLoader
public static ClassLoader getClassLoader(ClassLoader classLoader, Class<?> cls)
-
getTypesClassLoader
public ClassLoader getTypesClassLoader()
-
createProjectClassLoader
public static ProjectClassLoader createProjectClassLoader()
-
createProjectClassLoader
public static ProjectClassLoader createProjectClassLoader(ClassLoader parent)
-
createProjectClassLoader
public static ProjectClassLoader createProjectClassLoader(ClassLoader parent, ResourceProvider resourceProvider)
-
createProjectClassLoader
public static ProjectClassLoader createProjectClassLoader(ClassLoader parent, Map<String,byte[]> store)
-
isDynamic
public abstract boolean isDynamic()
-
loadClass
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
isStoreFirst
protected boolean isStoreFirst(String name)
-
internalLoadClass
public Class<?> internalLoadClass(String name, boolean resolve) throws ClassNotFoundException
- Throws:
ClassNotFoundException
-
tryDefineType
public Class<?> tryDefineType(String name, ClassNotFoundException cnfe) throws ClassNotFoundException
- Throws:
ClassNotFoundException
-
writeClass
public Class<?> writeClass(String name, byte[] bytecode)
- Specified by:
writeClassin interfaceorg.kie.memorycompiler.WritableClassLoader
-
undefineClass
public void undefineClass(String name)
-
storeClass
public void storeClass(String name, byte[] bytecode)
-
isClassInUse
public boolean isClassInUse(String className, Class<? extends Annotation> annotationClazz)
-
isClassInUse
public boolean isClassInUse(String className)
-
getResourceAsStream
public InputStream getResourceAsStream(String name)
- Overrides:
getResourceAsStreamin classClassLoader
-
getResource
public URL getResource(String name)
- Overrides:
getResourcein classClassLoader
-
getResources
public Enumeration<URL> getResources(String name) throws IOException
- Overrides:
getResourcesin classClassLoader- Throws:
IOException
-
isEnableStoreFirst
public static boolean isEnableStoreFirst()
-
getBytecode
public byte[] getBytecode(String resourceName)
-
getStore
public Map<String,byte[]> getStore()
- Specified by:
getStorein interfaceorg.kie.memorycompiler.StoreClassLoader
-
clearStore
public void clearStore()
-
setDroolsClassLoader
public void setDroolsClassLoader(ClassLoader droolsClassLoader)
-
setInternalClassLoader
public void setInternalClassLoader(ProjectClassLoader.InternalTypesClassLoader classLoader)
-
setResourceProvider
public void setResourceProvider(ResourceProvider resourceProvider)
-
initFrom
public void initFrom(ProjectClassLoader other)
-
makeClassLoader
public abstract ProjectClassLoader.InternalTypesClassLoader makeClassLoader()
-
-