@Component(value="cuba_JavaClassLoader")
public class JavaClassLoader
extends java.net.URLClassLoader
Modifier and Type | Class and Description |
---|---|
protected static class |
JavaClassLoader.FileClassLoader
Class loader is used for building class instances from ".class" files.
|
Modifier and Type | Field and Description |
---|---|
protected com.haulmont.cuba.core.sys.javacl.ClassFilesProvider |
classFilesProvider |
protected java.lang.String |
classPath |
protected java.util.Map<java.lang.String,com.haulmont.cuba.core.sys.javacl.TimestampClass> |
compiled |
protected java.lang.String |
cubaClassPath |
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.concurrent.locks.Lock> |
locks |
protected ProxyClassLoader |
proxyClassLoader |
protected java.lang.String |
rootDir |
protected com.haulmont.cuba.core.sys.javacl.SourceProvider |
sourceProvider |
protected SpringBeanLoader |
springBeanLoader |
protected TimeSource |
timeSource |
Constructor and Description |
---|
JavaClassLoader(Configuration configuration) |
Modifier and Type | Method and Description |
---|---|
void |
clearCache() |
protected java.util.Map<java.lang.String,java.nio.file.Path> |
collectModifiedClassFiles(java.lang.String rootDir)
Collects class files that were modified or not loaded yet from the "conf" directory
|
java.net.URL |
findResource(java.lang.String name) |
java.util.Collection<java.lang.String> |
getClassDependencies(java.lang.String className) |
java.util.Collection<java.lang.String> |
getClassDependent(java.lang.String className) |
protected java.util.Date |
getCurrentTimestamp() |
java.net.URL |
getResource(java.lang.String name) |
boolean |
isLoadedClass(java.lang.String className) |
java.lang.Class |
loadClass(java.lang.String fullClassName,
boolean resolve) |
protected java.lang.Class |
loadClassFromClassFile(java.lang.String fullClassName,
java.lang.String containerClassName,
java.io.File classFile) |
protected java.lang.Class |
loadClassFromJavaSources(java.lang.String fullClassName,
java.lang.String containerClassName) |
boolean |
removeClass(java.lang.String className) |
addURL, close, definePackage, findClass, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
protected final java.lang.String cubaClassPath
protected final java.lang.String classPath
protected final java.lang.String rootDir
protected final java.util.Map<java.lang.String,com.haulmont.cuba.core.sys.javacl.TimestampClass> compiled
protected final java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.concurrent.locks.Lock> locks
protected final ProxyClassLoader proxyClassLoader
protected final com.haulmont.cuba.core.sys.javacl.SourceProvider sourceProvider
protected final com.haulmont.cuba.core.sys.javacl.ClassFilesProvider classFilesProvider
@Inject protected TimeSource timeSource
@Inject protected SpringBeanLoader springBeanLoader
@Inject public JavaClassLoader(Configuration configuration)
public void clearCache()
public java.lang.Class loadClass(java.lang.String fullClassName, boolean resolve) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
protected java.lang.Class loadClassFromJavaSources(java.lang.String fullClassName, java.lang.String containerClassName) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
protected java.lang.Class loadClassFromClassFile(java.lang.String fullClassName, java.lang.String containerClassName, java.io.File classFile)
protected java.util.Map<java.lang.String,java.nio.file.Path> collectModifiedClassFiles(java.lang.String rootDir)
public boolean removeClass(java.lang.String className)
public boolean isLoadedClass(java.lang.String className)
public java.util.Collection<java.lang.String> getClassDependencies(java.lang.String className)
public java.util.Collection<java.lang.String> getClassDependent(java.lang.String className)
public java.net.URL findResource(java.lang.String name)
findResource
in class java.net.URLClassLoader
public java.net.URL getResource(java.lang.String name)
getResource
in class java.lang.ClassLoader
protected java.util.Date getCurrentTimestamp()