EclipseRCP get pluginId, в котором находится класс - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть объекты класса T, которые принадлежат к плагину P. Возможно получить идентификатор плагина через класс T?

У меня нет доступа к объекту плагина, но у меня есть доступ к объекты, которые являются внутренним классом плагина P, у меня есть доступ к PluginClassDescriptor. У меня есть доступ к:

P.T object; // I need P.pluginID

Спасибо

1 Ответ

1 голос
/ 14 февраля 2020

Вы можете получить Bundle для любого класса подключаемого модуля, используя:

Bundle bundle = FrameworkUtil.getBundle(anyobject.getClass());

, где `anyobject 'является экземпляром некоторого класса, принадлежащего подключаемому модулю.

Идентификатор плагина известен как 'symboli c name' в комплекте:

String pluginid = bundle.getSymbolicName();

FrameworkUtil равно org.osgi.framework.FrameworkUtil в плагине org.eclipse.osgi.

...