Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy')
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ContainedElementNoOppositeImpl.java174
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMapNonContainedImpl.java163
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiContainedImpl.java163
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiNUNonContainedImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiNonContainedImpl.java145
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefSingleContainedImpl.java197
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefSingleNonContainedImpl.java172
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplContainedElementNPLImpl.java216
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainedElementImpl.java285
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainerImpl.java181
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainerNPLImpl.java163
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainedElementImpl.java307
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainerImpl.java181
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainerNPLImpl.java145
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainedElementImpl.java285
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainerImpl.java216
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainerNPLImpl.java197
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainedElementImpl.java307
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainerImpl.java241
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainerNPLImpl.java172
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiContainedElementImpl.java283
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiNonContainedElementImpl.java306
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiNonContainedUnsettableElementImpl.java377
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiContainedImpl.java179
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiContainedNPLImpl.java163
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedImpl.java179
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedNPLImpl.java145
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedUnsettableImpl.java199
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleContainedImpl.java215
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleContainedNPLImpl.java197
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleNonContainedImpl.java237
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleNonContainedNPLImpl.java172
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/SingleContainedElementImpl.java283
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/SingleNonContainedElementImpl.java306
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/StringToEObjectImpl.java296
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/model4FactoryImpl.java553
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/model4PackageImpl.java1338
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/model4Factory.java363
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/model4Package.java1770
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/util/model4AdapterFactory.java1166
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/util/model4Switch.java1232
41 files changed, 14013 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ContainedElementNoOppositeImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ContainedElementNoOppositeImpl.java
new file mode 100644
index 0000000000..60e8b80e9b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ContainedElementNoOppositeImpl.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Contained Element No Opposite</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ContainedElementNoOppositeImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ContainedElementNoOppositeImpl extends EObjectImpl implements ContainedElementNoOpposite
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContainedElementNoOppositeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getContainedElementNoOpposite();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.CONTAINED_ELEMENT_NO_OPPOSITE__NAME, oldName,
+ name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.CONTAINED_ELEMENT_NO_OPPOSITE__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.CONTAINED_ELEMENT_NO_OPPOSITE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.CONTAINED_ELEMENT_NO_OPPOSITE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.CONTAINED_ELEMENT_NO_OPPOSITE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ContainedElementNoOppositeImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMapNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMapNonContainedImpl.java
new file mode 100644
index 0000000000..58e92bc15c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMapNonContainedImpl.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefMapNonContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Gen Ref Map Non Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMapNonContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefMapNonContainedImpl extends EObjectImpl implements GenRefMapNonContained
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' map. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EMap<String, EObject> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefMapNonContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getGenRefMapNonContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap<String, EObject> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EcoreEMap<String, EObject>(model4Package.eINSTANCE.getStringToEObject(),
+ StringToEObjectImpl.class, this, model4Package.GEN_REF_MAP_NON_CONTAINED__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MAP_NON_CONTAINED__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MAP_NON_CONTAINED__ELEMENTS:
+ if (coreType)
+ return getElements();
+ else
+ return getElements().map();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MAP_NON_CONTAINED__ELEMENTS:
+ ((EStructuralFeature.Setting)getElements()).set(newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MAP_NON_CONTAINED__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MAP_NON_CONTAINED__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // GenRefMapNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiContainedImpl.java
new file mode 100644
index 0000000000..a9b4b82514
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiContainedImpl.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Gen Ref Multi Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefMultiContainedImpl extends EObjectImpl implements GenRefMultiContained
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefMultiContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getGenRefMultiContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectContainmentEList<EObject>(EObject.class, this,
+ model4Package.GEN_REF_MULTI_CONTAINED__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_CONTAINED__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_CONTAINED__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_CONTAINED__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_CONTAINED__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_CONTAINED__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // GenRefMultiContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiNUNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiNUNonContainedImpl.java
new file mode 100644
index 0000000000..0163ad8a0f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiNUNonContainedImpl.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNUNonContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Gen Ref Multi NU Non Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiNUNonContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefMultiNUNonContainedImpl extends EObjectImpl implements GenRefMultiNUNonContained
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefMultiNUNonContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getGenRefMultiNUNonContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectEList<EObject>(EObject.class, this, model4Package.GEN_REF_MULTI_NU_NON_CONTAINED__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_NU_NON_CONTAINED__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_NU_NON_CONTAINED__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_NU_NON_CONTAINED__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_NU_NON_CONTAINED__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // GenRefMultiNUNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiNonContainedImpl.java
new file mode 100644
index 0000000000..1756fa9340
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefMultiNonContainedImpl.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Gen Ref Multi Non Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiNonContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefMultiNonContainedImpl extends EObjectImpl implements GenRefMultiNonContained
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefMultiNonContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getGenRefMultiNonContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectResolvingEList<EObject>(EObject.class, this,
+ model4Package.GEN_REF_MULTI_NON_CONTAINED__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_NON_CONTAINED__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_NON_CONTAINED__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_NON_CONTAINED__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_MULTI_NON_CONTAINED__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // GenRefMultiNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefSingleContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefSingleContainedImpl.java
new file mode 100644
index 0000000000..16d644604f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefSingleContainedImpl.java
@@ -0,0 +1,197 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Gen Ref Single Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefSingleContainedImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefSingleContainedImpl extends EObjectImpl implements GenRefSingleContained
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefSingleContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getGenRefSingleContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(EObject newElement, NotificationChain msgs)
+ {
+ EObject oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT, oldElement, newElement);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(EObject newElement)
+ {
+ if (newElement != element)
+ {
+ NotificationChain msgs = null;
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT, null, msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT, null, msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT,
+ newElement, newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT:
+ return basicSetElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT:
+ setElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_CONTAINED__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // GenRefSingleContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefSingleNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefSingleNonContainedImpl.java
new file mode 100644
index 0000000000..045efb9f76
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/GenRefSingleNonContainedImpl.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Gen Ref Single Non Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefSingleNonContainedImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefSingleNonContainedImpl extends EObjectImpl implements GenRefSingleNonContained
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefSingleNonContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getGenRefSingleNonContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getElement()
+ {
+ if (element != null && element.eIsProxy())
+ {
+ InternalEObject oldElement = (InternalEObject)element;
+ element = eResolveProxy(oldElement);
+ if (element != oldElement)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ model4Package.GEN_REF_SINGLE_NON_CONTAINED__ELEMENT, oldElement, element));
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(EObject newElement)
+ {
+ EObject oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.GEN_REF_SINGLE_NON_CONTAINED__ELEMENT,
+ oldElement, element));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_NON_CONTAINED__ELEMENT:
+ if (resolve)
+ return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_NON_CONTAINED__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_NON_CONTAINED__ELEMENT:
+ setElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.GEN_REF_SINGLE_NON_CONTAINED__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // GenRefSingleNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplContainedElementNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplContainedElementNPLImpl.java
new file mode 100644
index 0000000000..d108c19b16
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplContainedElementNPLImpl.java
@@ -0,0 +1,216 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.INamedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Contained Element NPL</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplContainedElementNPLImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplContainedElementNPLImpl extends EObjectImpl implements ImplContainedElementNPL
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplContainedElementNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplContainedElementNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME, oldName,
+ name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == INamedElement.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME:
+ return model4interfacesPackage.INAMED_ELEMENT__NAME;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == INamedElement.class)
+ {
+ switch (baseFeatureID)
+ {
+ case model4interfacesPackage.INAMED_ELEMENT__NAME:
+ return model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ImplContainedElementNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainedElementImpl.java
new file mode 100644
index 0000000000..7c74af1492
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainedElementImpl.java
@@ -0,0 +1,285 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Multi Ref Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainedElementImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefContainedElementImpl extends EObjectImpl implements ImplMultiRefContainedElement
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefContainedElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplMultiRefContainedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public IMultiRefContainer getParent()
+ {
+ if (eContainerFeatureID() != model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT)
+ return null;
+ return (IMultiRefContainer)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(IMultiRefContainer newParent, NotificationChain msgs)
+ {
+ msgs = eBasicSetContainer((InternalEObject)newParent, model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(IMultiRefContainer newParent)
+ {
+ if (newParent != eInternalContainer()
+ || (eContainerFeatureID() != model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT && newParent != null))
+ {
+ if (EcoreUtil.isAncestor(this, newParent))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this, model4interfacesPackage.IMULTI_REF_CONTAINER__ELEMENTS,
+ IMultiRefContainer.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT,
+ newParent, newParent));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME,
+ oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetParent((IMultiRefContainer)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT:
+ return basicSetParent(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs)
+ {
+ switch (eContainerFeatureID())
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT:
+ return eInternalContainer().eInverseRemove(this, model4interfacesPackage.IMULTI_REF_CONTAINER__ELEMENTS,
+ IMultiRefContainer.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT:
+ return getParent();
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT:
+ setParent((IMultiRefContainer)newValue);
+ return;
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT:
+ setParent((IMultiRefContainer)null);
+ return;
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT:
+ return getParent() != null;
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ImplMultiRefContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainerImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainerImpl.java
new file mode 100644
index 0000000000..0f2302b48c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainerImpl.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Multi Ref Container</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainerImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefContainerImpl extends EObjectImpl implements ImplMultiRefContainer
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<IMultiRefContainedElement> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefContainerImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplMultiRefContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<IMultiRefContainedElement> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectContainmentWithInverseEList<IMultiRefContainedElement>(IMultiRefContainedElement.class,
+ this, model4Package.IMPL_MULTI_REF_CONTAINER__ELEMENTS,
+ model4interfacesPackage.IMULTI_REF_CONTAINED_ELEMENT__PARENT);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER__ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends IMultiRefContainedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ImplMultiRefContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainerNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainerNPLImpl.java
new file mode 100644
index 0000000000..f08d6fc2b2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefContainerNPLImpl.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Multi Ref Container NPL</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainerNPLImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefContainerNPLImpl extends EObjectImpl implements ImplMultiRefContainerNPL
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<IContainedElementNoParentLink> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefContainerNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplMultiRefContainerNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<IContainedElementNoParentLink> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectContainmentEList<IContainedElementNoParentLink>(IContainedElementNoParentLink.class, this,
+ model4Package.IMPL_MULTI_REF_CONTAINER_NPL__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends IContainedElementNoParentLink>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ImplMultiRefContainerNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainedElementImpl.java
new file mode 100644
index 0000000000..b57096edd3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainedElementImpl.java
@@ -0,0 +1,307 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Multi Ref Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainedElementImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefNonContainedElementImpl extends EObjectImpl implements ImplMultiRefNonContainedElement
+{
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected IMultiRefNonContainer parent;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefNonContainedElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplMultiRefNonContainedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public IMultiRefNonContainer getParent()
+ {
+ if (parent != null && parent.eIsProxy())
+ {
+ InternalEObject oldParent = (InternalEObject)parent;
+ parent = (IMultiRefNonContainer)eResolveProxy(oldParent);
+ if (parent != oldParent)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT, oldParent, parent));
+ }
+ }
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public IMultiRefNonContainer basicGetParent()
+ {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(IMultiRefNonContainer newParent, NotificationChain msgs)
+ {
+ IMultiRefNonContainer oldParent = parent;
+ parent = newParent;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT, oldParent, newParent);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(IMultiRefNonContainer newParent)
+ {
+ if (newParent != parent)
+ {
+ NotificationChain msgs = null;
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this,
+ model4interfacesPackage.IMULTI_REF_NON_CONTAINER__ELEMENTS, IMultiRefNonContainer.class, msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this,
+ model4interfacesPackage.IMULTI_REF_NON_CONTAINER__ELEMENTS, IMultiRefNonContainer.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT,
+ newParent, newParent));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME,
+ oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT:
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this,
+ model4interfacesPackage.IMULTI_REF_NON_CONTAINER__ELEMENTS, IMultiRefNonContainer.class, msgs);
+ return basicSetParent((IMultiRefNonContainer)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT:
+ return basicSetParent(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT:
+ if (resolve)
+ return getParent();
+ return basicGetParent();
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT:
+ setParent((IMultiRefNonContainer)newValue);
+ return;
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT:
+ setParent((IMultiRefNonContainer)null);
+ return;
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT:
+ return parent != null;
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ImplMultiRefNonContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainerImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainerImpl.java
new file mode 100644
index 0000000000..ef1c84796b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainerImpl.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Multi Ref Non Container</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainerImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefNonContainerImpl extends EObjectImpl implements ImplMultiRefNonContainer
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<IMultiRefNonContainedElement> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefNonContainerImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplMultiRefNonContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<IMultiRefNonContainedElement> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectWithInverseResolvingEList<IMultiRefNonContainedElement>(IMultiRefNonContainedElement.class,
+ this, model4Package.IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS,
+ model4interfacesPackage.IMULTI_REF_NON_CONTAINED_ELEMENT__PARENT);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends IMultiRefNonContainedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ImplMultiRefNonContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainerNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainerNPLImpl.java
new file mode 100644
index 0000000000..9c7a33aaf4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplMultiRefNonContainerNPLImpl.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Multi Ref Non Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainerNPLImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefNonContainerNPLImpl extends EObjectImpl implements ImplMultiRefNonContainerNPL
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<IContainedElementNoParentLink> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefNonContainerNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplMultiRefNonContainerNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<IContainedElementNoParentLink> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectResolvingEList<IContainedElementNoParentLink>(IContainedElementNoParentLink.class, this,
+ model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends IContainedElementNoParentLink>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ImplMultiRefNonContainerNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainedElementImpl.java
new file mode 100644
index 0000000000..7a185c57bc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainedElementImpl.java
@@ -0,0 +1,285 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Single Ref Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainedElementImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefContainedElementImpl extends EObjectImpl implements ImplSingleRefContainedElement
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefContainedElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplSingleRefContainedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefContainer getParent()
+ {
+ if (eContainerFeatureID() != model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT)
+ return null;
+ return (ISingleRefContainer)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ISingleRefContainer newParent, NotificationChain msgs)
+ {
+ msgs = eBasicSetContainer((InternalEObject)newParent, model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(ISingleRefContainer newParent)
+ {
+ if (newParent != eInternalContainer()
+ || (eContainerFeatureID() != model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT && newParent != null))
+ {
+ if (EcoreUtil.isAncestor(this, newParent))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this, model4interfacesPackage.ISINGLE_REF_CONTAINER__ELEMENT,
+ ISingleRefContainer.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT,
+ newParent, newParent));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME,
+ oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetParent((ISingleRefContainer)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT:
+ return basicSetParent(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs)
+ {
+ switch (eContainerFeatureID())
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT:
+ return eInternalContainer().eInverseRemove(this, model4interfacesPackage.ISINGLE_REF_CONTAINER__ELEMENT,
+ ISingleRefContainer.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT:
+ return getParent();
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT:
+ setParent((ISingleRefContainer)newValue);
+ return;
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT:
+ setParent((ISingleRefContainer)null);
+ return;
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT:
+ return getParent() != null;
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ImplSingleRefContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainerImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainerImpl.java
new file mode 100644
index 0000000000..cfa778d617
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainerImpl.java
@@ -0,0 +1,216 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Single Ref Container</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainerImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefContainerImpl extends EObjectImpl implements ImplSingleRefContainer
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected ISingleRefContainedElement element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefContainerImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplSingleRefContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefContainedElement getElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(ISingleRefContainedElement newElement, NotificationChain msgs)
+ {
+ ISingleRefContainedElement oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT, oldElement, newElement);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(ISingleRefContainedElement newElement)
+ {
+ if (newElement != element)
+ {
+ NotificationChain msgs = null;
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this,
+ model4interfacesPackage.ISINGLE_REF_CONTAINED_ELEMENT__PARENT, ISingleRefContainedElement.class, msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this,
+ model4interfacesPackage.ISINGLE_REF_CONTAINED_ELEMENT__PARENT, ISingleRefContainedElement.class, msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT,
+ newElement, newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT:
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT, null, msgs);
+ return basicSetElement((ISingleRefContainedElement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT:
+ return basicSetElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT:
+ setElement((ISingleRefContainedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT:
+ setElement((ISingleRefContainedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ImplSingleRefContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainerNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainerNPLImpl.java
new file mode 100644
index 0000000000..5c2f670585
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefContainerNPLImpl.java
@@ -0,0 +1,197 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Single Ref Container NPL</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainerNPLImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefContainerNPLImpl extends EObjectImpl implements ImplSingleRefContainerNPL
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected IContainedElementNoParentLink element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefContainerNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplSingleRefContainerNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public IContainedElementNoParentLink getElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(IContainedElementNoParentLink newElement, NotificationChain msgs)
+ {
+ IContainedElementNoParentLink oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT, oldElement, newElement);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(IContainedElementNoParentLink newElement)
+ {
+ if (newElement != element)
+ {
+ NotificationChain msgs = null;
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT, null, msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT, null, msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT,
+ newElement, newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT:
+ return basicSetElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT:
+ setElement((IContainedElementNoParentLink)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT:
+ setElement((IContainedElementNoParentLink)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ImplSingleRefContainerNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainedElementImpl.java
new file mode 100644
index 0000000000..3f55832f6b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainedElementImpl.java
@@ -0,0 +1,307 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Single Ref Non Contained Element</b></em>
+ * '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainedElementImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefNonContainedElementImpl extends EObjectImpl implements ImplSingleRefNonContainedElement
+{
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected ISingleRefNonContainer parent;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefNonContainedElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplSingleRefNonContainedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefNonContainer getParent()
+ {
+ if (parent != null && parent.eIsProxy())
+ {
+ InternalEObject oldParent = (InternalEObject)parent;
+ parent = (ISingleRefNonContainer)eResolveProxy(oldParent);
+ if (parent != oldParent)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT, oldParent, parent));
+ }
+ }
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefNonContainer basicGetParent()
+ {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ISingleRefNonContainer newParent, NotificationChain msgs)
+ {
+ ISingleRefNonContainer oldParent = parent;
+ parent = newParent;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT, oldParent, newParent);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(ISingleRefNonContainer newParent)
+ {
+ if (newParent != parent)
+ {
+ NotificationChain msgs = null;
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this,
+ model4interfacesPackage.ISINGLE_REF_NON_CONTAINER__ELEMENT, ISingleRefNonContainer.class, msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this,
+ model4interfacesPackage.ISINGLE_REF_NON_CONTAINER__ELEMENT, ISingleRefNonContainer.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT, newParent, newParent));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME,
+ oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT:
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this,
+ model4interfacesPackage.ISINGLE_REF_NON_CONTAINER__ELEMENT, ISingleRefNonContainer.class, msgs);
+ return basicSetParent((ISingleRefNonContainer)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT:
+ return basicSetParent(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT:
+ if (resolve)
+ return getParent();
+ return basicGetParent();
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT:
+ setParent((ISingleRefNonContainer)newValue);
+ return;
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT:
+ setParent((ISingleRefNonContainer)null);
+ return;
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT:
+ return parent != null;
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ImplSingleRefNonContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainerImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainerImpl.java
new file mode 100644
index 0000000000..70585da87c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainerImpl.java
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Single Ref Non Container</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainerImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefNonContainerImpl extends EObjectImpl implements ImplSingleRefNonContainer
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected ISingleRefNonContainedElement element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefNonContainerImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplSingleRefNonContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefNonContainedElement getElement()
+ {
+ if (element != null && element.eIsProxy())
+ {
+ InternalEObject oldElement = (InternalEObject)element;
+ element = (ISingleRefNonContainedElement)eResolveProxy(oldElement);
+ if (element != oldElement)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT, oldElement, element));
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefNonContainedElement basicGetElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(ISingleRefNonContainedElement newElement, NotificationChain msgs)
+ {
+ ISingleRefNonContainedElement oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT, oldElement, newElement);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(ISingleRefNonContainedElement newElement)
+ {
+ if (newElement != element)
+ {
+ NotificationChain msgs = null;
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this,
+ model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT__PARENT, ISingleRefNonContainedElement.class,
+ msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this,
+ model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT__PARENT, ISingleRefNonContainedElement.class,
+ msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT,
+ newElement, newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT:
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this,
+ model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT__PARENT, ISingleRefNonContainedElement.class,
+ msgs);
+ return basicSetElement((ISingleRefNonContainedElement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT:
+ return basicSetElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT:
+ if (resolve)
+ return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT:
+ setElement((ISingleRefNonContainedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT:
+ setElement((ISingleRefNonContainedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ImplSingleRefNonContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainerNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainerNPLImpl.java
new file mode 100644
index 0000000000..e0171ca0ca
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/ImplSingleRefNonContainerNPLImpl.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Impl Single Ref Non Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainerNPLImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefNonContainerNPLImpl extends EObjectImpl implements ImplSingleRefNonContainerNPL
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected IContainedElementNoParentLink element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefNonContainerNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getImplSingleRefNonContainerNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public IContainedElementNoParentLink getElement()
+ {
+ if (element != null && element.eIsProxy())
+ {
+ InternalEObject oldElement = (InternalEObject)element;
+ element = (IContainedElementNoParentLink)eResolveProxy(oldElement);
+ if (element != oldElement)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL__ELEMENT, oldElement, element));
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public IContainedElementNoParentLink basicGetElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(IContainedElementNoParentLink newElement)
+ {
+ IContainedElementNoParentLink oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL__ELEMENT,
+ oldElement, element));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL__ELEMENT:
+ if (resolve)
+ return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL__ELEMENT:
+ setElement((IContainedElementNoParentLink)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL__ELEMENT:
+ setElement((IContainedElementNoParentLink)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ImplSingleRefNonContainerNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiContainedElementImpl.java
new file mode 100644
index 0000000000..ae91ce09d6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiContainedElementImpl.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Multi Contained Element</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiContainedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiContainedElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiContainedElementImpl extends EObjectImpl implements MultiContainedElement
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiContainedElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getMultiContainedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.MULTI_CONTAINED_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiContained getParent()
+ {
+ if (eContainerFeatureID() != model4Package.MULTI_CONTAINED_ELEMENT__PARENT)
+ return null;
+ return (RefMultiContained)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(RefMultiContained newParent, NotificationChain msgs)
+ {
+ msgs = eBasicSetContainer((InternalEObject)newParent, model4Package.MULTI_CONTAINED_ELEMENT__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefMultiContained newParent)
+ {
+ if (newParent != eInternalContainer()
+ || (eContainerFeatureID() != model4Package.MULTI_CONTAINED_ELEMENT__PARENT && newParent != null))
+ {
+ if (EcoreUtil.isAncestor(this, newParent))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this, model4Package.REF_MULTI_CONTAINED__ELEMENTS,
+ RefMultiContained.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.MULTI_CONTAINED_ELEMENT__PARENT, newParent,
+ newParent));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_CONTAINED_ELEMENT__PARENT:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetParent((RefMultiContained)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_CONTAINED_ELEMENT__PARENT:
+ return basicSetParent(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs)
+ {
+ switch (eContainerFeatureID())
+ {
+ case model4Package.MULTI_CONTAINED_ELEMENT__PARENT:
+ return eInternalContainer().eInverseRemove(this, model4Package.REF_MULTI_CONTAINED__ELEMENTS,
+ RefMultiContained.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_CONTAINED_ELEMENT__NAME:
+ return getName();
+ case model4Package.MULTI_CONTAINED_ELEMENT__PARENT:
+ return getParent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_CONTAINED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case model4Package.MULTI_CONTAINED_ELEMENT__PARENT:
+ setParent((RefMultiContained)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_CONTAINED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case model4Package.MULTI_CONTAINED_ELEMENT__PARENT:
+ setParent((RefMultiContained)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_CONTAINED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case model4Package.MULTI_CONTAINED_ELEMENT__PARENT:
+ return getParent() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // MultiContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiNonContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiNonContainedElementImpl.java
new file mode 100644
index 0000000000..faed5a9ec5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiNonContainedElementImpl.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Multi Non Contained Element</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiNonContainedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiNonContainedElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiNonContainedElementImpl extends EObjectImpl implements MultiNonContainedElement
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected RefMultiNonContained parent;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiNonContainedElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getMultiNonContainedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.MULTI_NON_CONTAINED_ELEMENT__NAME, oldName,
+ name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContained getParent()
+ {
+ if (parent != null && parent.eIsProxy())
+ {
+ InternalEObject oldParent = (InternalEObject)parent;
+ parent = (RefMultiNonContained)eResolveProxy(oldParent);
+ if (parent != oldParent)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT,
+ oldParent, parent));
+ }
+ }
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContained basicGetParent()
+ {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(RefMultiNonContained newParent, NotificationChain msgs)
+ {
+ RefMultiNonContained oldParent = parent;
+ parent = newParent;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT, oldParent, newParent);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefMultiNonContained newParent)
+ {
+ if (newParent != parent)
+ {
+ NotificationChain msgs = null;
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS,
+ RefMultiNonContained.class, msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this, model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS,
+ RefMultiNonContained.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT,
+ newParent, newParent));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT:
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS,
+ RefMultiNonContained.class, msgs);
+ return basicSetParent((RefMultiNonContained)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT:
+ return basicSetParent(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__NAME:
+ return getName();
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT:
+ if (resolve)
+ return getParent();
+ return basicGetParent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT:
+ setParent((RefMultiNonContained)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT:
+ setParent((RefMultiNonContained)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT:
+ return parent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // MultiNonContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiNonContainedUnsettableElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiNonContainedUnsettableElementImpl.java
new file mode 100644
index 0000000000..cf34f74056
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/MultiNonContainedUnsettableElementImpl.java
@@ -0,0 +1,377 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Multi Non Contained Unsettable Element</b></em>
+ * '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiNonContainedUnsettableElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiNonContainedUnsettableElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiNonContainedUnsettableElementImpl extends EObjectImpl implements MultiNonContainedUnsettableElement
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected RefMultiNonContainedUnsettable parent;
+
+ /**
+ * This is true if the Parent reference has been set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean parentESet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiNonContainedUnsettableElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getMultiNonContainedUnsettableElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__NAME,
+ oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContainedUnsettable getParent()
+ {
+ if (parent != null && parent.eIsProxy())
+ {
+ InternalEObject oldParent = (InternalEObject)parent;
+ parent = (RefMultiNonContainedUnsettable)eResolveProxy(oldParent);
+ if (parent != oldParent)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT, oldParent, parent));
+ }
+ }
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContainedUnsettable basicGetParent()
+ {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(RefMultiNonContainedUnsettable newParent, NotificationChain msgs)
+ {
+ RefMultiNonContainedUnsettable oldParent = parent;
+ parent = newParent;
+ boolean oldParentESet = parentESet;
+ parentESet = true;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT, oldParent, newParent, !oldParentESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefMultiNonContainedUnsettable newParent)
+ {
+ if (newParent != parent)
+ {
+ NotificationChain msgs = null;
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this,
+ model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS, RefMultiNonContainedUnsettable.class, msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this,
+ model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS, RefMultiNonContainedUnsettable.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else
+ {
+ boolean oldParentESet = parentESet;
+ parentESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT, newParent, newParent, !oldParentESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicUnsetParent(NotificationChain msgs)
+ {
+ RefMultiNonContainedUnsettable oldParent = parent;
+ parent = null;
+ boolean oldParentESet = parentESet;
+ parentESet = false;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.UNSET,
+ model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT, oldParent, null, oldParentESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetParent()
+ {
+ if (parent != null)
+ {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject)parent).eInverseRemove(this, model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS,
+ RefMultiNonContainedUnsettable.class, msgs);
+ msgs = basicUnsetParent(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else
+ {
+ boolean oldParentESet = parentESet;
+ parentESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT, null, null, oldParentESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetParent()
+ {
+ return parentESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT:
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this,
+ model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS, RefMultiNonContainedUnsettable.class, msgs);
+ return basicSetParent((RefMultiNonContainedUnsettable)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT:
+ return basicUnsetParent(msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__NAME:
+ return getName();
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT:
+ if (resolve)
+ return getParent();
+ return basicGetParent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT:
+ setParent((RefMultiNonContainedUnsettable)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT:
+ unsetParent();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT:
+ return isSetParent();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // MultiNonContainedUnsettableElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiContainedImpl.java
new file mode 100644
index 0000000000..1b53b5bb04
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiContainedImpl.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Multi Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiContainedImpl extends EObjectImpl implements RefMultiContained
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<MultiContainedElement> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefMultiContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MultiContainedElement> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectContainmentWithInverseEList<MultiContainedElement>(MultiContainedElement.class, this,
+ model4Package.REF_MULTI_CONTAINED__ELEMENTS, model4Package.MULTI_CONTAINED_ELEMENT__PARENT);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED__ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends MultiContainedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefMultiContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiContainedNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiContainedNPLImpl.java
new file mode 100644
index 0000000000..44b334b7d4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiContainedNPLImpl.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Multi Contained NPL</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiContainedNPLImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiContainedNPLImpl extends EObjectImpl implements RefMultiContainedNPL
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainedElementNoOpposite> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiContainedNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefMultiContainedNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ContainedElementNoOpposite> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectContainmentEList<ContainedElementNoOpposite>(ContainedElementNoOpposite.class, this,
+ model4Package.REF_MULTI_CONTAINED_NPL__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED_NPL__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED_NPL__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED_NPL__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends ContainedElementNoOpposite>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED_NPL__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_CONTAINED_NPL__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefMultiContainedNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedImpl.java
new file mode 100644
index 0000000000..92459cd76b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedImpl.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Multi Non Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiNonContainedImpl extends EObjectImpl implements RefMultiNonContained
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<MultiNonContainedElement> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiNonContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefMultiNonContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MultiNonContainedElement> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectWithInverseResolvingEList<MultiNonContainedElement>(MultiNonContainedElement.class, this,
+ model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS, model4Package.MULTI_NON_CONTAINED_ELEMENT__PARENT);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends MultiNonContainedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefMultiNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedNPLImpl.java
new file mode 100644
index 0000000000..641c1d4834
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedNPLImpl.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Multi Non Contained NPL</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedNPLImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiNonContainedNPLImpl extends EObjectImpl implements RefMultiNonContainedNPL
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainedElementNoOpposite> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiNonContainedNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefMultiNonContainedNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ContainedElementNoOpposite> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectResolvingEList<ContainedElementNoOpposite>(ContainedElementNoOpposite.class, this,
+ model4Package.REF_MULTI_NON_CONTAINED_NPL__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_NPL__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_NPL__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends ContainedElementNoOpposite>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_NPL__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_NPL__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefMultiNonContainedNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedUnsettableImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedUnsettableImpl.java
new file mode 100644
index 0000000000..a7e4453f8f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefMultiNonContainedUnsettableImpl.java
@@ -0,0 +1,199 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Multi Non Contained Unsettable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedUnsettableImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiNonContainedUnsettableImpl extends EObjectImpl implements RefMultiNonContainedUnsettable
+{
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<MultiNonContainedUnsettableElement> elements;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiNonContainedUnsettableImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefMultiNonContainedUnsettable();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MultiNonContainedUnsettableElement> getElements()
+ {
+ if (elements == null)
+ {
+ elements = new EObjectWithInverseResolvingEList.Unsettable<MultiNonContainedUnsettableElement>(
+ MultiNonContainedUnsettableElement.class, this, model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS,
+ model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetElements()
+ {
+ if (elements != null)
+ ((InternalEList.Unsettable<?>)elements).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetElements()
+ {
+ return elements != null && ((InternalEList.Unsettable<?>)elements).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends MultiNonContainedUnsettableElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS:
+ unsetElements();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS:
+ return isSetElements();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefMultiNonContainedUnsettableImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleContainedImpl.java
new file mode 100644
index 0000000000..e395d1ae59
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleContainedImpl.java
@@ -0,0 +1,215 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.RefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.SingleContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Single Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleContainedImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefSingleContainedImpl extends EObjectImpl implements RefSingleContained
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected SingleContainedElement element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefSingleContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefSingleContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleContainedElement getElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(SingleContainedElement newElement, NotificationChain msgs)
+ {
+ SingleContainedElement oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.REF_SINGLE_CONTAINED__ELEMENT, oldElement, newElement);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(SingleContainedElement newElement)
+ {
+ if (newElement != element)
+ {
+ NotificationChain msgs = null;
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, model4Package.SINGLE_CONTAINED_ELEMENT__PARENT,
+ SingleContainedElement.class, msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this, model4Package.SINGLE_CONTAINED_ELEMENT__PARENT,
+ SingleContainedElement.class, msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.REF_SINGLE_CONTAINED__ELEMENT, newElement,
+ newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED__ELEMENT:
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - model4Package.REF_SINGLE_CONTAINED__ELEMENT, null, msgs);
+ return basicSetElement((SingleContainedElement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED__ELEMENT:
+ return basicSetElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED__ELEMENT:
+ setElement((SingleContainedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED__ELEMENT:
+ setElement((SingleContainedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefSingleContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleContainedNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleContainedNPLImpl.java
new file mode 100644
index 0000000000..dcac478704
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleContainedNPLImpl.java
@@ -0,0 +1,197 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Single Contained NPL</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleContainedNPLImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefSingleContainedNPLImpl extends EObjectImpl implements RefSingleContainedNPL
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected ContainedElementNoOpposite element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefSingleContainedNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefSingleContainedNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainedElementNoOpposite getElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(ContainedElementNoOpposite newElement, NotificationChain msgs)
+ {
+ ContainedElementNoOpposite oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT, oldElement, newElement);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(ContainedElementNoOpposite newElement)
+ {
+ if (newElement != element)
+ {
+ NotificationChain msgs = null;
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT, null, msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT, null, msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT,
+ newElement, newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT:
+ return basicSetElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT:
+ setElement((ContainedElementNoOpposite)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT:
+ setElement((ContainedElementNoOpposite)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED_NPL__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefSingleContainedNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleNonContainedImpl.java
new file mode 100644
index 0000000000..a39f9126e9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleNonContainedImpl.java
@@ -0,0 +1,237 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Single Non Contained</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleNonContainedImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefSingleNonContainedImpl extends EObjectImpl implements RefSingleNonContained
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected SingleNonContainedElement element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefSingleNonContainedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefSingleNonContained();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleNonContainedElement getElement()
+ {
+ if (element != null && element.eIsProxy())
+ {
+ InternalEObject oldElement = (InternalEObject)element;
+ element = (SingleNonContainedElement)eResolveProxy(oldElement);
+ if (element != oldElement)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT,
+ oldElement, element));
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleNonContainedElement basicGetElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(SingleNonContainedElement newElement, NotificationChain msgs)
+ {
+ SingleNonContainedElement oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT, oldElement, newElement);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(SingleNonContainedElement newElement)
+ {
+ if (newElement != element)
+ {
+ NotificationChain msgs = null;
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT,
+ SingleNonContainedElement.class, msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this, model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT,
+ SingleNonContainedElement.class, msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT,
+ newElement, newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT:
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT,
+ SingleNonContainedElement.class, msgs);
+ return basicSetElement((SingleNonContainedElement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT:
+ return basicSetElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT:
+ if (resolve)
+ return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT:
+ setElement((SingleNonContainedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT:
+ setElement((SingleNonContainedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefSingleNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleNonContainedNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleNonContainedNPLImpl.java
new file mode 100644
index 0000000000..ad7d139a87
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/RefSingleNonContainedNPLImpl.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Ref Single Non Contained NPL</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleNonContainedNPLImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefSingleNonContainedNPLImpl extends EObjectImpl implements RefSingleNonContainedNPL
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected ContainedElementNoOpposite element;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefSingleNonContainedNPLImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getRefSingleNonContainedNPL();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainedElementNoOpposite getElement()
+ {
+ if (element != null && element.eIsProxy())
+ {
+ InternalEObject oldElement = (InternalEObject)element;
+ element = (ContainedElementNoOpposite)eResolveProxy(oldElement);
+ if (element != oldElement)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ model4Package.REF_SINGLE_NON_CONTAINED_NPL__ELEMENT, oldElement, element));
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainedElementNoOpposite basicGetElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(ContainedElementNoOpposite newElement)
+ {
+ ContainedElementNoOpposite oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.REF_SINGLE_NON_CONTAINED_NPL__ELEMENT,
+ oldElement, element));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED_NPL__ELEMENT:
+ if (resolve)
+ return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED_NPL__ELEMENT:
+ setElement((ContainedElementNoOpposite)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED_NPL__ELEMENT:
+ setElement((ContainedElementNoOpposite)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.REF_SINGLE_NON_CONTAINED_NPL__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RefSingleNonContainedNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/SingleContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/SingleContainedElementImpl.java
new file mode 100644
index 0000000000..3dfaddb563
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/SingleContainedElementImpl.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.RefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.SingleContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Single Contained Element</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.SingleContainedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.SingleContainedElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SingleContainedElementImpl extends EObjectImpl implements SingleContainedElement
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected SingleContainedElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getSingleContainedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.SINGLE_CONTAINED_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleContained getParent()
+ {
+ if (eContainerFeatureID() != model4Package.SINGLE_CONTAINED_ELEMENT__PARENT)
+ return null;
+ return (RefSingleContained)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(RefSingleContained newParent, NotificationChain msgs)
+ {
+ msgs = eBasicSetContainer((InternalEObject)newParent, model4Package.SINGLE_CONTAINED_ELEMENT__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefSingleContained newParent)
+ {
+ if (newParent != eInternalContainer()
+ || (eContainerFeatureID() != model4Package.SINGLE_CONTAINED_ELEMENT__PARENT && newParent != null))
+ {
+ if (EcoreUtil.isAncestor(this, newParent))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this, model4Package.REF_SINGLE_CONTAINED__ELEMENT,
+ RefSingleContained.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.SINGLE_CONTAINED_ELEMENT__PARENT, newParent,
+ newParent));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_CONTAINED_ELEMENT__PARENT:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetParent((RefSingleContained)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_CONTAINED_ELEMENT__PARENT:
+ return basicSetParent(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs)
+ {
+ switch (eContainerFeatureID())
+ {
+ case model4Package.SINGLE_CONTAINED_ELEMENT__PARENT:
+ return eInternalContainer().eInverseRemove(this, model4Package.REF_SINGLE_CONTAINED__ELEMENT,
+ RefSingleContained.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_CONTAINED_ELEMENT__NAME:
+ return getName();
+ case model4Package.SINGLE_CONTAINED_ELEMENT__PARENT:
+ return getParent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_CONTAINED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case model4Package.SINGLE_CONTAINED_ELEMENT__PARENT:
+ setParent((RefSingleContained)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_CONTAINED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case model4Package.SINGLE_CONTAINED_ELEMENT__PARENT:
+ setParent((RefSingleContained)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_CONTAINED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case model4Package.SINGLE_CONTAINED_ELEMENT__PARENT:
+ return getParent() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SingleContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/SingleNonContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/SingleNonContainedElementImpl.java
new file mode 100644
index 0000000000..09c1eff300
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/SingleNonContainedElementImpl.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Single Non Contained Element</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.SingleNonContainedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.SingleNonContainedElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SingleNonContainedElementImpl extends EObjectImpl implements SingleNonContainedElement
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected RefSingleNonContained parent;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected SingleNonContainedElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getSingleNonContainedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.SINGLE_NON_CONTAINED_ELEMENT__NAME, oldName,
+ name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleNonContained getParent()
+ {
+ if (parent != null && parent.eIsProxy())
+ {
+ InternalEObject oldParent = (InternalEObject)parent;
+ parent = (RefSingleNonContained)eResolveProxy(oldParent);
+ if (parent != oldParent)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT,
+ oldParent, parent));
+ }
+ }
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleNonContained basicGetParent()
+ {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(RefSingleNonContained newParent, NotificationChain msgs)
+ {
+ RefSingleNonContained oldParent = parent;
+ parent = newParent;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT, oldParent, newParent);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefSingleNonContained newParent)
+ {
+ if (newParent != parent)
+ {
+ NotificationChain msgs = null;
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT,
+ RefSingleNonContained.class, msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject)newParent).eInverseAdd(this, model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT,
+ RefSingleNonContained.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT,
+ newParent, newParent));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT:
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, model4Package.REF_SINGLE_NON_CONTAINED__ELEMENT,
+ RefSingleNonContained.class, msgs);
+ return basicSetParent((RefSingleNonContained)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT:
+ return basicSetParent(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__NAME:
+ return getName();
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT:
+ if (resolve)
+ return getParent();
+ return basicGetParent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT:
+ setParent((RefSingleNonContained)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT:
+ setParent((RefSingleNonContained)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT__PARENT:
+ return parent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SingleNonContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/StringToEObjectImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/StringToEObjectImpl.java
new file mode 100644
index 0000000000..729d823b59
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/StringToEObjectImpl.java
@@ -0,0 +1,296 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEMap;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>String To EObject</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model4.impl.StringToEObjectImpl#getTypedKey <em>Key</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model4.impl.StringToEObjectImpl#getTypedValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StringToEObjectImpl extends EObjectImpl implements BasicEMap.Entry<String, EObject>
+{
+ /**
+ * The default value of the '{@link #getTypedKey() <em>Key</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getTypedKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTypedKey() <em>Key</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getTypedKey()
+ * @generated
+ * @ordered
+ */
+ protected String key = KEY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTypedValue() <em>Value</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getTypedValue()
+ * @generated
+ * @ordered
+ */
+ protected EObject value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringToEObjectImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return model4Package.eINSTANCE.getStringToEObject();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTypedKey()
+ {
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypedKey(String newKey)
+ {
+ String oldKey = key;
+ key = newKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.STRING_TO_EOBJECT__KEY, oldKey, key));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getTypedValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypedValue(EObject newValue)
+ {
+ EObject oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, model4Package.STRING_TO_EOBJECT__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case model4Package.STRING_TO_EOBJECT__KEY:
+ return getTypedKey();
+ case model4Package.STRING_TO_EOBJECT__VALUE:
+ return getTypedValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case model4Package.STRING_TO_EOBJECT__KEY:
+ setTypedKey((String)newValue);
+ return;
+ case model4Package.STRING_TO_EOBJECT__VALUE:
+ setTypedValue((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.STRING_TO_EOBJECT__KEY:
+ setTypedKey(KEY_EDEFAULT);
+ return;
+ case model4Package.STRING_TO_EOBJECT__VALUE:
+ setTypedValue((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case model4Package.STRING_TO_EOBJECT__KEY:
+ return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
+ case model4Package.STRING_TO_EOBJECT__VALUE:
+ return value != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (key: ");
+ result.append(key);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected int hash = -1;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHash()
+ {
+ if (hash == -1)
+ {
+ Object theKey = getKey();
+ hash = (theKey == null ? 0 : theKey.hashCode());
+ }
+ return hash;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHash(int hash)
+ {
+ this.hash = hash;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKey()
+ {
+ return getTypedKey();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKey(String key)
+ {
+ setTypedKey(key);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getValue()
+ {
+ return getTypedValue();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject setValue(EObject value)
+ {
+ EObject oldValue = getValue();
+ setTypedValue(value);
+ return oldValue;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EMap<String, EObject> getEMap()
+ {
+ EObject container = eContainer();
+ return container == null ? null : (EMap<String, EObject>)container.eGet(eContainmentFeature());
+ }
+
+} // StringToEObjectImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/model4FactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/model4FactoryImpl.java
new file mode 100644
index 0000000000..8f969c3784
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/model4FactoryImpl.java
@@ -0,0 +1,553 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.GenRefMapNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNUNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.MultiContainedElement;
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.SingleContainedElement;
+import org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Factory;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import java.util.Map;
+
+//import org.eclipse.emf.cdo.tests.model4.*;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class model4FactoryImpl extends EFactoryImpl implements model4Factory
+{
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public static model4Factory init()
+ {
+ try
+ {
+ model4Factory themodel4Factory = (model4Factory)EPackage.Registry.INSTANCE
+ .getEFactory("http://www.eclipse.org/emf/CDO/tests/legacy/model4/1.0.0");
+ if (themodel4Factory != null)
+ {
+ return themodel4Factory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new model4FactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public model4FactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case model4Package.REF_SINGLE_CONTAINED:
+ return createRefSingleContained();
+ case model4Package.SINGLE_CONTAINED_ELEMENT:
+ return createSingleContainedElement();
+ case model4Package.REF_SINGLE_NON_CONTAINED:
+ return createRefSingleNonContained();
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT:
+ return createSingleNonContainedElement();
+ case model4Package.REF_MULTI_CONTAINED:
+ return createRefMultiContained();
+ case model4Package.MULTI_CONTAINED_ELEMENT:
+ return createMultiContainedElement();
+ case model4Package.REF_MULTI_NON_CONTAINED:
+ return createRefMultiNonContained();
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT:
+ return createMultiNonContainedElement();
+ case model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE:
+ return createRefMultiNonContainedUnsettable();
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT:
+ return createMultiNonContainedUnsettableElement();
+ case model4Package.REF_SINGLE_CONTAINED_NPL:
+ return createRefSingleContainedNPL();
+ case model4Package.REF_SINGLE_NON_CONTAINED_NPL:
+ return createRefSingleNonContainedNPL();
+ case model4Package.REF_MULTI_CONTAINED_NPL:
+ return createRefMultiContainedNPL();
+ case model4Package.REF_MULTI_NON_CONTAINED_NPL:
+ return createRefMultiNonContainedNPL();
+ case model4Package.CONTAINED_ELEMENT_NO_OPPOSITE:
+ return createContainedElementNoOpposite();
+ case model4Package.GEN_REF_SINGLE_CONTAINED:
+ return createGenRefSingleContained();
+ case model4Package.GEN_REF_SINGLE_NON_CONTAINED:
+ return createGenRefSingleNonContained();
+ case model4Package.GEN_REF_MULTI_CONTAINED:
+ return createGenRefMultiContained();
+ case model4Package.GEN_REF_MULTI_NON_CONTAINED:
+ return createGenRefMultiNonContained();
+ case model4Package.IMPL_SINGLE_REF_CONTAINER:
+ return createImplSingleRefContainer();
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT:
+ return createImplSingleRefContainedElement();
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER:
+ return createImplSingleRefNonContainer();
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT:
+ return createImplSingleRefNonContainedElement();
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER:
+ return createImplMultiRefNonContainer();
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT:
+ return createImplMultiRefNonContainedElement();
+ case model4Package.IMPL_MULTI_REF_CONTAINER:
+ return createImplMultiRefContainer();
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT:
+ return createImplMultiRefContainedElement();
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL:
+ return createImplSingleRefContainerNPL();
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL:
+ return createImplSingleRefNonContainerNPL();
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL:
+ return createImplMultiRefContainerNPL();
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL:
+ return createImplMultiRefNonContainerNPL();
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL:
+ return createImplContainedElementNPL();
+ case model4Package.GEN_REF_MULTI_NU_NON_CONTAINED:
+ return createGenRefMultiNUNonContained();
+ case model4Package.GEN_REF_MAP_NON_CONTAINED:
+ return createGenRefMapNonContained();
+ case model4Package.STRING_TO_EOBJECT:
+ return (EObject)createStringToEObject();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleContained createRefSingleContained()
+ {
+ RefSingleContainedImpl refSingleContained = new RefSingleContainedImpl();
+ return refSingleContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleContainedElement createSingleContainedElement()
+ {
+ SingleContainedElementImpl singleContainedElement = new SingleContainedElementImpl();
+ return singleContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleNonContained createRefSingleNonContained()
+ {
+ RefSingleNonContainedImpl refSingleNonContained = new RefSingleNonContainedImpl();
+ return refSingleNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleNonContainedElement createSingleNonContainedElement()
+ {
+ SingleNonContainedElementImpl singleNonContainedElement = new SingleNonContainedElementImpl();
+ return singleNonContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiContained createRefMultiContained()
+ {
+ RefMultiContainedImpl refMultiContained = new RefMultiContainedImpl();
+ return refMultiContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiContainedElement createMultiContainedElement()
+ {
+ MultiContainedElementImpl multiContainedElement = new MultiContainedElementImpl();
+ return multiContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContained createRefMultiNonContained()
+ {
+ RefMultiNonContainedImpl refMultiNonContained = new RefMultiNonContainedImpl();
+ return refMultiNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiNonContainedElement createMultiNonContainedElement()
+ {
+ MultiNonContainedElementImpl multiNonContainedElement = new MultiNonContainedElementImpl();
+ return multiNonContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContainedUnsettable createRefMultiNonContainedUnsettable()
+ {
+ RefMultiNonContainedUnsettableImpl refMultiNonContainedUnsettable = new RefMultiNonContainedUnsettableImpl();
+ return refMultiNonContainedUnsettable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiNonContainedUnsettableElement createMultiNonContainedUnsettableElement()
+ {
+ MultiNonContainedUnsettableElementImpl multiNonContainedUnsettableElement = new MultiNonContainedUnsettableElementImpl();
+ return multiNonContainedUnsettableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleContainedNPL createRefSingleContainedNPL()
+ {
+ RefSingleContainedNPLImpl refSingleContainedNPL = new RefSingleContainedNPLImpl();
+ return refSingleContainedNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleNonContainedNPL createRefSingleNonContainedNPL()
+ {
+ RefSingleNonContainedNPLImpl refSingleNonContainedNPL = new RefSingleNonContainedNPLImpl();
+ return refSingleNonContainedNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiContainedNPL createRefMultiContainedNPL()
+ {
+ RefMultiContainedNPLImpl refMultiContainedNPL = new RefMultiContainedNPLImpl();
+ return refMultiContainedNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContainedNPL createRefMultiNonContainedNPL()
+ {
+ RefMultiNonContainedNPLImpl refMultiNonContainedNPL = new RefMultiNonContainedNPLImpl();
+ return refMultiNonContainedNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainedElementNoOpposite createContainedElementNoOpposite()
+ {
+ ContainedElementNoOppositeImpl containedElementNoOpposite = new ContainedElementNoOppositeImpl();
+ return containedElementNoOpposite;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefSingleContained createGenRefSingleContained()
+ {
+ GenRefSingleContainedImpl genRefSingleContained = new GenRefSingleContainedImpl();
+ return genRefSingleContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefSingleNonContained createGenRefSingleNonContained()
+ {
+ GenRefSingleNonContainedImpl genRefSingleNonContained = new GenRefSingleNonContainedImpl();
+ return genRefSingleNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefMultiContained createGenRefMultiContained()
+ {
+ GenRefMultiContainedImpl genRefMultiContained = new GenRefMultiContainedImpl();
+ return genRefMultiContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefMultiNonContained createGenRefMultiNonContained()
+ {
+ GenRefMultiNonContainedImpl genRefMultiNonContained = new GenRefMultiNonContainedImpl();
+ return genRefMultiNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefContainer createImplSingleRefContainer()
+ {
+ ImplSingleRefContainerImpl implSingleRefContainer = new ImplSingleRefContainerImpl();
+ return implSingleRefContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefContainedElement createImplSingleRefContainedElement()
+ {
+ ImplSingleRefContainedElementImpl implSingleRefContainedElement = new ImplSingleRefContainedElementImpl();
+ return implSingleRefContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefNonContainer createImplSingleRefNonContainer()
+ {
+ ImplSingleRefNonContainerImpl implSingleRefNonContainer = new ImplSingleRefNonContainerImpl();
+ return implSingleRefNonContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefNonContainedElement createImplSingleRefNonContainedElement()
+ {
+ ImplSingleRefNonContainedElementImpl implSingleRefNonContainedElement = new ImplSingleRefNonContainedElementImpl();
+ return implSingleRefNonContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefNonContainer createImplMultiRefNonContainer()
+ {
+ ImplMultiRefNonContainerImpl implMultiRefNonContainer = new ImplMultiRefNonContainerImpl();
+ return implMultiRefNonContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefNonContainedElement createImplMultiRefNonContainedElement()
+ {
+ ImplMultiRefNonContainedElementImpl implMultiRefNonContainedElement = new ImplMultiRefNonContainedElementImpl();
+ return implMultiRefNonContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefContainer createImplMultiRefContainer()
+ {
+ ImplMultiRefContainerImpl implMultiRefContainer = new ImplMultiRefContainerImpl();
+ return implMultiRefContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefContainedElement createImplMultiRefContainedElement()
+ {
+ ImplMultiRefContainedElementImpl implMultiRefContainedElement = new ImplMultiRefContainedElementImpl();
+ return implMultiRefContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefContainerNPL createImplSingleRefContainerNPL()
+ {
+ ImplSingleRefContainerNPLImpl implSingleRefContainerNPL = new ImplSingleRefContainerNPLImpl();
+ return implSingleRefContainerNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefNonContainerNPL createImplSingleRefNonContainerNPL()
+ {
+ ImplSingleRefNonContainerNPLImpl implSingleRefNonContainerNPL = new ImplSingleRefNonContainerNPLImpl();
+ return implSingleRefNonContainerNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefContainerNPL createImplMultiRefContainerNPL()
+ {
+ ImplMultiRefContainerNPLImpl implMultiRefContainerNPL = new ImplMultiRefContainerNPLImpl();
+ return implMultiRefContainerNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefNonContainerNPL createImplMultiRefNonContainerNPL()
+ {
+ ImplMultiRefNonContainerNPLImpl implMultiRefNonContainerNPL = new ImplMultiRefNonContainerNPLImpl();
+ return implMultiRefNonContainerNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplContainedElementNPL createImplContainedElementNPL()
+ {
+ ImplContainedElementNPLImpl implContainedElementNPL = new ImplContainedElementNPLImpl();
+ return implContainedElementNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefMultiNUNonContained createGenRefMultiNUNonContained()
+ {
+ GenRefMultiNUNonContainedImpl genRefMultiNUNonContained = new GenRefMultiNUNonContainedImpl();
+ return genRefMultiNUNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefMapNonContained createGenRefMapNonContained()
+ {
+ GenRefMapNonContainedImpl genRefMapNonContained = new GenRefMapNonContainedImpl();
+ return genRefMapNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Map.Entry<String, EObject> createStringToEObject()
+ {
+ StringToEObjectImpl stringToEObject = new StringToEObjectImpl();
+ return stringToEObject;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public model4Package getmodel4Package()
+ {
+ return (model4Package)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static model4Package getPackage()
+ {
+ return model4Package.eINSTANCE;
+ }
+
+} // model4FactoryImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/model4PackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/model4PackageImpl.java
new file mode 100644
index 0000000000..c15aea35d6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/impl/model4PackageImpl.java
@@ -0,0 +1,1338 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.GenRefMapNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNUNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.MultiContainedElement;
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.SingleContainedElement;
+import org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Factory;
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class model4PackageImpl extends EPackageImpl implements model4Package
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refSingleContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass singleContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refSingleNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass singleNonContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiNonContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiNonContainedUnsettableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiNonContainedUnsettableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refSingleContainedNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refSingleNonContainedNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiContainedNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiNonContainedNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass containedElementNoOppositeEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefSingleContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefSingleNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefMultiContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefMultiNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefNonContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefNonContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefNonContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefNonContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefContainerNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefNonContainerNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefContainerNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefNonContainerNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implContainedElementNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefMultiNUNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefMapNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stringToEObjectEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
+ * EPackage.Registry} by the package package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
+ * performs initialization of the package, or returns the registered package, if one already exists. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.model4Package#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private model4PackageImpl()
+ {
+ super(eNS_URI, model4Factory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link model4Package#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static model4Package init()
+ {
+ if (isInited)
+ return (model4Package)EPackage.Registry.INSTANCE.getEPackage(model4Package.eNS_URI);
+
+ // Obtain or create and register package
+ model4PackageImpl themodel4Package = (model4PackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof model4PackageImpl ? EPackage.Registry.INSTANCE
+ .get(eNS_URI) : new model4PackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ model4interfacesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ themodel4Package.createPackageContents();
+
+ // Initialize created meta-data
+ themodel4Package.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ themodel4Package.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(model4Package.eNS_URI, themodel4Package);
+ return themodel4Package;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefSingleContained()
+ {
+ return refSingleContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefSingleContained_Element()
+ {
+ return (EReference)refSingleContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSingleContainedElement()
+ {
+ return singleContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSingleContainedElement_Name()
+ {
+ return (EAttribute)singleContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSingleContainedElement_Parent()
+ {
+ return (EReference)singleContainedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefSingleNonContained()
+ {
+ return refSingleNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefSingleNonContained_Element()
+ {
+ return (EReference)refSingleNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSingleNonContainedElement()
+ {
+ return singleNonContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSingleNonContainedElement_Name()
+ {
+ return (EAttribute)singleNonContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSingleNonContainedElement_Parent()
+ {
+ return (EReference)singleNonContainedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiContained()
+ {
+ return refMultiContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiContained_Elements()
+ {
+ return (EReference)refMultiContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiContainedElement()
+ {
+ return multiContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiContainedElement_Name()
+ {
+ return (EAttribute)multiContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiContainedElement_Parent()
+ {
+ return (EReference)multiContainedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiNonContained()
+ {
+ return refMultiNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiNonContained_Elements()
+ {
+ return (EReference)refMultiNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiNonContainedElement()
+ {
+ return multiNonContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiNonContainedElement_Name()
+ {
+ return (EAttribute)multiNonContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiNonContainedElement_Parent()
+ {
+ return (EReference)multiNonContainedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiNonContainedUnsettable()
+ {
+ return refMultiNonContainedUnsettableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiNonContainedUnsettable_Elements()
+ {
+ return (EReference)refMultiNonContainedUnsettableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiNonContainedUnsettableElement()
+ {
+ return multiNonContainedUnsettableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiNonContainedUnsettableElement_Name()
+ {
+ return (EAttribute)multiNonContainedUnsettableElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiNonContainedUnsettableElement_Parent()
+ {
+ return (EReference)multiNonContainedUnsettableElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefSingleContainedNPL()
+ {
+ return refSingleContainedNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefSingleContainedNPL_Element()
+ {
+ return (EReference)refSingleContainedNPLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefSingleNonContainedNPL()
+ {
+ return refSingleNonContainedNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefSingleNonContainedNPL_Element()
+ {
+ return (EReference)refSingleNonContainedNPLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiContainedNPL()
+ {
+ return refMultiContainedNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiContainedNPL_Elements()
+ {
+ return (EReference)refMultiContainedNPLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiNonContainedNPL()
+ {
+ return refMultiNonContainedNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiNonContainedNPL_Elements()
+ {
+ return (EReference)refMultiNonContainedNPLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContainedElementNoOpposite()
+ {
+ return containedElementNoOppositeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContainedElementNoOpposite_Name()
+ {
+ return (EAttribute)containedElementNoOppositeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefSingleContained()
+ {
+ return genRefSingleContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefSingleContained_Element()
+ {
+ return (EReference)genRefSingleContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefSingleNonContained()
+ {
+ return genRefSingleNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefSingleNonContained_Element()
+ {
+ return (EReference)genRefSingleNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefMultiContained()
+ {
+ return genRefMultiContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefMultiContained_Elements()
+ {
+ return (EReference)genRefMultiContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefMultiNonContained()
+ {
+ return genRefMultiNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefMultiNonContained_Elements()
+ {
+ return (EReference)genRefMultiNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefContainer()
+ {
+ return implSingleRefContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefContainedElement()
+ {
+ return implSingleRefContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImplSingleRefContainedElement_Name()
+ {
+ return (EAttribute)implSingleRefContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefNonContainer()
+ {
+ return implSingleRefNonContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefNonContainedElement()
+ {
+ return implSingleRefNonContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImplSingleRefNonContainedElement_Name()
+ {
+ return (EAttribute)implSingleRefNonContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefNonContainer()
+ {
+ return implMultiRefNonContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefNonContainedElement()
+ {
+ return implMultiRefNonContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImplMultiRefNonContainedElement_Name()
+ {
+ return (EAttribute)implMultiRefNonContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefContainer()
+ {
+ return implMultiRefContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefContainedElement()
+ {
+ return implMultiRefContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImplMultiRefContainedElement_Name()
+ {
+ return (EAttribute)implMultiRefContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefContainerNPL()
+ {
+ return implSingleRefContainerNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefNonContainerNPL()
+ {
+ return implSingleRefNonContainerNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefContainerNPL()
+ {
+ return implMultiRefContainerNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefNonContainerNPL()
+ {
+ return implMultiRefNonContainerNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplContainedElementNPL()
+ {
+ return implContainedElementNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefMultiNUNonContained()
+ {
+ return genRefMultiNUNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefMultiNUNonContained_Elements()
+ {
+ return (EReference)genRefMultiNUNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefMapNonContained()
+ {
+ return genRefMapNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefMapNonContained_Elements()
+ {
+ return (EReference)genRefMapNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStringToEObject()
+ {
+ return stringToEObjectEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStringToEObject_Key()
+ {
+ return (EAttribute)stringToEObjectEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStringToEObject_Value()
+ {
+ return (EReference)stringToEObjectEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public model4Factory getmodel4Factory()
+ {
+ return (model4Factory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated)
+ return;
+ isCreated = true;
+
+ // Create classes and their features
+ refSingleContainedEClass = createEClass(REF_SINGLE_CONTAINED);
+ createEReference(refSingleContainedEClass, REF_SINGLE_CONTAINED__ELEMENT);
+
+ singleContainedElementEClass = createEClass(SINGLE_CONTAINED_ELEMENT);
+ createEAttribute(singleContainedElementEClass, SINGLE_CONTAINED_ELEMENT__NAME);
+ createEReference(singleContainedElementEClass, SINGLE_CONTAINED_ELEMENT__PARENT);
+
+ refSingleNonContainedEClass = createEClass(REF_SINGLE_NON_CONTAINED);
+ createEReference(refSingleNonContainedEClass, REF_SINGLE_NON_CONTAINED__ELEMENT);
+
+ singleNonContainedElementEClass = createEClass(SINGLE_NON_CONTAINED_ELEMENT);
+ createEAttribute(singleNonContainedElementEClass, SINGLE_NON_CONTAINED_ELEMENT__NAME);
+ createEReference(singleNonContainedElementEClass, SINGLE_NON_CONTAINED_ELEMENT__PARENT);
+
+ refMultiContainedEClass = createEClass(REF_MULTI_CONTAINED);
+ createEReference(refMultiContainedEClass, REF_MULTI_CONTAINED__ELEMENTS);
+
+ multiContainedElementEClass = createEClass(MULTI_CONTAINED_ELEMENT);
+ createEAttribute(multiContainedElementEClass, MULTI_CONTAINED_ELEMENT__NAME);
+ createEReference(multiContainedElementEClass, MULTI_CONTAINED_ELEMENT__PARENT);
+
+ refMultiNonContainedEClass = createEClass(REF_MULTI_NON_CONTAINED);
+ createEReference(refMultiNonContainedEClass, REF_MULTI_NON_CONTAINED__ELEMENTS);
+
+ multiNonContainedElementEClass = createEClass(MULTI_NON_CONTAINED_ELEMENT);
+ createEAttribute(multiNonContainedElementEClass, MULTI_NON_CONTAINED_ELEMENT__NAME);
+ createEReference(multiNonContainedElementEClass, MULTI_NON_CONTAINED_ELEMENT__PARENT);
+
+ refMultiNonContainedUnsettableEClass = createEClass(REF_MULTI_NON_CONTAINED_UNSETTABLE);
+ createEReference(refMultiNonContainedUnsettableEClass, REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS);
+
+ multiNonContainedUnsettableElementEClass = createEClass(MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT);
+ createEAttribute(multiNonContainedUnsettableElementEClass, MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__NAME);
+ createEReference(multiNonContainedUnsettableElementEClass, MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT);
+
+ refSingleContainedNPLEClass = createEClass(REF_SINGLE_CONTAINED_NPL);
+ createEReference(refSingleContainedNPLEClass, REF_SINGLE_CONTAINED_NPL__ELEMENT);
+
+ refSingleNonContainedNPLEClass = createEClass(REF_SINGLE_NON_CONTAINED_NPL);
+ createEReference(refSingleNonContainedNPLEClass, REF_SINGLE_NON_CONTAINED_NPL__ELEMENT);
+
+ refMultiContainedNPLEClass = createEClass(REF_MULTI_CONTAINED_NPL);
+ createEReference(refMultiContainedNPLEClass, REF_MULTI_CONTAINED_NPL__ELEMENTS);
+
+ refMultiNonContainedNPLEClass = createEClass(REF_MULTI_NON_CONTAINED_NPL);
+ createEReference(refMultiNonContainedNPLEClass, REF_MULTI_NON_CONTAINED_NPL__ELEMENTS);
+
+ containedElementNoOppositeEClass = createEClass(CONTAINED_ELEMENT_NO_OPPOSITE);
+ createEAttribute(containedElementNoOppositeEClass, CONTAINED_ELEMENT_NO_OPPOSITE__NAME);
+
+ genRefSingleContainedEClass = createEClass(GEN_REF_SINGLE_CONTAINED);
+ createEReference(genRefSingleContainedEClass, GEN_REF_SINGLE_CONTAINED__ELEMENT);
+
+ genRefSingleNonContainedEClass = createEClass(GEN_REF_SINGLE_NON_CONTAINED);
+ createEReference(genRefSingleNonContainedEClass, GEN_REF_SINGLE_NON_CONTAINED__ELEMENT);
+
+ genRefMultiContainedEClass = createEClass(GEN_REF_MULTI_CONTAINED);
+ createEReference(genRefMultiContainedEClass, GEN_REF_MULTI_CONTAINED__ELEMENTS);
+
+ genRefMultiNonContainedEClass = createEClass(GEN_REF_MULTI_NON_CONTAINED);
+ createEReference(genRefMultiNonContainedEClass, GEN_REF_MULTI_NON_CONTAINED__ELEMENTS);
+
+ implSingleRefContainerEClass = createEClass(IMPL_SINGLE_REF_CONTAINER);
+
+ implSingleRefContainedElementEClass = createEClass(IMPL_SINGLE_REF_CONTAINED_ELEMENT);
+ createEAttribute(implSingleRefContainedElementEClass, IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME);
+
+ implSingleRefNonContainerEClass = createEClass(IMPL_SINGLE_REF_NON_CONTAINER);
+
+ implSingleRefNonContainedElementEClass = createEClass(IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT);
+ createEAttribute(implSingleRefNonContainedElementEClass, IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME);
+
+ implMultiRefNonContainerEClass = createEClass(IMPL_MULTI_REF_NON_CONTAINER);
+
+ implMultiRefNonContainedElementEClass = createEClass(IMPL_MULTI_REF_NON_CONTAINED_ELEMENT);
+ createEAttribute(implMultiRefNonContainedElementEClass, IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME);
+
+ implMultiRefContainerEClass = createEClass(IMPL_MULTI_REF_CONTAINER);
+
+ implMultiRefContainedElementEClass = createEClass(IMPL_MULTI_REF_CONTAINED_ELEMENT);
+ createEAttribute(implMultiRefContainedElementEClass, IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME);
+
+ implSingleRefContainerNPLEClass = createEClass(IMPL_SINGLE_REF_CONTAINER_NPL);
+
+ implSingleRefNonContainerNPLEClass = createEClass(IMPL_SINGLE_REF_NON_CONTAINER_NPL);
+
+ implMultiRefContainerNPLEClass = createEClass(IMPL_MULTI_REF_CONTAINER_NPL);
+
+ implMultiRefNonContainerNPLEClass = createEClass(IMPL_MULTI_REF_NON_CONTAINER_NPL);
+
+ implContainedElementNPLEClass = createEClass(IMPL_CONTAINED_ELEMENT_NPL);
+
+ genRefMultiNUNonContainedEClass = createEClass(GEN_REF_MULTI_NU_NON_CONTAINED);
+ createEReference(genRefMultiNUNonContainedEClass, GEN_REF_MULTI_NU_NON_CONTAINED__ELEMENTS);
+
+ genRefMapNonContainedEClass = createEClass(GEN_REF_MAP_NON_CONTAINED);
+ createEReference(genRefMapNonContainedEClass, GEN_REF_MAP_NON_CONTAINED__ELEMENTS);
+
+ stringToEObjectEClass = createEClass(STRING_TO_EOBJECT);
+ createEAttribute(stringToEObjectEClass, STRING_TO_EOBJECT__KEY);
+ createEReference(stringToEObjectEClass, STRING_TO_EOBJECT__VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized)
+ return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ model4interfacesPackage themodel4interfacesPackage = (model4interfacesPackage)EPackage.Registry.INSTANCE
+ .getEPackage(model4interfacesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ implSingleRefContainerEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefContainer());
+ implSingleRefContainedElementEClass.getESuperTypes()
+ .add(themodel4interfacesPackage.getISingleRefContainedElement());
+ implSingleRefNonContainerEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefNonContainer());
+ implSingleRefNonContainedElementEClass.getESuperTypes().add(
+ themodel4interfacesPackage.getISingleRefNonContainedElement());
+ implMultiRefNonContainerEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefNonContainer());
+ implMultiRefNonContainedElementEClass.getESuperTypes().add(
+ themodel4interfacesPackage.getIMultiRefNonContainedElement());
+ implMultiRefContainerEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefContainer());
+ implMultiRefContainedElementEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefContainedElement());
+ implSingleRefContainerNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefContainerNPL());
+ implSingleRefNonContainerNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefNonContainerNPL());
+ implMultiRefContainerNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefContainerNPL());
+ implMultiRefNonContainerNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefNonContainerNPL());
+ implContainedElementNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getIContainedElementNoParentLink());
+ implContainedElementNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getINamedElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(refSingleContainedEClass, RefSingleContained.class, "RefSingleContained", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefSingleContained_Element(), this.getSingleContainedElement(),
+ this.getSingleContainedElement_Parent(), "element", null, 0, 1, RefSingleContained.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(singleContainedElementEClass, SingleContainedElement.class, "SingleContainedElement", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSingleContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ SingleContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getSingleContainedElement_Parent(), this.getRefSingleContained(),
+ this.getRefSingleContained_Element(), "parent", null, 0, 1, SingleContainedElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(refSingleNonContainedEClass, RefSingleNonContained.class, "RefSingleNonContained", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefSingleNonContained_Element(), this.getSingleNonContainedElement(),
+ this.getSingleNonContainedElement_Parent(), "element", null, 0, 1, RefSingleNonContained.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(singleNonContainedElementEClass, SingleNonContainedElement.class, "SingleNonContainedElement",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSingleNonContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ SingleNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getSingleNonContainedElement_Parent(), this.getRefSingleNonContained(),
+ this.getRefSingleNonContained_Element(), "parent", null, 0, 1, SingleNonContainedElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(refMultiContainedEClass, RefMultiContained.class, "RefMultiContained", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiContained_Elements(), this.getMultiContainedElement(),
+ this.getMultiContainedElement_Parent(), "elements", null, 0, -1, RefMultiContained.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(multiContainedElementEClass, MultiContainedElement.class, "MultiContainedElement", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMultiContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ MultiContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getMultiContainedElement_Parent(), this.getRefMultiContained(),
+ this.getRefMultiContained_Elements(), "parent", null, 0, 1, MultiContainedElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(refMultiNonContainedEClass, RefMultiNonContained.class, "RefMultiNonContained", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiNonContained_Elements(), this.getMultiNonContainedElement(),
+ this.getMultiNonContainedElement_Parent(), "elements", null, 0, -1, RefMultiNonContained.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(multiNonContainedElementEClass, MultiNonContainedElement.class, "MultiNonContainedElement",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMultiNonContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ MultiNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getMultiNonContainedElement_Parent(), this.getRefMultiNonContained(),
+ this.getRefMultiNonContained_Elements(), "parent", null, 0, 1, MultiNonContainedElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(refMultiNonContainedUnsettableEClass, RefMultiNonContainedUnsettable.class,
+ "RefMultiNonContainedUnsettable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiNonContainedUnsettable_Elements(), this.getMultiNonContainedUnsettableElement(),
+ this.getMultiNonContainedUnsettableElement_Parent(), "elements", null, 0, -1,
+ RefMultiNonContainedUnsettable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(multiNonContainedUnsettableElementEClass, MultiNonContainedUnsettableElement.class,
+ "MultiNonContainedUnsettableElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMultiNonContainedUnsettableElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ MultiNonContainedUnsettableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMultiNonContainedUnsettableElement_Parent(), this.getRefMultiNonContainedUnsettable(),
+ this.getRefMultiNonContainedUnsettable_Elements(), "parent", null, 0, 1,
+ MultiNonContainedUnsettableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refSingleContainedNPLEClass, RefSingleContainedNPL.class, "RefSingleContainedNPL", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefSingleContainedNPL_Element(), this.getContainedElementNoOpposite(), null, "element", null, 0,
+ 1, RefSingleContainedNPL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refSingleNonContainedNPLEClass, RefSingleNonContainedNPL.class, "RefSingleNonContainedNPL",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefSingleNonContainedNPL_Element(), this.getContainedElementNoOpposite(), null, "element", null,
+ 0, 1, RefSingleNonContainedNPL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refMultiContainedNPLEClass, RefMultiContainedNPL.class, "RefMultiContainedNPL", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiContainedNPL_Elements(), this.getContainedElementNoOpposite(), null, "elements", null, 0,
+ -1, RefMultiContainedNPL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refMultiNonContainedNPLEClass, RefMultiNonContainedNPL.class, "RefMultiNonContainedNPL", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiNonContainedNPL_Elements(), this.getContainedElementNoOpposite(), null, "elements", null,
+ 0, -1, RefMultiNonContainedNPL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(containedElementNoOppositeEClass, ContainedElementNoOpposite.class, "ContainedElementNoOpposite",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getContainedElementNoOpposite_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ ContainedElementNoOpposite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefSingleContainedEClass, GenRefSingleContained.class, "GenRefSingleContained", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefSingleContained_Element(), ecorePackage.getEObject(), null, "element", null, 0, 1,
+ GenRefSingleContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefSingleNonContainedEClass, GenRefSingleNonContained.class, "GenRefSingleNonContained",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefSingleNonContained_Element(), ecorePackage.getEObject(), null, "element", null, 0, 1,
+ GenRefSingleNonContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefMultiContainedEClass, GenRefMultiContained.class, "GenRefMultiContained", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefMultiContained_Elements(), ecorePackage.getEObject(), null, "elements", null, 0, -1,
+ GenRefMultiContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefMultiNonContainedEClass, GenRefMultiNonContained.class, "GenRefMultiNonContained", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefMultiNonContained_Elements(), ecorePackage.getEObject(), null, "elements", null, 0, -1,
+ GenRefMultiNonContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implSingleRefContainerEClass, ImplSingleRefContainer.class, "ImplSingleRefContainer", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implSingleRefContainedElementEClass, ImplSingleRefContainedElement.class,
+ "ImplSingleRefContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImplSingleRefContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ ImplSingleRefContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implSingleRefNonContainerEClass, ImplSingleRefNonContainer.class, "ImplSingleRefNonContainer",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implSingleRefNonContainedElementEClass, ImplSingleRefNonContainedElement.class,
+ "ImplSingleRefNonContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImplSingleRefNonContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ ImplSingleRefNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implMultiRefNonContainerEClass, ImplMultiRefNonContainer.class, "ImplMultiRefNonContainer",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implMultiRefNonContainedElementEClass, ImplMultiRefNonContainedElement.class,
+ "ImplMultiRefNonContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImplMultiRefNonContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ ImplMultiRefNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implMultiRefContainerEClass, ImplMultiRefContainer.class, "ImplMultiRefContainer", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implMultiRefContainedElementEClass, ImplMultiRefContainedElement.class, "ImplMultiRefContainedElement",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImplMultiRefContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ ImplMultiRefContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implSingleRefContainerNPLEClass, ImplSingleRefContainerNPL.class, "ImplSingleRefContainerNPL",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implSingleRefNonContainerNPLEClass, ImplSingleRefNonContainerNPL.class, "ImplSingleRefNonContainerNPL",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implMultiRefContainerNPLEClass, ImplMultiRefContainerNPL.class, "ImplMultiRefContainerNPL",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implMultiRefNonContainerNPLEClass, ImplMultiRefNonContainerNPL.class, "ImplMultiRefNonContainerNPL",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implContainedElementNPLEClass, ImplContainedElementNPL.class, "ImplContainedElementNPL", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(genRefMultiNUNonContainedEClass, GenRefMultiNUNonContained.class, "GenRefMultiNUNonContained",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefMultiNUNonContained_Elements(), ecorePackage.getEObject(), null, "elements", null, 0, -1,
+ GenRefMultiNUNonContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefMapNonContainedEClass, GenRefMapNonContained.class, "GenRefMapNonContained", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefMapNonContained_Elements(), this.getStringToEObject(), null, "elements", null, 0, -1,
+ GenRefMapNonContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(stringToEObjectEClass, Map.Entry.class, "StringToEObject", !IS_ABSTRACT, !IS_INTERFACE,
+ !IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStringToEObject_Key(), ecorePackage.getEString(), "key", null, 0, 1, Map.Entry.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStringToEObject_Value(), ecorePackage.getEObject(), null, "value", null, 0, 1, Map.Entry.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // model4PackageImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/model4Factory.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/model4Factory.java
new file mode 100644
index 0000000000..8d11c59ef6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/model4Factory.java
@@ -0,0 +1,363 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.GenRefMapNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNUNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.MultiContainedElement;
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.SingleContainedElement;
+import org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement;
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model. It provides a create method for each non-abstract class of the model.
+ * @extends org.eclipse.emf.cdo.tests.model4.model4Factory
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.model4Package
+ * @generated
+ */
+public interface model4Factory extends EFactory, org.eclipse.emf.cdo.tests.model4.model4Factory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ model4Factory eINSTANCE = org.eclipse.emf.cdo.tests.model4.legacy.impl.model4FactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Ref Single Contained</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Single Contained</em>'.
+ * @generated
+ */
+ RefSingleContained createRefSingleContained();
+
+ /**
+ * Returns a new object of class '<em>Single Contained Element</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Single Contained Element</em>'.
+ * @generated
+ */
+ SingleContainedElement createSingleContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Single Non Contained</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Single Non Contained</em>'.
+ * @generated
+ */
+ RefSingleNonContained createRefSingleNonContained();
+
+ /**
+ * Returns a new object of class '<em>Single Non Contained Element</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Single Non Contained Element</em>'.
+ * @generated
+ */
+ SingleNonContainedElement createSingleNonContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Contained</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Contained</em>'.
+ * @generated
+ */
+ RefMultiContained createRefMultiContained();
+
+ /**
+ * Returns a new object of class '<em>Multi Contained Element</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Contained Element</em>'.
+ * @generated
+ */
+ MultiContainedElement createMultiContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Non Contained</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Non Contained</em>'.
+ * @generated
+ */
+ RefMultiNonContained createRefMultiNonContained();
+
+ /**
+ * Returns a new object of class '<em>Multi Non Contained Element</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Non Contained Element</em>'.
+ * @generated
+ */
+ MultiNonContainedElement createMultiNonContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Non Contained Unsettable</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Non Contained Unsettable</em>'.
+ * @generated
+ */
+ RefMultiNonContainedUnsettable createRefMultiNonContainedUnsettable();
+
+ /**
+ * Returns a new object of class '<em>Multi Non Contained Unsettable Element</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Multi Non Contained Unsettable Element</em>'.
+ * @generated
+ */
+ MultiNonContainedUnsettableElement createMultiNonContainedUnsettableElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Single Contained NPL</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Single Contained NPL</em>'.
+ * @generated
+ */
+ RefSingleContainedNPL createRefSingleContainedNPL();
+
+ /**
+ * Returns a new object of class '<em>Ref Single Non Contained NPL</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Ref Single Non Contained NPL</em>'.
+ * @generated
+ */
+ RefSingleNonContainedNPL createRefSingleNonContainedNPL();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Contained NPL</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Contained NPL</em>'.
+ * @generated
+ */
+ RefMultiContainedNPL createRefMultiContainedNPL();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Non Contained NPL</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Non Contained NPL</em>'.
+ * @generated
+ */
+ RefMultiNonContainedNPL createRefMultiNonContainedNPL();
+
+ /**
+ * Returns a new object of class '<em>Contained Element No Opposite</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Contained Element No Opposite</em>'.
+ * @generated
+ */
+ ContainedElementNoOpposite createContainedElementNoOpposite();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Single Contained</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Gen Ref Single Contained</em>'.
+ * @generated
+ */
+ GenRefSingleContained createGenRefSingleContained();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Single Non Contained</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Gen Ref Single Non Contained</em>'.
+ * @generated
+ */
+ GenRefSingleNonContained createGenRefSingleNonContained();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Multi Contained</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Gen Ref Multi Contained</em>'.
+ * @generated
+ */
+ GenRefMultiContained createGenRefMultiContained();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Multi Non Contained</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Gen Ref Multi Non Contained</em>'.
+ * @generated
+ */
+ GenRefMultiNonContained createGenRefMultiNonContained();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Container</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Container</em>'.
+ * @generated
+ */
+ ImplSingleRefContainer createImplSingleRefContainer();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Contained Element</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Contained Element</em>'.
+ * @generated
+ */
+ ImplSingleRefContainedElement createImplSingleRefContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Non Container</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Impl Single Ref Non Container</em>'.
+ * @generated
+ */
+ ImplSingleRefNonContainer createImplSingleRefNonContainer();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Non Contained Element</em>'.
+ * @generated
+ */
+ ImplSingleRefNonContainedElement createImplSingleRefNonContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Non Container</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Impl Multi Ref Non Container</em>'.
+ * @generated
+ */
+ ImplMultiRefNonContainer createImplMultiRefNonContainer();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Non Contained Element</em>'.
+ * @generated
+ */
+ ImplMultiRefNonContainedElement createImplMultiRefNonContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Container</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Container</em>'.
+ * @generated
+ */
+ ImplMultiRefContainer createImplMultiRefContainer();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Contained Element</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Contained Element</em>'.
+ * @generated
+ */
+ ImplMultiRefContainedElement createImplMultiRefContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Container NPL</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Impl Single Ref Container NPL</em>'.
+ * @generated
+ */
+ ImplSingleRefContainerNPL createImplSingleRefContainerNPL();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Non Container NPL</em>'.
+ * @generated
+ */
+ ImplSingleRefNonContainerNPL createImplSingleRefNonContainerNPL();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Container NPL</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Impl Multi Ref Container NPL</em>'.
+ * @generated
+ */
+ ImplMultiRefContainerNPL createImplMultiRefContainerNPL();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Non Container NPL</em>'.
+ * @generated
+ */
+ ImplMultiRefNonContainerNPL createImplMultiRefNonContainerNPL();
+
+ /**
+ * Returns a new object of class '<em>Impl Contained Element NPL</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Contained Element NPL</em>'.
+ * @generated
+ */
+ ImplContainedElementNPL createImplContainedElementNPL();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Multi NU Non Contained</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Gen Ref Multi NU Non Contained</em>'.
+ * @generated
+ */
+ GenRefMultiNUNonContained createGenRefMultiNUNonContained();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Map Non Contained</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Gen Ref Map Non Contained</em>'.
+ * @generated
+ */
+ GenRefMapNonContained createGenRefMapNonContained();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ model4Package getmodel4Package();
+
+} // model4Factory
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/model4Package.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/model4Package.java
new file mode 100644
index 0000000000..4dbb8083d0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/model4Package.java
@@ -0,0 +1,1770 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.legacy.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * @extends org.eclipse.emf.cdo.tests.model4.model4Package
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.model4Factory
+ * @model kind="package"
+ * @generated
+ */
+public interface model4Package extends EPackage, org.eclipse.emf.cdo.tests.model4.model4Package
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "model4";
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/CDO/tests/legacy/model4/1.0.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "model4";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ model4Package eINSTANCE = org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleContainedImpl <em>Ref Single Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefSingleContained()
+ * @generated
+ */
+ int REF_SINGLE_CONTAINED = 0;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_CONTAINED__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Single Contained</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.SingleContainedElementImpl <em>Single Contained Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.SingleContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getSingleContainedElement()
+ * @generated
+ */
+ int SINGLE_CONTAINED_ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_CONTAINED_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_CONTAINED_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Single Contained Element</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_CONTAINED_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleNonContainedImpl <em>Ref Single Non Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefSingleNonContained()
+ * @generated
+ */
+ int REF_SINGLE_NON_CONTAINED = 2;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_NON_CONTAINED__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Single Non Contained</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.SingleNonContainedElementImpl <em>Single Non Contained Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.SingleNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getSingleNonContainedElement()
+ * @generated
+ */
+ int SINGLE_NON_CONTAINED_ELEMENT = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_NON_CONTAINED_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_NON_CONTAINED_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Single Non Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_NON_CONTAINED_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiContainedImpl <em>Ref Multi Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefMultiContained()
+ * @generated
+ */
+ int REF_MULTI_CONTAINED = 4;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Contained</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiContainedElementImpl <em>Multi Contained Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getMultiContainedElement()
+ * @generated
+ */
+ int MULTI_CONTAINED_ELEMENT = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_CONTAINED_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_CONTAINED_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Multi Contained Element</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_CONTAINED_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedImpl <em>Ref Multi Non Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefMultiNonContained()
+ * @generated
+ */
+ int REF_MULTI_NON_CONTAINED = 6;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Non Contained</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiNonContainedElementImpl <em>Multi Non Contained Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getMultiNonContainedElement()
+ * @generated
+ */
+ int MULTI_NON_CONTAINED_ELEMENT = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Multi Non Contained Element</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedUnsettableImpl <em>Ref Multi Non Contained Unsettable</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedUnsettableImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefMultiNonContainedUnsettable()
+ * @generated
+ */
+ int REF_MULTI_NON_CONTAINED_UNSETTABLE = 8;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED_UNSETTABLE__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Non Contained Unsettable</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED_UNSETTABLE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiNonContainedUnsettableElementImpl <em>Multi Non Contained Unsettable Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.MultiNonContainedUnsettableElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getMultiNonContainedUnsettableElement()
+ * @generated
+ */
+ int MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Multi Non Contained Unsettable Element</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleContainedNPLImpl <em>Ref Single Contained NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefSingleContainedNPL()
+ * @generated
+ */
+ int REF_SINGLE_CONTAINED_NPL = 10;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_CONTAINED_NPL__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Single Contained NPL</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_CONTAINED_NPL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleNonContainedNPLImpl <em>Ref Single Non Contained NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefSingleNonContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefSingleNonContainedNPL()
+ * @generated
+ */
+ int REF_SINGLE_NON_CONTAINED_NPL = 11;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_NON_CONTAINED_NPL__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Single Non Contained NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_NON_CONTAINED_NPL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiContainedNPLImpl <em>Ref Multi Contained NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefMultiContainedNPL()
+ * @generated
+ */
+ int REF_MULTI_CONTAINED_NPL = 12;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_CONTAINED_NPL__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Contained NPL</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_CONTAINED_NPL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedNPLImpl <em>Ref Multi Non Contained NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.RefMultiNonContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getRefMultiNonContainedNPL()
+ * @generated
+ */
+ int REF_MULTI_NON_CONTAINED_NPL = 13;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED_NPL__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Non Contained NPL</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED_NPL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ContainedElementNoOppositeImpl <em>Contained Element No Opposite</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ContainedElementNoOppositeImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getContainedElementNoOpposite()
+ * @generated
+ */
+ int CONTAINED_ELEMENT_NO_OPPOSITE = 14;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_ELEMENT_NO_OPPOSITE__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Contained Element No Opposite</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_ELEMENT_NO_OPPOSITE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefSingleContainedImpl <em>Gen Ref Single Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefSingleContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getGenRefSingleContained()
+ * @generated
+ */
+ int GEN_REF_SINGLE_CONTAINED = 15;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_SINGLE_CONTAINED__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Single Contained</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_SINGLE_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefSingleNonContainedImpl <em>Gen Ref Single Non Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefSingleNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getGenRefSingleNonContained()
+ * @generated
+ */
+ int GEN_REF_SINGLE_NON_CONTAINED = 16;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_SINGLE_NON_CONTAINED__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Single Non Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_SINGLE_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiContainedImpl <em>Gen Ref Multi Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getGenRefMultiContained()
+ * @generated
+ */
+ int GEN_REF_MULTI_CONTAINED = 17;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Multi Contained</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiNonContainedImpl <em>Gen Ref Multi Non Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getGenRefMultiNonContained()
+ * @generated
+ */
+ int GEN_REF_MULTI_NON_CONTAINED = 18;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_NON_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Multi Non Contained</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainerImpl <em>Impl Single Ref Container</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplSingleRefContainer()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_CONTAINER = 19;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINER__ELEMENT = model4interfacesPackage.ISINGLE_REF_CONTAINER__ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Container</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINER_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainedElementImpl <em>Impl Single Ref Contained Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplSingleRefContainedElement()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_CONTAINED_ELEMENT = 20;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT = model4interfacesPackage.ISINGLE_REF_CONTAINED_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME = model4interfacesPackage.ISINGLE_REF_CONTAINED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Contained Element</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINED_ELEMENT_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_CONTAINED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainerImpl <em>Impl Single Ref Non Container</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplSingleRefNonContainer()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER = 21;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINER__ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Non Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainedElementImpl <em>Impl Single Ref Non Contained Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplSingleRefNonContainedElement()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT = 22;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME = model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Non Contained Element</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainerImpl <em>Impl Multi Ref Non Container</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplMultiRefNonContainer()
+ * @generated
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER = 23;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS = model4interfacesPackage.IMULTI_REF_NON_CONTAINER__ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Non Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_NON_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainedElementImpl <em>Impl Multi Ref Non Contained Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplMultiRefNonContainedElement()
+ * @generated
+ */
+ int IMPL_MULTI_REF_NON_CONTAINED_ELEMENT = 24;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT = model4interfacesPackage.IMULTI_REF_NON_CONTAINED_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME = model4interfacesPackage.IMULTI_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Non Contained Element</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainerImpl <em>Impl Multi Ref Container</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplMultiRefContainer()
+ * @generated
+ */
+ int IMPL_MULTI_REF_CONTAINER = 25;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINER__ELEMENTS = model4interfacesPackage.IMULTI_REF_CONTAINER__ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Container</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINER_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainedElementImpl <em>Impl Multi Ref Contained Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplMultiRefContainedElement()
+ * @generated
+ */
+ int IMPL_MULTI_REF_CONTAINED_ELEMENT = 26;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT = model4interfacesPackage.IMULTI_REF_CONTAINED_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME = model4interfacesPackage.IMULTI_REF_CONTAINED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINED_ELEMENT_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_CONTAINED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainerNPLImpl <em>Impl Single Ref Container NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplSingleRefContainerNPL()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_CONTAINER_NPL = 27;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT = model4interfacesPackage.ISINGLE_REF_CONTAINER_NPL__ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Container NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINER_NPL_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_CONTAINER_NPL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainerNPLImpl <em>Impl Single Ref Non Container NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplSingleRefNonContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplSingleRefNonContainerNPL()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER_NPL = 28;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER_NPL__ELEMENT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINER_NPL__ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Non Container NPL</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER_NPL_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINER_NPL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainerNPLImpl <em>Impl Multi Ref Container NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplMultiRefContainerNPL()
+ * @generated
+ */
+ int IMPL_MULTI_REF_CONTAINER_NPL = 29;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINER_NPL__ELEMENTS = model4interfacesPackage.IMULTI_REF_CONTAINER_NPL__ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Container NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINER_NPL_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_CONTAINER_NPL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainerNPLImpl <em>Impl Multi Ref Non Container NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplMultiRefNonContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplMultiRefNonContainerNPL()
+ * @generated
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER_NPL = 30;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER_NPL__ELEMENTS = model4interfacesPackage.IMULTI_REF_NON_CONTAINER_NPL__ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Non Container NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER_NPL_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_NON_CONTAINER_NPL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplContainedElementNPLImpl <em>Impl Contained Element NPL</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.ImplContainedElementNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getImplContainedElementNPL()
+ * @generated
+ */
+ int IMPL_CONTAINED_ELEMENT_NPL = 31;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_CONTAINED_ELEMENT_NPL__NAME = model4interfacesPackage.ICONTAINED_ELEMENT_NO_PARENT_LINK_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Contained Element NPL</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_CONTAINED_ELEMENT_NPL_FEATURE_COUNT = model4interfacesPackage.ICONTAINED_ELEMENT_NO_PARENT_LINK_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiNUNonContainedImpl <em>Gen Ref Multi NU Non Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMultiNUNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getGenRefMultiNUNonContained()
+ * @generated
+ */
+ int GEN_REF_MULTI_NU_NON_CONTAINED = 32;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_NU_NON_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Multi NU Non Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_NU_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMapNonContainedImpl <em>Gen Ref Map Non Contained</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.GenRefMapNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getGenRefMapNonContained()
+ * @generated
+ */
+ int GEN_REF_MAP_NON_CONTAINED = 33;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' map.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MAP_NON_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Map Non Contained</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MAP_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.legacy.impl.StringToEObjectImpl <em>String To EObject</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.StringToEObjectImpl
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.impl.model4PackageImpl#getStringToEObject()
+ * @generated
+ */
+ int STRING_TO_EOBJECT = 34;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_TO_EOBJECT__KEY = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_TO_EOBJECT__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>String To EObject</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_TO_EOBJECT_FEATURE_COUNT = 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContained <em>Ref Single Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Single Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContained
+ * @generated
+ */
+ EClass getRefSingleContained();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefSingleContained#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefSingleContained#getElement()
+ * @see #getRefSingleContained()
+ * @generated
+ */
+ EReference getRefSingleContained_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement <em>Single Contained Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Single Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleContainedElement
+ * @generated
+ */
+ EClass getSingleContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getName()
+ * @see #getSingleContainedElement()
+ * @generated
+ */
+ EAttribute getSingleContainedElement_Name();
+
+ /**
+ * Returns the meta object for the container reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.SingleContainedElement#getParent <em>Parent</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the container reference '<em>Parent</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.SingleContainedElement#getParent()
+ * @see #getSingleContainedElement()
+ * @generated
+ */
+ EReference getSingleContainedElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContained <em>Ref Single Non Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Single Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContained
+ * @generated
+ */
+ EClass getRefSingleNonContained();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefSingleNonContained#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefSingleNonContained#getElement()
+ * @see #getRefSingleNonContained()
+ * @generated
+ */
+ EReference getRefSingleNonContained_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement <em>Single Non Contained Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Single Non Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement
+ * @generated
+ */
+ EClass getSingleNonContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.SingleNonContainedElement#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.SingleNonContainedElement#getName()
+ * @see #getSingleNonContainedElement()
+ * @generated
+ */
+ EAttribute getSingleNonContainedElement_Name();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.SingleNonContainedElement#getParent <em>Parent</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Parent</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.SingleNonContainedElement#getParent()
+ * @see #getSingleNonContainedElement()
+ * @generated
+ */
+ EReference getSingleNonContainedElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContained <em>Ref Multi Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContained
+ * @generated
+ */
+ EClass getRefMultiContained();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefMultiContained#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefMultiContained#getElements()
+ * @see #getRefMultiContained()
+ * @generated
+ */
+ EReference getRefMultiContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement <em>Multi Contained Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiContainedElement
+ * @generated
+ */
+ EClass getMultiContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getName()
+ * @see #getMultiContainedElement()
+ * @generated
+ */
+ EAttribute getMultiContainedElement_Name();
+
+ /**
+ * Returns the meta object for the container reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.MultiContainedElement#getParent <em>Parent</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the container reference '<em>Parent</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.MultiContainedElement#getParent()
+ * @see #getMultiContainedElement()
+ * @generated
+ */
+ EReference getMultiContainedElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContained <em>Ref Multi Non Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContained
+ * @generated
+ */
+ EClass getRefMultiNonContained();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefMultiNonContained#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefMultiNonContained#getElements()
+ * @see #getRefMultiNonContained()
+ * @generated
+ */
+ EReference getRefMultiNonContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement <em>Multi Non Contained Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Non Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement
+ * @generated
+ */
+ EClass getMultiNonContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.MultiNonContainedElement#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.MultiNonContainedElement#getName()
+ * @see #getMultiNonContainedElement()
+ * @generated
+ */
+ EAttribute getMultiNonContainedElement_Name();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.MultiNonContainedElement#getParent <em>Parent</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Parent</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.MultiNonContainedElement#getParent()
+ * @see #getMultiNonContainedElement()
+ * @generated
+ */
+ EReference getMultiNonContainedElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable <em>Ref Multi Non Contained Unsettable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Non Contained Unsettable</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable
+ * @generated
+ */
+ EClass getRefMultiNonContainedUnsettable();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefMultiNonContainedUnsettable#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefMultiNonContainedUnsettable#getElements()
+ * @see #getRefMultiNonContainedUnsettable()
+ * @generated
+ */
+ EReference getRefMultiNonContainedUnsettable_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement <em>Multi Non Contained Unsettable Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Non Contained Unsettable Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement
+ * @generated
+ */
+ EClass getMultiNonContainedUnsettableElement();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.MultiNonContainedUnsettableElement#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.MultiNonContainedUnsettableElement#getName()
+ * @see #getMultiNonContainedUnsettableElement()
+ * @generated
+ */
+ EAttribute getMultiNonContainedUnsettableElement_Name();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.MultiNonContainedUnsettableElement#getParent <em>Parent</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Parent</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.MultiNonContainedUnsettableElement#getParent()
+ * @see #getMultiNonContainedUnsettableElement()
+ * @generated
+ */
+ EReference getMultiNonContainedUnsettableElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL <em>Ref Single Contained NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Single Contained NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL
+ * @generated
+ */
+ EClass getRefSingleContainedNPL();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefSingleContainedNPL#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefSingleContainedNPL#getElement()
+ * @see #getRefSingleContainedNPL()
+ * @generated
+ */
+ EReference getRefSingleContainedNPL_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL <em>Ref Single Non Contained NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Single Non Contained NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL
+ * @generated
+ */
+ EClass getRefSingleNonContainedNPL();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefSingleNonContainedNPL#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefSingleNonContainedNPL#getElement()
+ * @see #getRefSingleNonContainedNPL()
+ * @generated
+ */
+ EReference getRefSingleNonContainedNPL_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL <em>Ref Multi Contained NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Contained NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL
+ * @generated
+ */
+ EClass getRefMultiContainedNPL();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefMultiContainedNPL#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefMultiContainedNPL#getElements()
+ * @see #getRefMultiContainedNPL()
+ * @generated
+ */
+ EReference getRefMultiContainedNPL_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL <em>Ref Multi Non Contained NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Non Contained NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL
+ * @generated
+ */
+ EClass getRefMultiNonContainedNPL();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.RefMultiNonContainedNPL#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.RefMultiNonContainedNPL#getElements()
+ * @see #getRefMultiNonContainedNPL()
+ * @generated
+ */
+ EReference getRefMultiNonContainedNPL_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite <em>Contained Element No Opposite</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Contained Element No Opposite</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite
+ * @generated
+ */
+ EClass getContainedElementNoOpposite();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.ContainedElementNoOpposite#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.ContainedElementNoOpposite#getName()
+ * @see #getContainedElementNoOpposite()
+ * @generated
+ */
+ EAttribute getContainedElementNoOpposite_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleContained <em>Gen Ref Single Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Single Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleContained
+ * @generated
+ */
+ EClass getGenRefSingleContained();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.GenRefSingleContained#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.GenRefSingleContained#getElement()
+ * @see #getGenRefSingleContained()
+ * @generated
+ */
+ EReference getGenRefSingleContained_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained <em>Gen Ref Single Non Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Single Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained
+ * @generated
+ */
+ EClass getGenRefSingleNonContained();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.GenRefSingleNonContained#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.GenRefSingleNonContained#getElement()
+ * @see #getGenRefSingleNonContained()
+ * @generated
+ */
+ EReference getGenRefSingleNonContained_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiContained <em>Gen Ref Multi Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Multi Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiContained
+ * @generated
+ */
+ EClass getGenRefMultiContained();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.GenRefMultiContained#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.GenRefMultiContained#getElements()
+ * @see #getGenRefMultiContained()
+ * @generated
+ */
+ EReference getGenRefMultiContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained <em>Gen Ref Multi Non Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Multi Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained
+ * @generated
+ */
+ EClass getGenRefMultiNonContained();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.GenRefMultiNonContained#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.GenRefMultiNonContained#getElements()
+ * @see #getGenRefMultiNonContained()
+ * @generated
+ */
+ EReference getGenRefMultiNonContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer <em>Impl Single Ref Container</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Container</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer
+ * @generated
+ */
+ EClass getImplSingleRefContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement <em>Impl Single Ref Contained Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement
+ * @generated
+ */
+ EClass getImplSingleRefContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.ImplSingleRefContainedElement#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.ImplSingleRefContainedElement#getName()
+ * @see #getImplSingleRefContainedElement()
+ * @generated
+ */
+ EAttribute getImplSingleRefContainedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer <em>Impl Single Ref Non Container</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Non Container</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer
+ * @generated
+ */
+ EClass getImplSingleRefNonContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement <em>Impl Single Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Non Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement
+ * @generated
+ */
+ EClass getImplSingleRefNonContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.ImplSingleRefNonContainedElement#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.ImplSingleRefNonContainedElement#getName()
+ * @see #getImplSingleRefNonContainedElement()
+ * @generated
+ */
+ EAttribute getImplSingleRefNonContainedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer <em>Impl Multi Ref Non Container</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Non Container</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer
+ * @generated
+ */
+ EClass getImplMultiRefNonContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement <em>Impl Multi Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Non Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement
+ * @generated
+ */
+ EClass getImplMultiRefNonContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.ImplMultiRefNonContainedElement#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.ImplMultiRefNonContainedElement#getName()
+ * @see #getImplMultiRefNonContainedElement()
+ * @generated
+ */
+ EAttribute getImplMultiRefNonContainedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer <em>Impl Multi Ref Container</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Container</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer
+ * @generated
+ */
+ EClass getImplMultiRefContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement <em>Impl Multi Ref Contained Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement
+ * @generated
+ */
+ EClass getImplMultiRefContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.ImplMultiRefContainedElement#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.ImplMultiRefContainedElement#getName()
+ * @see #getImplMultiRefContainedElement()
+ * @generated
+ */
+ EAttribute getImplMultiRefContainedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL <em>Impl Single Ref Container NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Container NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL
+ * @generated
+ */
+ EClass getImplSingleRefContainerNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL <em>Impl Single Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Non Container NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL
+ * @generated
+ */
+ EClass getImplSingleRefNonContainerNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL <em>Impl Multi Ref Container NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Container NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL
+ * @generated
+ */
+ EClass getImplMultiRefContainerNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL <em>Impl Multi Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Non Container NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL
+ * @generated
+ */
+ EClass getImplMultiRefNonContainerNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL <em>Impl Contained Element NPL</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Contained Element NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL
+ * @generated
+ */
+ EClass getImplContainedElementNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiNUNonContained <em>Gen Ref Multi NU Non Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Multi NU Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiNUNonContained
+ * @generated
+ */
+ EClass getGenRefMultiNUNonContained();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.GenRefMultiNUNonContained#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.GenRefMultiNUNonContained#getElements()
+ * @see #getGenRefMultiNUNonContained()
+ * @generated
+ */
+ EReference getGenRefMultiNUNonContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMapNonContained <em>Gen Ref Map Non Contained</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Map Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMapNonContained
+ * @generated
+ */
+ EClass getGenRefMapNonContained();
+
+ /**
+ * Returns the meta object for the map '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model4.GenRefMapNonContained#getElements <em>Elements</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the map '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model4.GenRefMapNonContained#getElements()
+ * @see #getGenRefMapNonContained()
+ * @generated
+ */
+ EReference getGenRefMapNonContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry <em>String To EObject</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>String To EObject</em>'.
+ * @see java.util.Map.Entry
+ * @model keyDataType="org.eclipse.emf.ecore.EString"
+ * valueType="org.eclipse.emf.ecore.EObject" valueResolveProxies="false"
+ * @generated
+ */
+ EClass getStringToEObject();
+
+ /**
+ * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Key</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the attribute '<em>Key</em>'.
+ * @see java.util.Map.Entry
+ * @see #getStringToEObject()
+ * @generated
+ */
+ EAttribute getStringToEObject_Key();
+
+ /**
+ * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Value</em>'.
+ * @see java.util.Map.Entry
+ * @see #getStringToEObject()
+ * @generated
+ */
+ EReference getStringToEObject_Value();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ model4Factory getmodel4Factory();
+
+} // model4Package
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/util/model4AdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/util/model4AdapterFactory.java
new file mode 100644
index 0000000000..d1786a8e45
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/util/model4AdapterFactory.java
@@ -0,0 +1,1166 @@
+/**
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.cdo.tests.model4.*;
+
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.INamedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.model4Package
+ * @generated
+ */
+public class model4AdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static model4Package modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public model4AdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = model4Package.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected model4Switch<Adapter> modelSwitch = new model4Switch<Adapter>()
+ {
+ @Override
+ public Adapter caseRefSingleContained(RefSingleContained object)
+ {
+ return createRefSingleContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseSingleContainedElement(SingleContainedElement object)
+ {
+ return createSingleContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseRefSingleNonContained(RefSingleNonContained object)
+ {
+ return createRefSingleNonContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseSingleNonContainedElement(SingleNonContainedElement object)
+ {
+ return createSingleNonContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseRefMultiContained(RefMultiContained object)
+ {
+ return createRefMultiContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseMultiContainedElement(MultiContainedElement object)
+ {
+ return createMultiContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseRefMultiNonContained(RefMultiNonContained object)
+ {
+ return createRefMultiNonContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseMultiNonContainedElement(MultiNonContainedElement object)
+ {
+ return createMultiNonContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseRefMultiNonContainedUnsettable(RefMultiNonContainedUnsettable object)
+ {
+ return createRefMultiNonContainedUnsettableAdapter();
+ }
+
+ @Override
+ public Adapter caseMultiNonContainedUnsettableElement(MultiNonContainedUnsettableElement object)
+ {
+ return createMultiNonContainedUnsettableElementAdapter();
+ }
+
+ @Override
+ public Adapter caseRefSingleContainedNPL(RefSingleContainedNPL object)
+ {
+ return createRefSingleContainedNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseRefSingleNonContainedNPL(RefSingleNonContainedNPL object)
+ {
+ return createRefSingleNonContainedNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseRefMultiContainedNPL(RefMultiContainedNPL object)
+ {
+ return createRefMultiContainedNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseRefMultiNonContainedNPL(RefMultiNonContainedNPL object)
+ {
+ return createRefMultiNonContainedNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseContainedElementNoOpposite(ContainedElementNoOpposite object)
+ {
+ return createContainedElementNoOppositeAdapter();
+ }
+
+ @Override
+ public Adapter caseGenRefSingleContained(GenRefSingleContained object)
+ {
+ return createGenRefSingleContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseGenRefSingleNonContained(GenRefSingleNonContained object)
+ {
+ return createGenRefSingleNonContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseGenRefMultiContained(GenRefMultiContained object)
+ {
+ return createGenRefMultiContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseGenRefMultiNonContained(GenRefMultiNonContained object)
+ {
+ return createGenRefMultiNonContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseImplSingleRefContainer(ImplSingleRefContainer object)
+ {
+ return createImplSingleRefContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseImplSingleRefContainedElement(ImplSingleRefContainedElement object)
+ {
+ return createImplSingleRefContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseImplSingleRefNonContainer(ImplSingleRefNonContainer object)
+ {
+ return createImplSingleRefNonContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseImplSingleRefNonContainedElement(ImplSingleRefNonContainedElement object)
+ {
+ return createImplSingleRefNonContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseImplMultiRefNonContainer(ImplMultiRefNonContainer object)
+ {
+ return createImplMultiRefNonContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseImplMultiRefNonContainedElement(ImplMultiRefNonContainedElement object)
+ {
+ return createImplMultiRefNonContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseImplMultiRefContainer(ImplMultiRefContainer object)
+ {
+ return createImplMultiRefContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseImplMultiRefContainedElement(ImplMultiRefContainedElement object)
+ {
+ return createImplMultiRefContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseImplSingleRefContainerNPL(ImplSingleRefContainerNPL object)
+ {
+ return createImplSingleRefContainerNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseImplSingleRefNonContainerNPL(ImplSingleRefNonContainerNPL object)
+ {
+ return createImplSingleRefNonContainerNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseImplMultiRefContainerNPL(ImplMultiRefContainerNPL object)
+ {
+ return createImplMultiRefContainerNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseImplMultiRefNonContainerNPL(ImplMultiRefNonContainerNPL object)
+ {
+ return createImplMultiRefNonContainerNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseImplContainedElementNPL(ImplContainedElementNPL object)
+ {
+ return createImplContainedElementNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseGenRefMultiNUNonContained(GenRefMultiNUNonContained object)
+ {
+ return createGenRefMultiNUNonContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseGenRefMapNonContained(GenRefMapNonContained object)
+ {
+ return createGenRefMapNonContainedAdapter();
+ }
+
+ @Override
+ public Adapter caseStringToEObject(Map.Entry<String, EObject> object)
+ {
+ return createStringToEObjectAdapter();
+ }
+
+ @Override
+ public Adapter caseISingleRefContainer(ISingleRefContainer object)
+ {
+ return createISingleRefContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseISingleRefContainedElement(ISingleRefContainedElement object)
+ {
+ return createISingleRefContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseISingleRefNonContainer(ISingleRefNonContainer object)
+ {
+ return createISingleRefNonContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseISingleRefNonContainedElement(ISingleRefNonContainedElement object)
+ {
+ return createISingleRefNonContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseIMultiRefNonContainer(IMultiRefNonContainer object)
+ {
+ return createIMultiRefNonContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseIMultiRefNonContainedElement(IMultiRefNonContainedElement object)
+ {
+ return createIMultiRefNonContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseIMultiRefContainer(IMultiRefContainer object)
+ {
+ return createIMultiRefContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseIMultiRefContainedElement(IMultiRefContainedElement object)
+ {
+ return createIMultiRefContainedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseISingleRefContainerNPL(ISingleRefContainerNPL object)
+ {
+ return createISingleRefContainerNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseISingleRefNonContainerNPL(ISingleRefNonContainerNPL object)
+ {
+ return createISingleRefNonContainerNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseIMultiRefContainerNPL(IMultiRefContainerNPL object)
+ {
+ return createIMultiRefContainerNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseIMultiRefNonContainerNPL(IMultiRefNonContainerNPL object)
+ {
+ return createIMultiRefNonContainerNPLAdapter();
+ }
+
+ @Override
+ public Adapter caseIContainedElementNoParentLink(IContainedElementNoParentLink object)
+ {
+ return createIContainedElementNoParentLinkAdapter();
+ }
+
+ @Override
+ public Adapter caseINamedElement(INamedElement object)
+ {
+ return createINamedElementAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContained <em>Ref Single Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContained
+ * @generated
+ */
+ public Adapter createRefSingleContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement <em>Single Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleContainedElement
+ * @generated
+ */
+ public Adapter createSingleContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContained <em>Ref Single Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContained
+ * @generated
+ */
+ public Adapter createRefSingleNonContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement <em>Single Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement
+ * @generated
+ */
+ public Adapter createSingleNonContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContained <em>Ref Multi Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContained
+ * @generated
+ */
+ public Adapter createRefMultiContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement <em>Multi Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiContainedElement
+ * @generated
+ */
+ public Adapter createMultiContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContained <em>Ref Multi Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContained
+ * @generated
+ */
+ public Adapter createRefMultiNonContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement <em>Multi Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement
+ * @generated
+ */
+ public Adapter createMultiNonContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable <em>Ref Multi Non Contained Unsettable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedUnsettable
+ * @generated
+ */
+ public Adapter createRefMultiNonContainedUnsettableAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement <em>Multi Non Contained Unsettable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiNonContainedUnsettableElement
+ * @generated
+ */
+ public Adapter createMultiNonContainedUnsettableElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL <em>Ref Single Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL
+ * @generated
+ */
+ public Adapter createRefSingleContainedNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL <em>Ref Single Non Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL
+ * @generated
+ */
+ public Adapter createRefSingleNonContainedNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL <em>Ref Multi Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL
+ * @generated
+ */
+ public Adapter createRefMultiContainedNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL <em>Ref Multi Non Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL
+ * @generated
+ */
+ public Adapter createRefMultiNonContainedNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite <em>Contained Element No Opposite</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite
+ * @generated
+ */
+ public Adapter createContainedElementNoOppositeAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleContained <em>Gen Ref Single Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleContained
+ * @generated
+ */
+ public Adapter createGenRefSingleContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained <em>Gen Ref Single Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained
+ * @generated
+ */
+ public Adapter createGenRefSingleNonContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiContained <em>Gen Ref Multi Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiContained
+ * @generated
+ */
+ public Adapter createGenRefMultiContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained <em>Gen Ref Multi Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained
+ * @generated
+ */
+ public Adapter createGenRefMultiNonContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer <em>Impl Single Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer
+ * @generated
+ */
+ public Adapter createImplSingleRefContainerAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement <em>Impl Single Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement
+ * @generated
+ */
+ public Adapter createImplSingleRefContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer <em>Impl Single Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer
+ * @generated
+ */
+ public Adapter createImplSingleRefNonContainerAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement <em>Impl Single Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement
+ * @generated
+ */
+ public Adapter createImplSingleRefNonContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer <em>Impl Multi Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer
+ * @generated
+ */
+ public Adapter createImplMultiRefNonContainerAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement <em>Impl Multi Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement
+ * @generated
+ */
+ public Adapter createImplMultiRefNonContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer <em>Impl Multi Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer
+ * @generated
+ */
+ public Adapter createImplMultiRefContainerAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement <em>Impl Multi Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement
+ * @generated
+ */
+ public Adapter createImplMultiRefContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL <em>Impl Single Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL
+ * @generated
+ */
+ public Adapter createImplSingleRefContainerNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL <em>Impl Single Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL
+ * @generated
+ */
+ public Adapter createImplSingleRefNonContainerNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL <em>Impl Multi Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL
+ * @generated
+ */
+ public Adapter createImplMultiRefContainerNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL <em>Impl Multi Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL
+ * @generated
+ */
+ public Adapter createImplMultiRefNonContainerNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL <em>Impl Contained Element NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL
+ * @generated
+ */
+ public Adapter createImplContainedElementNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiNUNonContained <em>Gen Ref Multi NU Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiNUNonContained
+ * @generated
+ */
+ public Adapter createGenRefMultiNUNonContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMapNonContained <em>Gen Ref Map Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMapNonContained
+ * @generated
+ */
+ public Adapter createGenRefMapNonContainedAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To EObject</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see java.util.Map.Entry
+ * @generated
+ */
+ public Adapter createStringToEObjectAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer <em>ISingle Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer
+ * @generated
+ */
+ public Adapter createISingleRefContainerAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement <em>ISingle Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement
+ * @generated
+ */
+ public Adapter createISingleRefContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer <em>ISingle Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer
+ * @generated
+ */
+ public Adapter createISingleRefNonContainerAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement <em>ISingle Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement
+ * @generated
+ */
+ public Adapter createISingleRefNonContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer <em>IMulti Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer
+ * @generated
+ */
+ public Adapter createIMultiRefNonContainerAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement <em>IMulti Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement
+ * @generated
+ */
+ public Adapter createIMultiRefNonContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer <em>IMulti Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer
+ * @generated
+ */
+ public Adapter createIMultiRefContainerAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement <em>IMulti Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement
+ * @generated
+ */
+ public Adapter createIMultiRefContainedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL <em>ISingle Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL
+ * @generated
+ */
+ public Adapter createISingleRefContainerNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL <em>ISingle Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL
+ * @generated
+ */
+ public Adapter createISingleRefNonContainerNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL <em>IMulti Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL
+ * @generated
+ */
+ public Adapter createIMultiRefContainerNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL <em>IMulti Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL
+ * @generated
+ */
+ public Adapter createIMultiRefNonContainerNPLAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink <em>IContained Element No Parent Link</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink
+ * @generated
+ */
+ public Adapter createIContainedElementNoParentLinkAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.INamedElement <em>INamed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.INamedElement
+ * @generated
+ */
+ public Adapter createINamedElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} //model4AdapterFactory
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/util/model4Switch.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/util/model4Switch.java
new file mode 100644
index 0000000000..ebaf5ea876
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/legacy/util/model4Switch.java
@@ -0,0 +1,1232 @@
+/**
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model4.legacy.util;
+
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.cdo.tests.model4.*;
+
+import org.eclipse.emf.cdo.tests.model4.legacy.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.INamedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.legacy.model4Package
+ * @generated
+ */
+public class model4Switch<T>
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static model4Package modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public model4Switch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = model4Package.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject)
+ {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject)
+ {
+ if (theEClass.eContainer() == modelPackage)
+ {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else
+ {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case model4Package.REF_SINGLE_CONTAINED:
+ {
+ RefSingleContained refSingleContained = (RefSingleContained)theEObject;
+ T result = caseRefSingleContained(refSingleContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.SINGLE_CONTAINED_ELEMENT:
+ {
+ SingleContainedElement singleContainedElement = (SingleContainedElement)theEObject;
+ T result = caseSingleContainedElement(singleContainedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_SINGLE_NON_CONTAINED:
+ {
+ RefSingleNonContained refSingleNonContained = (RefSingleNonContained)theEObject;
+ T result = caseRefSingleNonContained(refSingleNonContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT:
+ {
+ SingleNonContainedElement singleNonContainedElement = (SingleNonContainedElement)theEObject;
+ T result = caseSingleNonContainedElement(singleNonContainedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_CONTAINED:
+ {
+ RefMultiContained refMultiContained = (RefMultiContained)theEObject;
+ T result = caseRefMultiContained(refMultiContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.MULTI_CONTAINED_ELEMENT:
+ {
+ MultiContainedElement multiContainedElement = (MultiContainedElement)theEObject;
+ T result = caseMultiContainedElement(multiContainedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_NON_CONTAINED:
+ {
+ RefMultiNonContained refMultiNonContained = (RefMultiNonContained)theEObject;
+ T result = caseRefMultiNonContained(refMultiNonContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT:
+ {
+ MultiNonContainedElement multiNonContainedElement = (MultiNonContainedElement)theEObject;
+ T result = caseMultiNonContainedElement(multiNonContainedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_NON_CONTAINED_UNSETTABLE:
+ {
+ RefMultiNonContainedUnsettable refMultiNonContainedUnsettable = (RefMultiNonContainedUnsettable)theEObject;
+ T result = caseRefMultiNonContainedUnsettable(refMultiNonContainedUnsettable);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.MULTI_NON_CONTAINED_UNSETTABLE_ELEMENT:
+ {
+ MultiNonContainedUnsettableElement multiNonContainedUnsettableElement = (MultiNonContainedUnsettableElement)theEObject;
+ T result = caseMultiNonContainedUnsettableElement(multiNonContainedUnsettableElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_SINGLE_CONTAINED_NPL:
+ {
+ RefSingleContainedNPL refSingleContainedNPL = (RefSingleContainedNPL)theEObject;
+ T result = caseRefSingleContainedNPL(refSingleContainedNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_SINGLE_NON_CONTAINED_NPL:
+ {
+ RefSingleNonContainedNPL refSingleNonContainedNPL = (RefSingleNonContainedNPL)theEObject;
+ T result = caseRefSingleNonContainedNPL(refSingleNonContainedNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_CONTAINED_NPL:
+ {
+ RefMultiContainedNPL refMultiContainedNPL = (RefMultiContainedNPL)theEObject;
+ T result = caseRefMultiContainedNPL(refMultiContainedNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_NON_CONTAINED_NPL:
+ {
+ RefMultiNonContainedNPL refMultiNonContainedNPL = (RefMultiNonContainedNPL)theEObject;
+ T result = caseRefMultiNonContainedNPL(refMultiNonContainedNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.CONTAINED_ELEMENT_NO_OPPOSITE:
+ {
+ ContainedElementNoOpposite containedElementNoOpposite = (ContainedElementNoOpposite)theEObject;
+ T result = caseContainedElementNoOpposite(containedElementNoOpposite);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_SINGLE_CONTAINED:
+ {
+ GenRefSingleContained genRefSingleContained = (GenRefSingleContained)theEObject;
+ T result = caseGenRefSingleContained(genRefSingleContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_SINGLE_NON_CONTAINED:
+ {
+ GenRefSingleNonContained genRefSingleNonContained = (GenRefSingleNonContained)theEObject;
+ T result = caseGenRefSingleNonContained(genRefSingleNonContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_MULTI_CONTAINED:
+ {
+ GenRefMultiContained genRefMultiContained = (GenRefMultiContained)theEObject;
+ T result = caseGenRefMultiContained(genRefMultiContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_MULTI_NON_CONTAINED:
+ {
+ GenRefMultiNonContained genRefMultiNonContained = (GenRefMultiNonContained)theEObject;
+ T result = caseGenRefMultiNonContained(genRefMultiNonContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_CONTAINER:
+ {
+ ImplSingleRefContainer implSingleRefContainer = (ImplSingleRefContainer)theEObject;
+ T result = caseImplSingleRefContainer(implSingleRefContainer);
+ if (result == null)
+ result = caseISingleRefContainer(implSingleRefContainer);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT:
+ {
+ ImplSingleRefContainedElement implSingleRefContainedElement = (ImplSingleRefContainedElement)theEObject;
+ T result = caseImplSingleRefContainedElement(implSingleRefContainedElement);
+ if (result == null)
+ result = caseISingleRefContainedElement(implSingleRefContainedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER:
+ {
+ ImplSingleRefNonContainer implSingleRefNonContainer = (ImplSingleRefNonContainer)theEObject;
+ T result = caseImplSingleRefNonContainer(implSingleRefNonContainer);
+ if (result == null)
+ result = caseISingleRefNonContainer(implSingleRefNonContainer);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT:
+ {
+ ImplSingleRefNonContainedElement implSingleRefNonContainedElement = (ImplSingleRefNonContainedElement)theEObject;
+ T result = caseImplSingleRefNonContainedElement(implSingleRefNonContainedElement);
+ if (result == null)
+ result = caseISingleRefNonContainedElement(implSingleRefNonContainedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER:
+ {
+ ImplMultiRefNonContainer implMultiRefNonContainer = (ImplMultiRefNonContainer)theEObject;
+ T result = caseImplMultiRefNonContainer(implMultiRefNonContainer);
+ if (result == null)
+ result = caseIMultiRefNonContainer(implMultiRefNonContainer);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT:
+ {
+ ImplMultiRefNonContainedElement implMultiRefNonContainedElement = (ImplMultiRefNonContainedElement)theEObject;
+ T result = caseImplMultiRefNonContainedElement(implMultiRefNonContainedElement);
+ if (result == null)
+ result = caseIMultiRefNonContainedElement(implMultiRefNonContainedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_CONTAINER:
+ {
+ ImplMultiRefContainer implMultiRefContainer = (ImplMultiRefContainer)theEObject;
+ T result = caseImplMultiRefContainer(implMultiRefContainer);
+ if (result == null)
+ result = caseIMultiRefContainer(implMultiRefContainer);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT:
+ {
+ ImplMultiRefContainedElement implMultiRefContainedElement = (ImplMultiRefContainedElement)theEObject;
+ T result = caseImplMultiRefContainedElement(implMultiRefContainedElement);
+ if (result == null)
+ result = caseIMultiRefContainedElement(implMultiRefContainedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL:
+ {
+ ImplSingleRefContainerNPL implSingleRefContainerNPL = (ImplSingleRefContainerNPL)theEObject;
+ T result = caseImplSingleRefContainerNPL(implSingleRefContainerNPL);
+ if (result == null)
+ result = caseISingleRefContainerNPL(implSingleRefContainerNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL:
+ {
+ ImplSingleRefNonContainerNPL implSingleRefNonContainerNPL = (ImplSingleRefNonContainerNPL)theEObject;
+ T result = caseImplSingleRefNonContainerNPL(implSingleRefNonContainerNPL);
+ if (result == null)
+ result = caseISingleRefNonContainerNPL(implSingleRefNonContainerNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL:
+ {
+ ImplMultiRefContainerNPL implMultiRefContainerNPL = (ImplMultiRefContainerNPL)theEObject;
+ T result = caseImplMultiRefContainerNPL(implMultiRefContainerNPL);
+ if (result == null)
+ result = caseIMultiRefContainerNPL(implMultiRefContainerNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL:
+ {
+ ImplMultiRefNonContainerNPL implMultiRefNonContainerNPL = (ImplMultiRefNonContainerNPL)theEObject;
+ T result = caseImplMultiRefNonContainerNPL(implMultiRefNonContainerNPL);
+ if (result == null)
+ result = caseIMultiRefNonContainerNPL(implMultiRefNonContainerNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL:
+ {
+ ImplContainedElementNPL implContainedElementNPL = (ImplContainedElementNPL)theEObject;
+ T result = caseImplContainedElementNPL(implContainedElementNPL);
+ if (result == null)
+ result = caseIContainedElementNoParentLink(implContainedElementNPL);
+ if (result == null)
+ result = caseINamedElement(implContainedElementNPL);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_MULTI_NU_NON_CONTAINED:
+ {
+ GenRefMultiNUNonContained genRefMultiNUNonContained = (GenRefMultiNUNonContained)theEObject;
+ T result = caseGenRefMultiNUNonContained(genRefMultiNUNonContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_MAP_NON_CONTAINED:
+ {
+ GenRefMapNonContained genRefMapNonContained = (GenRefMapNonContained)theEObject;
+ T result = caseGenRefMapNonContained(genRefMapNonContained);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.STRING_TO_EOBJECT:
+ {
+ @SuppressWarnings("unchecked")
+ Map.Entry<String, EObject> stringToEObject = (Map.Entry<String, EObject>)theEObject;
+ T result = caseStringToEObject(stringToEObject);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Single Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Single Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefSingleContained(RefSingleContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Single Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Single Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSingleContainedElement(SingleContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Single Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Single Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefSingleNonContained(RefSingleNonContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Single Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Single Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSingleNonContainedElement(SingleNonContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiContained(RefMultiContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Multi Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiContainedElement(MultiContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiNonContained(RefMultiNonContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Multi Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiNonContainedElement(MultiNonContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Non Contained Unsettable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Non Contained Unsettable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiNonContainedUnsettable(RefMultiNonContainedUnsettable object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Non Contained Unsettable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Multi Non Contained Unsettable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiNonContainedUnsettableElement(MultiNonContainedUnsettableElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Single Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Single Contained NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefSingleContainedNPL(RefSingleContainedNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Single Non Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Single Non Contained NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefSingleNonContainedNPL(RefSingleNonContainedNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Contained NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiContainedNPL(RefMultiContainedNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Non Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Non Contained NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiNonContainedNPL(RefMultiNonContainedNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Contained Element No Opposite</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Contained Element No Opposite</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainedElementNoOpposite(ContainedElementNoOpposite object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Single Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Single Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefSingleContained(GenRefSingleContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Single Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Single Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefSingleNonContained(GenRefSingleNonContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Multi Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Multi Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefMultiContained(GenRefMultiContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Multi Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Multi Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefMultiNonContained(GenRefMultiNonContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefContainer(ImplSingleRefContainer object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefContainedElement(ImplSingleRefContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefNonContainer(ImplSingleRefNonContainer object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefNonContainedElement(ImplSingleRefNonContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefNonContainer(ImplMultiRefNonContainer object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefNonContainedElement(ImplMultiRefNonContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefContainer(ImplMultiRefContainer object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefContainedElement(ImplMultiRefContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefContainerNPL(ImplSingleRefContainerNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Non Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefNonContainerNPL(ImplSingleRefNonContainerNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefContainerNPL(ImplMultiRefContainerNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefNonContainerNPL(ImplMultiRefNonContainerNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Contained Element NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Contained Element NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplContainedElementNPL(ImplContainedElementNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Multi NU Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Multi NU Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefMultiNUNonContained(GenRefMultiNUNonContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Map Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Map Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefMapNonContained(GenRefMapNonContained object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>String To EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>String To EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStringToEObject(Map.Entry<String, EObject> object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefContainer(ISingleRefContainer object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefContainedElement(ISingleRefContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefNonContainer(ISingleRefNonContainer object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefNonContainedElement(ISingleRefNonContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefNonContainer(IMultiRefNonContainer object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefNonContainedElement(IMultiRefNonContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefContainer(IMultiRefContainer object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefContainedElement(IMultiRefContainedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefContainerNPL(ISingleRefContainerNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Non Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefNonContainerNPL(ISingleRefNonContainerNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefContainerNPL(IMultiRefContainerNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Non Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefNonContainerNPL(IMultiRefNonContainerNPL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IContained Element No Parent Link</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IContained Element No Parent Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIContainedElementNoParentLink(IContainedElementNoParentLink object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>INamed Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>INamed Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseINamedElement(INamedElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} //model4Switch

Back to the top