Эффективный способ получить элементы конфигурации для конкретного плагина в Eclipse RCP - PullRequest
0 голосов
/ 01 ноября 2011

Я хочу найти все расширения org.example.extension.point, объявленные в com.example.plugin. Есть ли более эффективный способ сделать это, чем сделать

List<IConfigurationElement> result = new ArrayList<IConfigurationElement>();
IConfigurationElement[] allConfigElements = 
    Platform.getExtensionRegistry.getConfigurationElementsFor("org.example.extension.point");
for (IConfigurationElement ice : allConfigElements) {
    if (ice.getDeclaringExtension().getNamespaceIdentifier() == "com.example.plugin")
        result.add(ice);
}
return result;

1 Ответ

2 голосов
/ 02 ноября 2011

Нет других (более эффективных) способов (это не достаточно просто ?;).Кроме того, я бы использовал ice.getContributor().getName() вместо ice.getDeclaringExtension().getNamespaceIdentifier()

. Я действительно хотел бы знать, почему вы хотите фильтровать по конкретному вкладчику.- Я имею в виду, если вам нужно «знать» участника, почему вы используете точку расширения?Основное назначение точки расширения - использование инверсии управления;основной характеристикой использования точек расширения является не зная участника.Без обид, но, вероятно, вы используете точки расширения таким образом, что они не предназначены для ...

...