Делегирование менеджеру или службе для загрузки / обслуживания / сохранения общего состояния.Это обеспечит инициализацию вашей информации при первом доступе.Когда представление создается, просто перейдите к менеджеру и получите информацию.Если пользователь никогда не создает экземпляр вашего представления, тогда вам никогда не приходилось выполнять дополнительную работу.
В общем случае вы не можете создать / создать одно представление при создании / активации другого представления.Eclipse не разрешит этого и будет генерировать ОШИБКИ в журнале ошибок.
РЕДАКТИРОВАТЬ:
3 стандартных образца персистентности, которые я видел, которые я использовал (и / или неправильно использовал :-):
1) Плагин должен получить свое местоположение и просто сериализовать ваше состояние там.(расположение предоставляется бесплатно, если вы подкласс org.eclipse.core.runtime.Plugin
). Вы можете сделать это в вашем активаторе stop(BundleContext)
метод.Вы можете использовать классы типа org.eclipse.ui.XMLMemento
для сериализации в / из XML, если у вас еще нет решения.
2) если вы подклассом org.eclipse.ui.plugin.AbstractUIPlugin
, вы можете использовать org.eclipse.ui.plugin.AbstractUIPlugin.getDialogSettings()
для хранения своего состояния.Потенциально немного громоздко, поскольку вам придется поддерживать его в актуальном состоянии.
3) попросите вашего общего менеджера обновить предпочтения, возможно, с использованием другого метода сериализации.