public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if ((oldInput != null) && (oldInput instanceof IStructuredModel)) { IJFaceNodeAdapterFactory factory = (IJFaceNodeAdapterFactory) ((IStructuredModel) oldInput).getFactoryRegistry().getFactoryFor(IJFaceNodeAdapter.class); if (factory != null) { factory.removeListener(viewer); } } if ((newInput != null) && (newInput instanceof IStructuredModel)) { IJFaceNodeAdapterFactory factory = (IJFaceNodeAdapterFactory) ((IStructuredModel) newInput).getFactoryRegistry().getFactoryFor(IJFaceNodeAdapter.class); if (factory != null) { factory.addListener(viewer); } } } }
public void uninitializeFactoryRegistry(FactoryRegistry registry) { Assert.isNotNull(registry); // ISSUE: should these factories be released? Or just // removed from this registry, because we are getting ready to // re-add them? INodeAdapterFactory factory = null; if (!registry.contains(DocumentTypeAdapter.class)) { factory = registry.getFactoryFor(DocumentTypeAdapter.class); factory.release(); registry.removeFactory(factory); } if (!registry.contains(ModelParserAdapter.class)) { factory = registry.getFactoryFor(ModelParserAdapter.class); factory.release(); registry.removeFactory(factory); } if (!registry.contains(IStyleSelectorAdapter.class)) { factory = registry.getFactoryFor(IStyleSelectorAdapter.class); factory.release(); registry.removeFactory(factory); } if (!registry.contains(IStyleSheetAdapter.class)) { factory = registry.getFactoryFor(IStyleSheetAdapter.class); factory.release(); registry.removeFactory(factory); } }
factory = (ProjectionModelNodeAdapterFactoryXML) factoryRegistry.getFactoryFor(ProjectionModelNodeAdapterXML.class);
IJFaceNodeAdapterFactory factory = (IJFaceNodeAdapterFactory) ((IDOMNode) oldInput).getModel().getFactoryRegistry().getFactoryFor(IJFaceNodeAdapter.class); if (factory != null) { factory.removeListener(viewer); IJFaceNodeAdapterFactory factory = (IJFaceNodeAdapterFactory) ((IDOMNode) newInput).getModel().getFactoryRegistry().getFactoryFor(IJFaceNodeAdapter.class); if (factory != null) { factory.addListener(viewer);
public static void ensureTranslationAdapterFactory(IStructuredModel sm) { if (sm.getFactoryRegistry().getFactoryFor(IJSPTranslation.class) == null) {
protected void addContentBasedFactories(IStructuredModel structuredModel) { FactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry(); Assert.isNotNull(factoryRegistry, "Program Error: client caller must ensure model has factory registry"); //$NON-NLS-1$ INodeAdapterFactory factory = null; factory = factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class); if (factory == null) { factory = new JFaceNodeAdapterFactory(); factoryRegistry.addFactory(factory); } // cs... added for inferred grammar support // if (structuredModel != null) { ModelQuery modelQuery = ModelQueryUtil.getModelQuery(structuredModel); if (modelQuery != null) { CMDocumentManager documentManager = modelQuery.getCMDocumentManager(); if (documentManager != null) { IPreferenceStore store = XMLUIPlugin.getDefault().getPreferenceStore(); boolean useInferredGrammar = (store != null) ? store.getBoolean(XMLUIPreferenceNames.USE_INFERRED_GRAMMAR) : true; documentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_ASYNC_LOAD, true); documentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_AUTO_LOAD, false); documentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_USE_CACHED_RESOLVED_URI, true); DOMObserver domObserver = new DOMObserver(structuredModel); domObserver.setGrammarInferenceEnabled(useInferredGrammar); domObserver.init(); } } } }