Я ищу расширения, которые реализуют конкретную точку расширения, и использую следующий приемлемый метод для этого:
IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry ();if (extensionRegistry == null) {return ШАБЛОНЫ;}
IConfigurationElement [] config = extensionRegistry.getConfigurationElementsFor ("com.ibm.im.launchpoint.templates.template");
Затем я хотел бы получить версию определяющего пакета.Я бы использовал следующий API, но API для PluginVersionIdentifier устарел:
for (IConfigurationElement e: config) {BlueprintTemplate template = new BlueprintTemplate ();
IExtension declaringExtension = e.getDeclaringExtension ();PluginVersionIdentifier versionIdentifier = declaringExtension.getDeclaringPluginDescriptor (). GetVersionIdentifier ();
Я не смог найти альтернативу в новом API - то есть из IConfigurationElement, как мне получить дескриптор идентификатора версии пакета.Очевидно, что из Bundle я могу получить версию, используя Bundle.getHeaders (), получая значение Bundle-Version - но как мне получить Bundle в первую очередь ???Platform.getBundle (bundleId) недостаточно, поскольку у меня может быть установлено несколько версий одного и того же пакета, и мне нужно знать, кто я.На данный момент у меня ситуация с курицей и яйцом, и единственное решение, которое у меня есть, - это устаревший API.