@Override public String getSchema() { if (fSchema == null && fPoint != null) fSchema = fPoint.getSchemaReference(); return fSchema; }
/** * Acessor for the currently registed ExtensionPoints * @return array of ExtensionPoints */ public ExtensionPoint[] getExtensionPoints() { IExtensionPoint[] eclipseExPoint = RegistryFactory.getRegistry().getExtensionPoints(); List elms = new ArrayList(); for( int i=0; i<eclipseExPoint.length; i++) { Plugin plugin = new Plugin(eclipseExPoint[i].getContributor().getName(),"","","",null); try { Bundle bundle = Platform.getBundle(eclipseExPoint[i].getContributor().getName()); ExtensionPoint exPoint = new ExtensionPoint(eclipseExPoint[i].getUniqueIdentifier(),eclipseExPoint[i].getLabel(),bundle.getResource(eclipseExPoint[i].getSchemaReference()),plugin); for( int e=0; e<eclipseExPoint[i].getExtensions().length; e++) { Extension ex = new Extension(exPoint, plugin); configurationElement(ex,eclipseExPoint[i].getExtensions()[e].getConfigurationElements(),null); exPoint.addExtension(ex); } elms.add(exPoint); } catch (InvalidRegistryObjectException e) { //LOG } } return (ExtensionPoint[]) elms.toArray(new IExtensionPoint[elms.size()]); }
/** * Acessor for the ExtensionPoint * @param id the unique id of the extension point * @return null if the ExtensionPoint is not registered */ public ExtensionPoint getExtensionPoint(String id) { IExtensionPoint eclipseExPoint = RegistryFactory.getRegistry().getExtensionPoint(id); Plugin plugin = new Plugin(eclipseExPoint.getContributor().getName(),"","","",null); Bundle bundle = Platform.getBundle(eclipseExPoint.getContributor().getName()); try { ExtensionPoint exPoint = new ExtensionPoint(eclipseExPoint.getUniqueIdentifier(),eclipseExPoint.getLabel(),bundle.getResource(eclipseExPoint.getSchemaReference()),plugin); for( int e=0; e<eclipseExPoint.getExtensions().length; e++) { Plugin pluginEx = new Plugin(eclipseExPoint.getExtensions()[e].getContributor().getName(),"","","",null); Extension ex = new Extension(exPoint, pluginEx); configurationElement(ex,eclipseExPoint.getExtensions()[e].getConfigurationElements(),null); exPoint.addExtension(ex); } return exPoint; } catch (InvalidRegistryObjectException e) { //LOG } return null; }