|
1.plugin.xml: <extension point="example.my.treeview.datafactory"> <factory class="example.my.treeview.data.DataFactory"/> </extension> 2.code: // public static Object loadDataFactory(){ ArrayList list = new ArrayList(); //IPluginRegistry r=Platform. getPluginRegistry(); IExtensionRegistry r = Platform.getExtensionRegistry();//獲得注冊的所有擴展點 String pluginID = "example.my.treeview"; //插件ID String extensionPointID = "datafactory"; //定義擴展點的ID IExtensionPoint p = r.getExtensionPoint( pluginID, extensionPointID); //獲得指定的擴展點 IConfigurationElement[] c = p.getConfigurationElements(); //獲得指定擴展點的所有元素 if( c != null) { for( int i= 0; i <c.length; i++) { IDataFactory data = null; try { data=( IDataFactory)c[i].createExecutableExtension("class"); if( data != null){ list.add(data.createTreeData()); } } catch( CoreException x) { // handle exception } } } } } } return list.get(list.size()-1); } |
|
|