Службы доступа Eclipse e4 RCP между плагинами

В настоящее время я работаю над своим первым RCP-приложением Eclipse e4, используя Eclipse 4.2M6. Я разрабатываю основной плагин, который содержит основной код для моего приложения и определяет ряд сервисов как расширения, позволяющие другим плагинам/фрагментам подключаться к приложению для добавления новых функций.

В моем основном сервисе есть методы, которые другие плагины должны использовать для регистрации новых функций и для программного добавления в модель основного приложения. Однако я не уверен, как заставить эти плагины искать службу и регистрироваться при запуске плагина.

Пример:

Мой интерфейс для моего сервиса в основном плагине:

public interface FeedManager {

    boolean registerFeed(Feed service);

    boolean unregisterFeed(Feed service);

    IObservableList getFeeds();
}

Что я хочу во втором плагине:

public class TestFeed {

    ///this method could be in a constructor or @PostConstruct method instead
    @Inject
    public void init(FeedManager manager){    

        Feed feed = new Feed();
        feed.setName("Test feed");

        manager.registerFeed(feed);

    }

}

person dpmatheson    schedule 04.04.2012    source источник


Ответы (2)


Eclipse E4 предлагает фрагменты и процессоры для поддержки модульности.

Ларс Фогель предоставляет отличный учебник для этого:

http://www.vogella.com/articles/Eclipse4Modularity/article.html

person Frank    schedule 14.12.2012

+1 для @Frank за указание правильного учебника. Там вам нужно создать процессор во втором плагине.

person The_Cute_Hedgehog    schedule 09.01.2014