/** * Parses a single extension contribution. * * @param extension Parses the given extension and adds its contribution to the registry. */ private static void parseExtension(IExtension extension) { final IConfigurationElement[] configElements = extension.getConfigurationElements(); for (IConfigurationElement elem : configElements) { if (VIEW_LABELPROVIDER_TAG.equals(elem.getName())) { ViewLabelProviderExtensionRegistry.addViewLabelProvider( new ViewLabelProviderIDEExtensionDescriptor(elem)); } } }
/** * {@inheritDoc} * * @see * org.eclipse.core.runtime.IRegistryEventListener#removed(org.eclipse.core.runtime.IExtension[]) */ public void removed(IExtension[] extensions) { for (IExtension extension : extensions) { final IConfigurationElement[] configElements = extension.getConfigurationElements(); for (IConfigurationElement elem : configElements) { if (VIEW_LABELPROVIDER_TAG.equals(elem.getName())) { final String extensionClassName = elem.getAttribute(ViewLabelProviderIDEExtensionDescriptor.ATTRIBUTE_CLASS); ViewLabelProviderExtensionRegistry.removeExtension(extensionClassName); } } } }