/** * @param force <code>true</code> if you want to override existing service providers. * @since 2.1 */ protected void registerInRegistry(boolean force) { Map<String, Object> map = registry.getExtensionToFactoryMap(); for(String fileExtension: fileExtensionProvider.getFileExtensions()) { if (force || !map.containsKey(fileExtension)) map.put(fileExtension, resourceServiceProvider); } }
private void registerFactory(Injector injector) { IResourceFactory factory = injector.getInstance(IResourceFactory.class); IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); FileExtensionProvider fileExtensionProvider = injector.getInstance(FileExtensionProvider.class); for(String ext: fileExtensionProvider.getFileExtensions()) { Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(ext, factory); IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put(ext, serviceProvider); } }
@Inject public void register(LanguageAcceptor acceptor) { acceptor.accept(grammarAccess.getGrammar(), highlighter, contextTypeRegistry, helper, contentAssistContextFactory, fileExtensionProvider.getFileExtensions().iterator().next()); }
@Override public boolean canHandle(final URI uri) { return (this.extensionProvider.getFileExtensions().contains(uri.fileExtension()) && (!uri.isArchive())); }
private void register(IResourceServiceProvider.Registry registry, Injector injector) { IResourceServiceProvider resourceServiceProvider = injector.getInstance(IResourceServiceProvider.class); FileExtensionProvider extensionProvider = injector.getInstance(FileExtensionProvider.class); for (String ext : extensionProvider.getFileExtensions()) { if (registry.getExtensionToFactoryMap().containsKey(ext)) { if (extensionProvider.getPrimaryFileExtension() == ext) { registry.getExtensionToFactoryMap().put(ext, resourceServiceProvider); } } else { registry.getExtensionToFactoryMap().put(ext, resourceServiceProvider); } IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(ext, resourceFactory); } }
public Map<String,LanguageAccess> createLanguageAccess(List<? extends ILanguageConfiguration> languageConfigs, ClassLoader compilerClassLoder) { Map<String,LanguageAccess> result = new HashMap<String, LanguageAccess>(); for (ILanguageConfiguration languageGenConf : languageConfigs) { ISetup setup; try { Class<?> loadClass = compilerClassLoder.loadClass(languageGenConf.getSetup()); if (!ISetup.class.isAssignableFrom(loadClass)) { throw new IllegalArgumentException("Language setup class " + languageGenConf.getSetup() + " must implement " + ISetup.class.getName()); } setup = (ISetup) loadClass.newInstance(); } catch (Exception e) { throw new IllegalStateException("Failed to load language setup for class '"+languageGenConf.getSetup()+"'.", e); } Injector injector = setup.createInjectorAndDoEMFRegistration(); IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); FileExtensionProvider fileExtensionProvider = injector.getInstance(FileExtensionProvider.class); LanguageAccess languageAccess = new LanguageAccess(languageGenConf.getOutputConfigurations(), serviceProvider, languageGenConf.isJavaSupport()); for (String extension : fileExtensionProvider.getFileExtensions()) { result.put(extension, languageAccess); } } return result; }