test_class.declarator: MOCK_COMPILER = mock(ScriptArchiveCompiler.class)
test_class.modifier: private final static
test_class.original_string: private final static ScriptArchiveCompiler MOCK_COMPILER = mock(ScriptArchiveCompiler.class);
test_class.type: ScriptArchiveCompiler
test_class.var_name: MOCK_COMPILER
test_class.file: nicobar-core/src/test/java/com/netflix/nicobar/core/module/ScriptModuleLoaderTest.java
test_class.identifier: ScriptModuleLoaderTest
test_case.body: @Test
      public void testCompilerPluginClassloader() throws ModuleLoadException, IOException, ClassNotFoundException {
          ScriptModuleLoader moduleLoader = new ScriptModuleLoader.Builder()
              .addPluginSpec(new ScriptCompilerPluginSpec.Builder("mockPlugin")
                  .withPluginClassName(MockScriptCompilerPlugin.class.getName()).build())
              .build();
          ClassLoader classLoader = moduleLoader.getCompilerPluginClassLoader("mockPlugin");
          assertNotNull(classLoader);
          Class<?> pluginClass = classLoader.loadClass(MockScriptCompilerPlugin.class.getName());
          assertNotNull(pluginClass);
      }
test_case.class_method_signature: ScriptModuleLoaderTest.testCompilerPluginClassloader()
test_case.full_signature: @Test public void testCompilerPluginClassloader()
test_case.identifier: testCompilerPluginClassloader
test_case.invocations: build addPluginSpec build withPluginClassName getName getCompilerPluginClassLoader assertNotNull loadClass getName assertNotNull
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCompilerPluginClassloader()
focal_class.declarator: logger = LoggerFactory.getLogger(ScriptModuleLoader.class)
focal_class.modifier: private final static
focal_class.original_string: private final static Logger logger = LoggerFactory.getLogger(ScriptModuleLoader.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: loadedScriptModules = new ConcurrentHashMap<ModuleId, ScriptModule>()
focal_class.modifier: protected final
focal_class.original_string: protected final Map<ModuleId, ScriptModule> loadedScriptModules = new ConcurrentHashMap<ModuleId, ScriptModule>();
focal_class.type: Map<ModuleId, ScriptModule>
focal_class.var_name: loadedScriptModules
focal_class.declarator: compilerClassLoaders = new ConcurrentHashMap<String, ClassLoader>()
focal_class.modifier: protected final
focal_class.original_string: protected final Map<String, ClassLoader> compilerClassLoaders = new ConcurrentHashMap<String, ClassLoader>();
focal_class.type: Map<String, ClassLoader>
focal_class.var_name: compilerClassLoaders
focal_class.declarator: pluginSpecs
focal_class.modifier: protected final
focal_class.original_string: protected final Set<ScriptCompilerPluginSpec> pluginSpecs;
focal_class.type: Set<ScriptCompilerPluginSpec>
focal_class.var_name: pluginSpecs
focal_class.declarator: appClassLoader
focal_class.modifier: protected final
focal_class.original_string: protected final ClassLoader appClassLoader;
focal_class.type: ClassLoader
focal_class.var_name: appClassLoader
focal_class.declarator: appPackagePaths
focal_class.modifier: protected final
focal_class.original_string: protected final Set<String> appPackagePaths;
focal_class.type: Set<String>
focal_class.var_name: appPackagePaths
focal_class.declarator: compilers = new ArrayList<ScriptArchiveCompiler>()
focal_class.modifier: protected final
focal_class.original_string: protected final List<ScriptArchiveCompiler> compilers = new ArrayList<ScriptArchiveCompiler>();
focal_class.type: List<ScriptArchiveCompiler>
focal_class.var_name: compilers
focal_class.declarator: compilationRootDir
focal_class.modifier: protected final
focal_class.original_string: protected final Path compilationRootDir;
focal_class.type: Path
focal_class.var_name: compilationRootDir
focal_class.declarator: listeners =
          Collections.newSetFromMap(new ConcurrentHashMap<ScriptModuleListener, Boolean>())
focal_class.modifier: protected final
focal_class.original_string: protected final Set<ScriptModuleListener> listeners =
          Collections.newSetFromMap(new ConcurrentHashMap<ScriptModuleListener, Boolean>());
focal_class.type: Set<ScriptModuleListener>
focal_class.var_name: listeners
focal_class.declarator: jbossModuleLoader
focal_class.modifier: protected final
focal_class.original_string: protected final JBossModuleLoader jbossModuleLoader;
focal_class.type: JBossModuleLoader
focal_class.var_name: jbossModuleLoader
focal_class.file: nicobar-core/src/main/java/com/netflix/nicobar/core/module/ScriptModuleLoader.java
focal_class.identifier: ScriptModuleLoader
focal_class.class_method_signature: ScriptModuleLoader.ScriptModuleLoader(final Set<ScriptCompilerPluginSpec> pluginSpecs,
              final ClassLoader appClassLoader,
              final Set<String> appPackagePaths,
              final Set<ScriptModuleListener> listeners,
              final Path compilationRootDir)
focal_class.full_signature: protected  ScriptModuleLoader(final Set<ScriptCompilerPluginSpec> pluginSpecs,
              final ClassLoader appClassLoader,
              final Set<String> appPackagePaths,
              final Set<ScriptModuleListener> listeners,
              final Path compilationRootDir)
focal_class.identifier: ScriptModuleLoader
focal_class.modifiers: protected
focal_class.parameters: (final Set<ScriptCompilerPluginSpec> pluginSpecs,
              final ClassLoader appClassLoader,
              final Set<String> appPackagePaths,
              final Set<ScriptModuleListener> listeners,
              final Path compilationRootDir)
focal_class.signature:  ScriptModuleLoader(final Set<ScriptCompilerPluginSpec> pluginSpecs,
              final ClassLoader appClassLoader,
              final Set<String> appPackagePaths,
              final Set<ScriptModuleListener> listeners,
              final Path compilationRootDir)
focal_class.class_method_signature: ScriptModuleLoader.updateScriptArchives(Set<? extends ScriptArchive> candidateArchives)
focal_class.full_signature: public synchronized void updateScriptArchives(Set<? extends ScriptArchive> candidateArchives)
focal_class.identifier: updateScriptArchives
focal_class.modifiers: public synchronized
focal_class.parameters: (Set<? extends ScriptArchive> candidateArchives)
focal_class.return: void
focal_class.signature: void updateScriptArchives(Set<? extends ScriptArchive> candidateArchives)
focal_class.class_method_signature: ScriptModuleLoader.createModuleSpec(ScriptArchive archive,
              ModuleIdentifier moduleId,
              Map<ModuleId, ModuleIdentifier> moduleIdMap,
              Path moduleCompilationRoot)
focal_class.full_signature: protected ModuleSpec createModuleSpec(ScriptArchive archive,
              ModuleIdentifier moduleId,
              Map<ModuleId, ModuleIdentifier> moduleIdMap,
              Path moduleCompilationRoot)
focal_class.identifier: createModuleSpec
focal_class.modifiers: protected
focal_class.parameters: (ScriptArchive archive,
              ModuleIdentifier moduleId,
              Map<ModuleId, ModuleIdentifier> moduleIdMap,
              Path moduleCompilationRoot)
focal_class.return: ModuleSpec
focal_class.signature: ModuleSpec createModuleSpec(ScriptArchive archive,
              ModuleIdentifier moduleId,
              Map<ModuleId, ModuleIdentifier> moduleIdMap,
              Path moduleCompilationRoot)
focal_class.class_method_signature: ScriptModuleLoader.compileModule(Module module, Path moduleCompilationRoot)
focal_class.full_signature: protected void compileModule(Module module, Path moduleCompilationRoot)
focal_class.identifier: compileModule
focal_class.modifiers: protected
focal_class.parameters: (Module module, Path moduleCompilationRoot)
focal_class.return: void
focal_class.signature: void compileModule(Module module, Path moduleCompilationRoot)
focal_class.class_method_signature: ScriptModuleLoader.addCompilerPlugin(ScriptCompilerPluginSpec pluginSpec)
focal_class.full_signature: public synchronized void addCompilerPlugin(ScriptCompilerPluginSpec pluginSpec)
focal_class.identifier: addCompilerPlugin
focal_class.modifiers: public synchronized
focal_class.parameters: (ScriptCompilerPluginSpec pluginSpec)
focal_class.return: void
focal_class.signature: void addCompilerPlugin(ScriptCompilerPluginSpec pluginSpec)
focal_class.class_method_signature: ScriptModuleLoader.removeScriptModule(ModuleId scriptModuleId)
focal_class.full_signature: public synchronized void removeScriptModule(ModuleId scriptModuleId)
focal_class.identifier: removeScriptModule
focal_class.modifiers: public synchronized
focal_class.parameters: (ModuleId scriptModuleId)
focal_class.return: void
focal_class.signature: void removeScriptModule(ModuleId scriptModuleId)
focal_class.class_method_signature: ScriptModuleLoader.getScriptModule(String scriptModuleId)
focal_class.full_signature: @Nullable public ScriptModule getScriptModule(String scriptModuleId)
focal_class.identifier: getScriptModule
focal_class.modifiers: @Nullable public
focal_class.parameters: (String scriptModuleId)
focal_class.return: ScriptModule
focal_class.signature: ScriptModule getScriptModule(String scriptModuleId)
focal_class.class_method_signature: ScriptModuleLoader.getCompilerPluginClassLoader(String pluginModuleId)
focal_class.full_signature: @Nullable public ClassLoader getCompilerPluginClassLoader(String pluginModuleId)
focal_class.identifier: getCompilerPluginClassLoader
focal_class.modifiers: @Nullable public
focal_class.parameters: (String pluginModuleId)
focal_class.return: ClassLoader
focal_class.signature: ClassLoader getCompilerPluginClassLoader(String pluginModuleId)
focal_class.class_method_signature: ScriptModuleLoader.getScriptModule(ModuleId scriptModuleId)
focal_class.full_signature: @Nullable public ScriptModule getScriptModule(ModuleId scriptModuleId)
focal_class.identifier: getScriptModule
focal_class.modifiers: @Nullable public
focal_class.parameters: (ModuleId scriptModuleId)
focal_class.return: ScriptModule
focal_class.signature: ScriptModule getScriptModule(ModuleId scriptModuleId)
focal_class.class_method_signature: ScriptModuleLoader.getAllScriptModules()
focal_class.full_signature: public Map<ModuleId, ScriptModule> getAllScriptModules()
focal_class.identifier: getAllScriptModules
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<ModuleId, ScriptModule>
focal_class.signature: Map<ModuleId, ScriptModule> getAllScriptModules()
focal_class.class_method_signature: ScriptModuleLoader.addListeners(Set<ScriptModuleListener> listeners)
focal_class.full_signature: public void addListeners(Set<ScriptModuleListener> listeners)
focal_class.identifier: addListeners
focal_class.modifiers: public
focal_class.parameters: (Set<ScriptModuleListener> listeners)
focal_class.return: void
focal_class.signature: void addListeners(Set<ScriptModuleListener> listeners)
focal_class.class_method_signature: ScriptModuleLoader.findCompilers(ScriptArchive archive)
focal_class.full_signature: protected List<ScriptArchiveCompiler> findCompilers(ScriptArchive archive)
focal_class.identifier: findCompilers
focal_class.modifiers: protected
focal_class.parameters: (ScriptArchive archive)
focal_class.return: List<ScriptArchiveCompiler>
focal_class.signature: List<ScriptArchiveCompiler> findCompilers(ScriptArchive archive)
focal_class.class_method_signature: ScriptModuleLoader.notifyModuleUpdate(@Nullable ScriptModule newModule, @Nullable ScriptModule oldModule)
focal_class.full_signature: protected void notifyModuleUpdate(@Nullable ScriptModule newModule, @Nullable ScriptModule oldModule)
focal_class.identifier: notifyModuleUpdate
focal_class.modifiers: protected
focal_class.parameters: (@Nullable ScriptModule newModule, @Nullable ScriptModule oldModule)
focal_class.return: void
focal_class.signature: void notifyModuleUpdate(@Nullable ScriptModule newModule, @Nullable ScriptModule oldModule)
focal_class.class_method_signature: ScriptModuleLoader.notifyArchiveRejected(ScriptArchive scriptArchive, ArchiveRejectedReason reason, @Nullable Throwable cause)
focal_class.full_signature: protected void notifyArchiveRejected(ScriptArchive scriptArchive, ArchiveRejectedReason reason, @Nullable Throwable cause)
focal_class.identifier: notifyArchiveRejected
focal_class.modifiers: protected
focal_class.parameters: (ScriptArchive scriptArchive, ArchiveRejectedReason reason, @Nullable Throwable cause)
focal_class.return: void
focal_class.signature: void notifyArchiveRejected(ScriptArchive scriptArchive, ArchiveRejectedReason reason, @Nullable Throwable cause)
focal_method.body: @Nullable
      public ClassLoader getCompilerPluginClassLoader(String pluginModuleId) {
          return compilerClassLoaders.get(pluginModuleId);
      }
focal_method.class_method_signature: ScriptModuleLoader.getCompilerPluginClassLoader(String pluginModuleId)
focal_method.full_signature: @Nullable public ClassLoader getCompilerPluginClassLoader(String pluginModuleId)
focal_method.identifier: getCompilerPluginClassLoader
focal_method.invocations: get
focal_method.modifiers: @Nullable public
focal_method.parameters: (String pluginModuleId)
focal_method.return: ClassLoader
focal_method.signature: ClassLoader getCompilerPluginClassLoader(String pluginModuleId)