Class ProjectClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.drools.reflective.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 interface
ProjectClassLoader.InternalTypesClassLoader
-
Field Summary
Fields Modifier and Type Field Description protected Set<String>
generatedClassNames
-
Constructor Summary
Constructors Modifier Constructor Description protected
ProjectClassLoader(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, boolean enableCache)
-
getTypesClassLoader
public ClassLoader getTypesClassLoader()
-
findParentClassLoader
public static ClassLoader findParentClassLoader()
-
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:
loadClass
in 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:
writeClass
in 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:
getResourceAsStream
in classClassLoader
-
getResource
public URL getResource(String name)
- Overrides:
getResource
in classClassLoader
-
getResources
public Enumeration<URL> getResources(String name) throws IOException
- Overrides:
getResources
in classClassLoader
- Throws:
IOException
-
isEnableStoreFirst
public static boolean isEnableStoreFirst()
-
getBytecode
public byte[] getBytecode(String resourceName)
-
getStore
public Map<String,byte[]> getStore()
- Specified by:
getStore
in 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()
-
-