diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterLayer.java')
-rw-r--r-- | plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterLayer.java | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterLayer.java b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterLayer.java deleted file mode 100644 index 729d0d416..000000000 --- a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterLayer.java +++ /dev/null @@ -1,89 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2003, 2004 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 - **************************************************************************************************/ - -package org.eclipse.jst.j2ee.internal.webservice.adapter; - -import java.util.Iterator; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EStructuralFeature; - -public class AdapterLayer extends AdapterImpl { - private EObject parent_; - private EStructuralFeature feature_; - private EClass childEClass_; - private EObject child_; - - public AdapterLayer(EObject parent, EStructuralFeature feature, EClass childEClass) { - super(); - parent_ = parent; - feature_ = feature; - childEClass_ = childEClass; - adapt(parent_); - } - - public void notifyChanged(Notification msg) { - int type = msg.getEventType(); - if (type == Notification.SET || type == Notification.UNSET || type == Notification.ADD || type == Notification.REMOVE || type == Notification.ADD_MANY || type == Notification.REMOVE_MANY) - adaptParent(); - } - - public void adapt(EObject eObject) { - if (child_ != null) - child_.eAdapters().remove(this); - parent_ = eObject; - adaptChild(); - if (child_ != null) - child_.eAdapters().add(this); - } - - public void dispose() { - if (child_ != null) - child_.eAdapters().remove(this); - } - - public EObject getChild() { - return child_; - } - - private void adaptChild() { - if (parent_ != null) { - Object object = parent_.eGet(feature_); - if (object == null) - child_ = childEClass_.getEPackage().getEFactoryInstance().create(childEClass_); - else - child_ = (EObject) object; - } else - child_ = null; - } - - private void adaptParent() { - if (parent_ != null && child_ != null) { - EList childFeatures = childEClass_.getEAllStructuralFeatures(); - for (Iterator it = childFeatures.iterator(); it.hasNext();) { - EStructuralFeature childFeature = (EStructuralFeature) it.next(); - boolean isFeatureSet; - Object grandchild = child_.eGet(childFeature); - if (grandchild != null && grandchild instanceof EList) - isFeatureSet = !((EList) grandchild).isEmpty(); - else - isFeatureSet = child_.eIsSet(childFeature); - if (isFeatureSet) { - parent_.eSet(feature_, child_); - return; - } - } - parent_.eUnset(feature_); - } - } -}
\ No newline at end of file |