private ExtensionWrapper createExtensionWrapper(Class<?> extensionClass) { int ordinal = 0; if (extensionClass.isAnnotationPresent(Extension.class)) { ordinal = extensionClass.getAnnotation(Extension.class).ordinal(); } ExtensionDescriptor descriptor = new ExtensionDescriptor(ordinal, extensionClass); return new ExtensionWrapper<>(descriptor, pluginManager.getExtensionFactory()); }
/** * 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); }
private ExtensionWrapper createExtensionWrapper(Class<?> extensionClass) { int ordinal = 0; if (extensionClass.isAnnotationPresent(Extension.class)) { ordinal = extensionClass.getAnnotation(Extension.class).ordinal(); } ExtensionDescriptor descriptor = new ExtensionDescriptor(ordinal, extensionClass); return new ExtensionWrapper<>(descriptor, pluginManager.getExtensionFactory()); }