customize(plugin, attrs); if (plugin instanceof Closeable) { addClose((Closeable) plugin);
/** * Load a plugin and customize it. If the plugin cannot be loaded then we * return null. * * @param loader Name of the loader * @param attrs * @param className */ private Object loadPlugin(ClassLoader loader, Attrs attrs, String className, boolean ignoreError) { try { Class<?> c = loader.loadClass(className); Object plugin = c.getConstructor() .newInstance(); customize(plugin, attrs); if (plugin instanceof Closeable) { addClose((Closeable) plugin); } return plugin; } catch (NoClassDefFoundError e) { if (!ignoreError) exception(e, "Failed to load plugin %s;%s, error: %s ", className, attrs, e); } catch (ClassNotFoundException e) { if (!ignoreError) exception(e, "Failed to load plugin %s;%s, error: %s ", className, attrs, e); } catch (Exception e) { exception(e, "Unexpected error loading plugin %s-%s: %s", className, attrs, e); } return null; }
/** * Load a plugin and customize it. If the plugin cannot be loaded then we * return null. * * @param loader Name of the loader * @param attrs * @param className */ private Object loadPlugin(ClassLoader loader, Attrs attrs, String className, boolean ignoreError) { try { Class<?> c = loader.loadClass(className); Object plugin = c.getConstructor() .newInstance(); customize(plugin, attrs); if (plugin instanceof Closeable) { addClose((Closeable) plugin); } return plugin; } catch (NoClassDefFoundError e) { if (!ignoreError) exception(e, "Failed to load plugin %s;%s, error: %s ", className, attrs, e); } catch (ClassNotFoundException e) { if (!ignoreError) exception(e, "Failed to load plugin %s;%s, error: %s ", className, attrs, e); } catch (Exception e) { exception(e, "Unexpected error loading plugin %s-%s: %s", className, attrs, e); } return null; }
customize(plugin, attrs); if (plugin instanceof Closeable) { addClose((Closeable) plugin);
protected CL getLoader() { if (pluginLoader == null) { pluginLoader = new CL(this); addClose(pluginLoader); if (IO.isWindows() && isInteractive()) { pluginLoader.autopurge(5000); } } return pluginLoader; }
protected CL getLoader() { if (pluginLoader == null) { pluginLoader = new CL(this); addClose(pluginLoader); if (IO.isWindows() && isInteractive()) { pluginLoader.autopurge(5000); } } return pluginLoader; }
customize(plugin, entry.getValue()); if (plugin instanceof Closeable) { addClose((Closeable) plugin);