Package io.jmix.core
Class ClassManager
java.lang.Object
io.jmix.core.ClassManager
Loads classes taking into account hot-deploy feature.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidClears compiled classes cache@Nullable Class<?> Finds class by name and loads if foundbooleanisGeneratedClass(String className) Checks whether a class with the given name was loaded as a generated class.Class<?> Loads a class by nameClass<?> loadGeneratedClass(String className, byte[] bytes) Loads a generated class from bytecode and replaces the cached class with the same name if it exists.loadGeneratedClasses(Map<String, byte[]> generatedClasses) Loads generated classes from bytecode and replaces cached classes with the same names if they exist.Class<?> reloadClass(String className) Reloads class by namebooleanremoveClass(String className) Remove compiled class from cache
-
Field Details
-
javaClassLoader
-
-
Constructor Details
-
ClassManager
public ClassManager()
-
-
Method Details
-
findClass
Finds class by name and loads if found- Parameters:
className- fully qualified class name- Returns:
- class or null if not found
-
loadClass
Loads a class by name- Parameters:
className- fully qualified class name- Returns:
- class
- Throws:
IllegalStateException- if the class is not found
-
loadGeneratedClass
Loads a generated class from bytecode and replaces the cached class with the same name if it exists.- Parameters:
className- fully qualified class namebytes- bytecode- Returns:
- loaded class
-
loadGeneratedClasses
Loads generated classes from bytecode and replaces cached classes with the same names if they exist.- Parameters:
generatedClasses- bytecode by fully qualified class name- Returns:
- loaded classes by fully qualified class name
-
isGeneratedClass
Checks whether a class with the given name was loaded as a generated class.- Parameters:
className- fully qualified class name- Returns:
- true if a generated class with this name is loaded
-
removeClass
Remove compiled class from cache- Returns:
- true if class removed from cache
-
reloadClass
Reloads class by name- Parameters:
className- fully qualified class name- Returns:
- class or null if not found
-
clearCache
public void clearCache()Clears compiled classes cache -
getJavaClassLoader
-