Package jetbrains.mps.classloading
Class ClassLoadersHolder
- java.lang.Object
 - 
- jetbrains.mps.classloading.ClassLoadersHolder
 
 
- 
public class ClassLoadersHolder extends Object
This class stores a map SModuleReference->ModuleClassLoader Note: the actual dispose of ModuleClassLoaders happen asynchronously in the EDT- See Also:
 MPSClassLoadersRegistry#flushDisposeQueue(),ClassLoaderManager.myLoadableCondition
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classClassLoadersHolder.ClassLoadingProgressClass loading progress of each MPS-loadable module. 
- 
Constructor Summary
Constructors Constructor Description ClassLoadersHolder(SRepository repository, ModulesWatcher modulesWatcher) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddispose()voiddoLoadModules(Set<ReloadableModule> toLoad)Set<SModuleReference>doUnloadModules(Set<SModuleReference> toUnload)MPSModuleClassLoadergetClassLoader(ReloadableModule module)ClassLoadersHolder.ClassLoadingProgressgetClassLoadingProgress(SModuleReference mRef)jetbrains.mps.classloading.MPSClassLoadersRegistry.ModuleClassLoaderDisposergetModuleClassLoaderDisposer()voidinit()Set<ReloadableModule>onLazyLoaded(Set<ReloadableModule> toLoadLazy) 
 - 
 
- 
- 
Constructor Detail
- 
ClassLoadersHolder
public ClassLoadersHolder(SRepository repository, ModulesWatcher modulesWatcher)
 
 - 
 
- 
Method Detail
- 
init
public void init()
 
- 
dispose
public void dispose()
 
- 
getClassLoader
@Nullable public MPSModuleClassLoader getClassLoader(@NotNull ReloadableModule module)
 
- 
getClassLoadingProgress
@NotNull public ClassLoadersHolder.ClassLoadingProgress getClassLoadingProgress(SModuleReference mRef)
- Returns:
 ClassLoadersHolder.ClassLoadingProgressfor the module. See the documentation ofClassLoadersHolder.ClassLoadingProgressfor the description of states and a typical lifecycle of module in a repository.
 
- 
doUnloadModules
public Set<SModuleReference> doUnloadModules(Set<SModuleReference> toUnload)
- Parameters:
 toUnload- for these modules ModuleClassLoaders were disposed- Returns:
 - modules which changed their ClassLoadingProgress from LAZY_LOADED or LOADED to UNLOADED.
 
 
- 
onLazyLoaded
public Set<ReloadableModule> onLazyLoaded(Set<ReloadableModule> toLoadLazy)
- Parameters:
 toLoadLazy- for these modules only notificationsDeployListener.onLoaded(Set, ProgressMonitor)were sent, so forDeployListenerclients these modules appear to be loaded. No actual loading is performed for these modules.- Returns:
 - modules which changed their ClassLoadingProgress from UNLOADED to LAZY_LOADED.
 
 
- 
doLoadModules
public void doLoadModules(Set<ReloadableModule> toLoad)
- Parameters:
 toLoad- for these modules ModuleClassLoaders were actually created
 
- 
getModuleClassLoaderDisposer
public jetbrains.mps.classloading.MPSClassLoadersRegistry.ModuleClassLoaderDisposer getModuleClassLoaderDisposer()
 
 - 
 
 -