NetBeans与Eclipse处理扩展点及扩展的方式是不同的。让我们看看这些不同 之处。请注意,本文仅针对那些对这两个平台的插件机制都具备相当知识的人。
NetBeans Platform:
定义扩展点 | 创建一个接口,并将它置入一个公共模块包中。 |
创建扩展 | 创建上述接口的实现,并通过layer.xml文件将它注册到虚拟文件系统 中。 |
读取可用的扩展 | 使用org.openide.util.Lookup类去获取上述接口实现的实例。 |
Eclipse RCP:
定义扩展点 | 创建一个扩展点的描述符方案,该方案定义了扩展点的元素与属性, 以及这些元素之间的关系。 可用的属性类型为:boolean,string,java,resource和 identifer。可向该方案的任何部分添加文档。 最后,向plugin.xml文件 注册你的扩展点。 |
创建扩展 | 根据上述方案,在plugin.xml文件中创建一个子部分,在此处向属性 赋予值。如果属性类型为java,则也要创建被引用的Java类。 |
读取可用的扩展 | 使用org.eclipse.core.runtime.IExtensionPoint获取扩展的列表。 从每个扩展中获取IConfigurationElement的列表: 每个IConfigurationElement对应于plugin.xml文件中的一个XML标 签。 |
NetBeans平台 | Eclipse RCP | ||
优点 | 缺点 | 优点 | 缺点 |
非常简单,易于学习 | 扩展点没有定义它自己:没有关于是哪个公共模块接口作为扩展点使 用的信息。 | 扩展点清晰地定义了它自己:快速查看jar文件,你就能立即知道该插 件提供了哪些扩展点,以及它们是由哪些元素组成的。 | 比较复杂,需要更多时间去学习 |
使用的查找名也未作定义 | 有许多属性类型:可以在XML文件中描述特定的结果。 | ||
扩展和其它的内容都混写在layer.xml文件中:难以确定该模块用于哪 些扩展。 | 可生成扩展的多数组成部分,见PDE。 | ||
定义好了文档的位置。 |
时间: 2024-11-08 19:07:32