2010-11-09 3 views
1

Возможно ли читать такую ​​функцию, как ее возможность читать плагин, используя API-интерфейс Eclipse PDE? В настоящее время я читаю плагины, используя:Как читать установленную функцию (eclipse PDE)?

 Bundle[] bundles = Platform.getBundles(name, version); 
     if (bundles == null) { 
      throw new NullPointerException("No bundle found with ID: " + name 
       + " and version: " + version); 

     } else { 
      for (Bundle bundle : bundles) { 
      System.out.println(bundle.getSymbolicName()); 

      } 

     } 

Но если я укажу имя установленной функции, я просто получаю null. Есть ли другой способ, чтобы функции были прочитаны?

И когда я прочитал функцию, я хотел бы повторить все плагины, которые он ссылается.

+1

Связки относятся к плагинам, а не к функциям. Особенности - это логические единицы, используемые для установки. – zvikico

ответ

0

Вы можете попробовать использовать API p2 для запроса установленной функции. P2 является менеджером установки eclipse.

// IProvisioningAgent is a OSGi service 
IProvisioningAgent agent = ...; 
IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); 
IProfile profile = profileRegistry.getProfile(IProfileRegistry.SELF); 
IQueryResult rt = profile.query(QueryUtil.createIUPropertyQuery("org.eclipse.equinox.p2.eclipse.type", "feature"), null);