我可以将工厂 class 添加到自定义扩展点吗

Can I add factory class to custom extension point

创建扩展点:

附加到扩展点 class:

我可以将工厂 class 添加到自定义扩展点吗,根据某些规则 returns 不同的 class?

为了使您的 class 成为工厂,它可以实现 IExecutableExtensionFactory class,Eclipse 扩展管理器将调用

public Object create() throws CoreException

请工厂制作扩展名的方法class。

许多工厂 classes 也实现了 IExecutableExtension,它具有单一方法:

public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException

分机管理员将在调用 create 之前调用 setInitializationData。它为您提供了 plugin.xml 中的整个配置元素,因此您可以查看所需的任何属性。