@SuppressWarnings("unchecked") public T getExtension() { if (extension == null) { extension = (T) extensionFactory.create(descriptor.extensionClass); } return extension; }
@SuppressWarnings("unchecked") public T getExtension() { if (extension == null) { extension = (T) extensionFactory.create(descriptor.extensionClass); } return extension; }
/** * Register an extension as bean. * Current implementation register extension as singleton using {@code beanFactory.registerSingleton()}. * The extension instance is created using {@code pluginManager.getExtensionFactory().create(extensionClass)}. * The bean name is the extension class name. * Override this method if you wish other register strategy. */ protected void registerExtension(Class<?> extensionClass) { Object extension = pluginManager.getExtensionFactory().create(extensionClass); beanFactory.registerSingleton(extension.getClass().getName(), extension); }