@SuppressWarnings("rawtypes") private IDisplayContainerFactoryBuilder getDisplayContainerFactoryBuilder(final Display display) { if (displayContainerFactoryBuilder == null) { displayContainerFactoryBuilder = IDisplayContainerFactoryBuilder.Utils.factoryBuilder(); Plugins.useClasses( DISPLAYER_ID, new PlugInSysErrAdapter<IDisplayer<?, ?>>() { @Override public void process(IDisplayer<?, ?> t, IConfigurationElement element) { String key = element.getAttribute(DisplayCoreConstants.key); String clazz = element.getAttribute(DisplayCoreConstants.clazz); if (key == null || clazz == null) throw new NullPointerException( MessageFormat.format(DisplayCoreConstants.attributeMissing, key, clazz)); System.out.println("Registering Displayer " + key + ", " + t); displayContainerFactoryBuilder.registerDisplayer(key, t); } }); Plugins.useClasses( LINE_EDITOR_ID, new IPlugInCreationCallback<ILineEditor>() { @Override public void process(ILineEditor t, IConfigurationElement element) throws CoreException { ILineEditor editor = (ILineEditor) element.createExecutableExtension("class"); String name = element.getAttribute("name"); displayContainerFactoryBuilder.registerLineEditor(name, editor); } @Override public void onException(Throwable throwable, IConfigurationElement element) { throwable.printStackTrace(); } }); } return displayContainerFactoryBuilder; }
private void addRespositoryStatusPropogators(final ISoftwareFmRepository repository2) { Plugins.useClasses( REPOSITORY_PROPOGATOR_ID, new IPlugInCreationCallback<RepositoryStatusListenerPropogator>() { @Override public void process(RepositoryStatusListenerPropogator t, IConfigurationElement element) { t.setRepositoryAndUrlGeneratorMapGetter(SoftwareFmActivator.this); repository2.addStatusListener(t); } @Override public void onException(Throwable throwable, IConfigurationElement element) { throwable.printStackTrace(); } }); }
@Override public IUrlGeneratorMap getUrlGeneratorMap() { if (generatorMap == null) { final Map<String, IUrlGenerator> map = Maps.newMap(); Plugins.useClasses( URL_GENERATOR_ID, new IPlugInCreationCallback<IUrlGenerator>() { @Override public void process(IUrlGenerator t, IConfigurationElement element) { String name = element.getAttribute(CorePlugInConstants.urlGeneratorName); map.put(name, t); } @Override public void onException(Throwable throwable, IConfigurationElement element) { throwable.printStackTrace(); } }); generatorMap = IUrlGeneratorMap.Utils.urlGeneratorMap(map); } return generatorMap; }