Class LRUModuleDependenciesClassLoaderCache
- java.lang.Object
-
- org.guvnor.common.services.backend.cache.LRUCache<org.kie.workbench.common.services.shared.project.KieModule,ClassLoader>
-
- org.kie.workbench.common.services.backend.builder.core.LRUModuleDependenciesClassLoaderCache
-
- All Implemented Interfaces:
org.guvnor.common.services.backend.cache.Cache<org.kie.workbench.common.services.shared.project.KieModule,ClassLoader>
@ApplicationScoped @Named("LRUModuleDependenciesClassLoaderCache") public class LRUModuleDependenciesClassLoaderCache extends org.guvnor.common.services.backend.cache.LRUCache<org.kie.workbench.common.services.shared.project.KieModule,ClassLoader>
-
-
Constructor Summary
Constructors Constructor Description LRUModuleDependenciesClassLoaderCache()LRUModuleDependenciesClassLoaderCache(BuildInfoService buildInfoService)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassLoaderassertDependenciesClassLoader(org.kie.workbench.common.services.shared.project.KieModule module)static ClassLoaderbuildClassLoader(org.kie.workbench.common.services.shared.project.KieModule module, org.kie.scanner.KieModuleMetaData kieModuleMetaData)This method and the subsequent caching was added for performance reasons, since the dependencies calculation and module class loader calculation tends to be time consuming when we manage module with transitives dependencies.protected voidsetBuildInfoService(BuildInfoService buildInfoService)voidsetDependenciesClassLoader(org.kie.workbench.common.services.shared.project.KieModule module, ClassLoader classLoader)
-
-
-
Constructor Detail
-
LRUModuleDependenciesClassLoaderCache
public LRUModuleDependenciesClassLoaderCache()
-
LRUModuleDependenciesClassLoaderCache
@Inject public LRUModuleDependenciesClassLoaderCache(BuildInfoService buildInfoService)
-
-
Method Detail
-
setBuildInfoService
protected void setBuildInfoService(BuildInfoService buildInfoService)
-
assertDependenciesClassLoader
public ClassLoader assertDependenciesClassLoader(org.kie.workbench.common.services.shared.project.KieModule module)
-
buildClassLoader
public static ClassLoader buildClassLoader(org.kie.workbench.common.services.shared.project.KieModule module, org.kie.scanner.KieModuleMetaData kieModuleMetaData)
This method and the subsequent caching was added for performance reasons, since the dependencies calculation and module class loader calculation tends to be time consuming when we manage module with transitives dependencies. Since the module ClassLoader may change with ever incremental build it's better to store in the cache the ClassLoader part that has the module dependencies. And the module ClassLoader can be easily calculated using this ClassLoader as parent. Since current module classes are quickly calculated on each incremental build, etc.
-
setDependenciesClassLoader
public void setDependenciesClassLoader(org.kie.workbench.common.services.shared.project.KieModule module, ClassLoader classLoader)
-
-