Class< ? > c = loader.loadClass(className); Object plugin = c.newInstance(); customize(plugin, attrs); if (plugin instanceof Closeable) { addClose((Closeable) plugin);
Class< ? > c = loader.loadClass(className); Object plugin = c.newInstance(); 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; }
Class< ? > c = loader.loadClass(key); Object plugin = c.newInstance(); customize(plugin, entry.getValue()); if (plugin instanceof Closeable) { addClose((Closeable) plugin);