/** * @see PropagatingAdapter#release() */ public void release() { if (adaptOnCreateFactories != null) { synchronized (adaptOnCreateFactories) { int length = adaptOnCreateFactories.size(); for (int i = 0; i < length; i++) { INodeAdapterFactory factory = (INodeAdapterFactory) adaptOnCreateFactories.get(i); factory.release(); } } } }
public void release() { if (embeddedTypeHandler != null) { if (embeddedFactoryRegistry != null) { Iterator iterator = embeddedFactoryRegistry.iterator(); INodeAdapterFactory factory = null; while (iterator.hasNext()) { factory = (INodeAdapterFactory) iterator.next(); factory.release(); } } // pa_TODO: possibly need to release here... // or "uninitializeFactoryRegistry" // initializeFactoryRegistry was called from JSPModelLoader embeddedTypeHandler = null; } }
public void setEmbeddedType(EmbeddedTypeHandler handler) { // if really the same handler, no need for further processing if (embeddedTypeHandler == handler) { return; } // then one exists, and the new one is truely different, so we need to // release and remove current factories if (embeddedTypeHandler != null) { Iterator list = embeddedFactoryRegistry.iterator(); while (list.hasNext()) { INodeAdapterFactory factory = (INodeAdapterFactory) list.next(); factory.release(); } embeddedFactoryRegistry.clear(); } embeddedTypeHandler = handler; // when the handler is set, "transfer" its factories to our own list. // note: our own list may also be added to else where, such as on // "editor side". if (embeddedTypeHandler != null) { Iterator iterator = embeddedTypeHandler.getAdapterFactories().iterator(); while (iterator.hasNext()) { INodeAdapterFactory factory = (INodeAdapterFactory) iterator.next(); embeddedFactoryRegistry.add(factory); } } }
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); } }