diff options
Diffstat (limited to 'bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterFactoryImpl.java')
-rw-r--r-- | bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterFactoryImpl.java | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterFactoryImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterFactoryImpl.java deleted file mode 100644 index 7376d4ee46..0000000000 --- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterFactoryImpl.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.xml.core.internal.propagate; - - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.wst.sse.core.internal.PropagatingAdapter; -import org.eclipse.wst.sse.core.internal.PropagatingAdapterFactory; -import org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory; -import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter; -import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory; -import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier; - - -/** - * The PropagatingAdapterFactory is part of the "adapt on create" mechanism. A - * PropagatingAdapter, once added to a node, will cause proagating adapters to - * be created for all child nodes. A side effect of creating a - * PropagatingAdapter for a node is that is is also creates adapters for and - * adapts the Node for all other registered 'create on adapt' Adapters. This - * other adapters are registered by registering their factories via plugin - * extension point. - */ -public class PropagatingAdapterFactoryImpl extends AbstractAdapterFactory implements PropagatingAdapterFactory { - - private PropagatingAdapter fAdapterInstance; - private List fContributedFactories = null; - - /** - * PropagatingAdapterFactory constructor comment. - */ - public PropagatingAdapterFactoryImpl() { - this(PropagatingAdapter.class, true); - } - - protected PropagatingAdapterFactoryImpl(Object adapterKey, boolean registerAdapters) { // , - super(adapterKey, registerAdapters); - } - - public void addContributedFactories(INodeAdapterFactory factory) { - if (fContributedFactories != null) { - fContributedFactories.add(factory); - } - - } - - /** - * createAdapter method comment. - */ - protected INodeAdapter createAdapter(INodeNotifier target) { - // every notifier get's one of these - // (and the same instance of it) - return getAdapterInstance(); - } - - /** - * Gets the adapterInstance. - * - * @return Returns a PropagatingAdapter - */ - private PropagatingAdapter getAdapterInstance() { - if (fAdapterInstance == null) { - fAdapterInstance = new PropagatingAdapterImpl(); - if (fContributedFactories != null) { - for (int i = 0; i < fContributedFactories.size(); i++) - fAdapterInstance.addAdaptOnCreateFactory((PropagatingAdapterFactory) fContributedFactories.get(i)); - } - } - return fAdapterInstance; - } - - public void release() { - // give the adapter instance a chance to release its factories - getAdapterInstance().release(); - - } - - public void setContributedFactories(ArrayList list) { - fContributedFactories = list; - - } - - public INodeAdapterFactory copy() { - PropagatingAdapterFactory clonedInstance = new PropagatingAdapterFactoryImpl(getAdapterKey(), isShouldRegisterAdapter()); - // clone this adapters specific list of adapter factories too - if (fContributedFactories != null) { - - Iterator iterator = fContributedFactories.iterator(); - clonedInstance.setContributedFactories(new ArrayList()); - while (iterator.hasNext()) { - INodeAdapterFactory existingFactory = (INodeAdapterFactory) iterator.next(); - clonedInstance.addContributedFactories(existingFactory.copy()); - } - } - return clonedInstance; - } - - - -} |