Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-08-14 13:12:54 -0400
committerEike Stepper2010-08-14 13:12:54 -0400
commitb07523f7f8096d85eefac20bbdababd7708aa5cf (patch)
tree93cfd5dea703cab86c82fe309c2b14dfc96dc6be /plugins/org.eclipse.emf.cdo.tests.model3
parent2639ea996e124faea0f77f6bb9d6d13490ad9cca (diff)
downloadcdo-b07523f7f8096d85eefac20bbdababd7708aa5cf.tar.gz
cdo-b07523f7f8096d85eefac20bbdababd7708aa5cf.tar.xz
cdo-b07523f7f8096d85eefac20bbdababd7708aa5cf.zip
added opposite references
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests.model3')
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java18
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java385
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java28
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java182
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java424
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java490
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java42
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java48
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java16
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java353
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java155
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java28
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java182
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java143
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java152
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java42
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java48
19 files changed, 2899 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore
index c75b28da81..0fc468f2f6 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore
@@ -33,6 +33,28 @@
eOpposite="#//NodeB/children"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NodeC">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//NodeC" containment="true" eOpposite="#//NodeC/parent"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//NodeC"
+ eOpposite="#//NodeC/children"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="otherNodes" upperBound="-1"
+ eType="#//NodeC" eOpposite="#//NodeC/oppositeNodes"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oppositeNodes" upperBound="-1"
+ eType="#//NodeC" eOpposite="#//NodeC/otherNodes"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NodeD">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//NodeD" containment="true" eOpposite="#//NodeD/parent"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//NodeD"
+ eOpposite="#//NodeD/children"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="otherNodes" upperBound="-1"
+ eType="#//NodeD" eOpposite="#//NodeD/oppositeNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oppositeNode" eType="#//NodeD"
+ eOpposite="#//NodeD/otherNodes"/>
+ </eClassifiers>
<eSubpackages name="subpackage" nsURI="http://www.eclipse.org/emf/CDO/tests/subpackage/1.0.0"
nsPrefix="subpackage">
<eClassifiers xsi:type="ecore:EClass" name="Class2">
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java
index a6c71248b5..5913fe31a2 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java
@@ -14,6 +14,8 @@ import org.eclipse.emf.cdo.tests.model3.Class1;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -82,6 +84,22 @@ public interface Model3Factory extends org.eclipse.emf.cdo.tests.model3.Model3Fa
NodeB createNodeB();
/**
+ * Returns a new object of class '<em>Node C</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Node C</em>'.
+ * @generated
+ */
+ NodeC createNodeC();
+
+ /**
+ * Returns a new object of class '<em>Node D</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Node D</em>'.
+ * @generated
+ */
+ NodeD createNodeD();
+
+ /**
* Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the package supported by this factory.
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java
index ac4338d5ac..1640dad4ef 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java
@@ -192,12 +192,20 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int NODE_A__NAME = 1;
/**
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_A__OTHER_NODES = 2;
+
+ /**
* The number of structural features of the '<em>Node A</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
* @ordered
*/
- int NODE_A_FEATURE_COUNT = 2;
+ int NODE_A_FEATURE_COUNT = 3;
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl <em>Node B</em>}' class.
@@ -243,13 +251,132 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int NODE_B_FEATURE_COUNT = 3;
/**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl <em>Node C</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeC()
+ * @generated
+ */
+ int NODE_C = 6;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__CHILDREN = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__PARENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__OTHER_NODES = 3;
+
+ /**
+ * The feature id for the '<em><b>Opposite Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__OPPOSITE_NODES = 4;
+
+ /**
+ * The number of structural features of the '<em>Node C</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl <em>Node D</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeD()
+ * @generated
+ */
+ int NODE_D = 7;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__CHILDREN = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__PARENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__OTHER_NODES = 3;
+
+ /**
+ * The feature id for the '<em><b>Opposite Node</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__OPPOSITE_NODE = 4;
+
+ /**
+ * The number of structural features of the '<em>Node D</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D_FEATURE_COUNT = 5;
+
+ /**
* The meta object id for the '<em>Point</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.emf.cdo.tests.model3.Point
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getPoint()
* @generated
*/
- int POINT = 6;
+ int POINT = 8;
/**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.Class1 <em>Class1</em>}'. <!--
@@ -370,6 +497,17 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EAttribute getNodeA_Name();
/**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getOtherNodes
+ * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Other Nodes</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getOtherNodes()
+ * @see #getNodeA()
+ * @generated
+ */
+ EReference getNodeA_OtherNodes();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB <em>Node B</em>}'. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
@@ -415,6 +553,141 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EAttribute getNodeB_Name();
/**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC <em>Node C</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node C</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeC
+ * @generated
+ */
+ EClass getNodeC();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Children</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getChildren()
+ * @see #getNodeC()
+ * @generated
+ */
+ EReference getNodeC_Children();
+
+ /**
+ * Returns the meta object for the container reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#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.model3.NodeC#getParent()
+ * @see #getNodeC()
+ * @generated
+ */
+ EReference getNodeC_Parent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#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.model3.NodeC#getName()
+ * @see #getNodeC()
+ * @generated
+ */
+ EAttribute getNodeC_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getOtherNodes
+ * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Other Nodes</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getOtherNodes()
+ * @see #getNodeC()
+ * @generated
+ */
+ EReference getNodeC_OtherNodes();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getOppositeNodes <em>Opposite Nodes</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Opposite Nodes</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getOppositeNodes()
+ * @see #getNodeC()
+ * @generated
+ */
+ EReference getNodeC_OppositeNodes();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD <em>Node D</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node D</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD
+ * @generated
+ */
+ EClass getNodeD();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Children</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getChildren()
+ * @see #getNodeD()
+ * @generated
+ */
+ EReference getNodeD_Children();
+
+ /**
+ * Returns the meta object for the container reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#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.model3.NodeD#getParent()
+ * @see #getNodeD()
+ * @generated
+ */
+ EReference getNodeD_Parent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#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.model3.NodeD#getName()
+ * @see #getNodeD()
+ * @generated
+ */
+ EAttribute getNodeD_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOtherNodes
+ * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Other Nodes</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOtherNodes()
+ * @see #getNodeD()
+ * @generated
+ */
+ EReference getNodeD_OtherNodes();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOppositeNode
+ * <em>Opposite Node</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Opposite Node</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOppositeNode()
+ * @see #getNodeD()
+ * @generated
+ */
+ EReference getNodeD_OppositeNode();
+
+ /**
* Returns the meta object for data type '{@link org.eclipse.emf.cdo.tests.model3.Point <em>Point</em>}'. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
@@ -546,6 +819,14 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EAttribute NODE_A__NAME = eINSTANCE.getNodeA_Name();
/**
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_A__OTHER_NODES = eINSTANCE.getNodeA_OtherNodes();
+
+ /**
* The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl <em>Node B</em>}'
* class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -580,6 +861,106 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EAttribute NODE_B__NAME = eINSTANCE.getNodeB_Name();
/**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl <em>Node C</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeC()
+ * @generated
+ */
+ EClass NODE_C = eINSTANCE.getNodeC();
+
+ /**
+ * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_C__CHILDREN = eINSTANCE.getNodeC_Children();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_C__PARENT = eINSTANCE.getNodeC_Parent();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_C__NAME = eINSTANCE.getNodeC_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_C__OTHER_NODES = eINSTANCE.getNodeC_OtherNodes();
+
+ /**
+ * The meta object literal for the '<em><b>Opposite Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_C__OPPOSITE_NODES = eINSTANCE.getNodeC_OppositeNodes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl <em>Node D</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeD()
+ * @generated
+ */
+ EClass NODE_D = eINSTANCE.getNodeD();
+
+ /**
+ * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_D__CHILDREN = eINSTANCE.getNodeD_Children();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_D__PARENT = eINSTANCE.getNodeD_Parent();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_D__NAME = eINSTANCE.getNodeD_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_D__OTHER_NODES = eINSTANCE.getNodeD_OtherNodes();
+
+ /**
+ * The meta object literal for the '<em><b>Opposite Node</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_D__OPPOSITE_NODE = eINSTANCE.getNodeD_OppositeNode();
+
+ /**
* The meta object literal for the '<em>Point</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.emf.cdo.tests.model3.Point
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java
index 19ae985a94..a676eecaa9 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java
@@ -16,6 +16,8 @@ import org.eclipse.emf.cdo.tests.model3.Class1;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Point;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -89,6 +91,10 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
return createNodeA();
case Model3Package.NODE_B:
return createNodeB();
+ case Model3Package.NODE_C:
+ return createNodeC();
+ case Model3Package.NODE_D:
+ return createNodeD();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -197,6 +203,28 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
+ * @generated
+ */
+ public NodeC createNodeC()
+ {
+ NodeCImpl nodeC = new NodeCImpl();
+ return nodeC;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeD createNodeD()
+ {
+ NodeDImpl nodeD = new NodeDImpl();
+ return nodeD;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated NOT
*/
public Point createPointFromString(EDataType eDataType, String initialValue)
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java
index f0d7c65de6..1540a1d8a2 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java
@@ -18,6 +18,8 @@ import org.eclipse.emf.cdo.tests.model3.Class1;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Point;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -84,6 +86,20 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
*
* @generated
*/
+ private EClass nodeCEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nodeDEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
private EDataType pointEDataType = null;
/**
@@ -323,6 +339,126 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
*
* @generated
*/
+ public EClass getNodeC()
+ {
+ return nodeCEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeC_Children()
+ {
+ return (EReference)nodeCEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeC_Parent()
+ {
+ return (EReference)nodeCEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getNodeC_Name()
+ {
+ return (EAttribute)nodeCEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeC_OtherNodes()
+ {
+ return (EReference)nodeCEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeC_OppositeNodes()
+ {
+ return (EReference)nodeCEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNodeD()
+ {
+ return nodeDEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeD_Children()
+ {
+ return (EReference)nodeDEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeD_Parent()
+ {
+ return (EReference)nodeDEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getNodeD_Name()
+ {
+ return (EAttribute)nodeDEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeD_OtherNodes()
+ {
+ return (EReference)nodeDEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeD_OppositeNode()
+ {
+ return (EReference)nodeDEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
public EDataType getPoint()
{
return pointEDataType;
@@ -380,6 +516,20 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
createEReference(nodeBEClass, NODE_B__PARENT);
createEAttribute(nodeBEClass, NODE_B__NAME);
+ nodeCEClass = createEClass(NODE_C);
+ createEReference(nodeCEClass, NODE_C__CHILDREN);
+ createEReference(nodeCEClass, NODE_C__PARENT);
+ createEAttribute(nodeCEClass, NODE_C__NAME);
+ createEReference(nodeCEClass, NODE_C__OTHER_NODES);
+ createEReference(nodeCEClass, NODE_C__OPPOSITE_NODES);
+
+ nodeDEClass = createEClass(NODE_D);
+ createEReference(nodeDEClass, NODE_D__CHILDREN);
+ createEReference(nodeDEClass, NODE_D__PARENT);
+ createEAttribute(nodeDEClass, NODE_D__NAME);
+ createEReference(nodeDEClass, NODE_D__OTHER_NODES);
+ createEReference(nodeDEClass, NODE_D__OPPOSITE_NODE);
+
// Create data types
pointEDataType = createEDataType(POINT);
}
@@ -463,6 +613,38 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
initEAttribute(getNodeB_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeB.class, !IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(nodeCEClass, NodeC.class, "NodeC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNodeC_Children(), this.getNodeC(), this.getNodeC_Parent(), "children", null, 0, -1, NodeC.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeC_Parent(), this.getNodeC(), this.getNodeC_Children(), "parent", null, 0, 1, NodeC.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNodeC_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeC.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeC_OtherNodes(), this.getNodeC(), this.getNodeC_OppositeNodes(), "otherNodes", null, 0, -1,
+ NodeC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeC_OppositeNodes(), this.getNodeC(), this.getNodeC_OtherNodes(), "oppositeNodes", null, 0, -1,
+ NodeC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nodeDEClass, NodeD.class, "NodeD", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNodeD_Children(), this.getNodeD(), this.getNodeD_Parent(), "children", null, 0, -1, NodeD.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeD_Parent(), this.getNodeD(), this.getNodeD_Children(), "parent", null, 0, 1, NodeD.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNodeD_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeD.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeD_OtherNodes(), this.getNodeD(), this.getNodeD_OppositeNode(), "otherNodes", null, 0, -1,
+ NodeD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeD_OppositeNode(), this.getNodeD(), this.getNodeD_OtherNodes(), "oppositeNode", null, 0, 1,
+ NodeD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
// Initialize data types
initEDataType(pointEDataType, Point.class, "Point", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java
new file mode 100644
index 0000000000..d2e5c68e8e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java
@@ -0,0 +1,424 @@
+/**
+ * Copyright (c) 2004 - 2010 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.legacy.model3.impl;
+
+import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+
+import org.eclipse.emf.common.notify.Notification;
+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.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Node C</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getOppositeNodes <em>Opposite Nodes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NodeCImpl extends EObjectImpl implements NodeC
+{
+ /**
+ * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getChildren()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeC> children;
+
+ /**
+ * 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 #getOtherNodes() <em>Other Nodes</em>}' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getOtherNodes()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeC> otherNodes;
+
+ /**
+ * The cached value of the '{@link #getOppositeNodes() <em>Opposite Nodes</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getOppositeNodes()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeC> oppositeNodes;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeCImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model3Package.Literals.NODE_C;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<NodeC> getChildren()
+ {
+ if (children == null)
+ {
+ children = new EObjectContainmentWithInverseEList<NodeC>(NodeC.class, this, Model3Package.NODE_C__CHILDREN,
+ Model3Package.NODE_C__PARENT);
+ }
+ return children;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeC getParent()
+ {
+ if (eContainerFeatureID() != Model3Package.NODE_C__PARENT)
+ return null;
+ return (NodeC)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetParent(NodeC newParent, NotificationChain msgs)
+ {
+ msgs = eBasicSetContainer((InternalEObject)newParent, Model3Package.NODE_C__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParent(NodeC newParent)
+ {
+ if (newParent != eInternalContainer()
+ || (eContainerFeatureID() != Model3Package.NODE_C__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, Model3Package.NODE_C__CHILDREN, NodeC.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.NODE_C__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, Model3Package.NODE_C__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<NodeC> getOtherNodes()
+ {
+ if (otherNodes == null)
+ {
+ otherNodes = new EObjectWithInverseResolvingEList.ManyInverse<NodeC>(NodeC.class, this,
+ Model3Package.NODE_C__OTHER_NODES, Model3Package.NODE_C__OPPOSITE_NODES);
+ }
+ return otherNodes;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<NodeC> getOppositeNodes()
+ {
+ if (oppositeNodes == null)
+ {
+ oppositeNodes = new EObjectWithInverseResolvingEList.ManyInverse<NodeC>(NodeC.class, this,
+ Model3Package.NODE_C__OPPOSITE_NODES, Model3Package.NODE_C__OTHER_NODES);
+ }
+ return oppositeNodes;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case Model3Package.NODE_C__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ case Model3Package.NODE_C__PARENT:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetParent((NodeC)otherEnd, msgs);
+ case Model3Package.NODE_C__OTHER_NODES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOtherNodes()).basicAdd(otherEnd, msgs);
+ case Model3Package.NODE_C__OPPOSITE_NODES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOppositeNodes()).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 Model3Package.NODE_C__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
+ case Model3Package.NODE_C__PARENT:
+ return basicSetParent(null, msgs);
+ case Model3Package.NODE_C__OTHER_NODES:
+ return ((InternalEList<?>)getOtherNodes()).basicRemove(otherEnd, msgs);
+ case Model3Package.NODE_C__OPPOSITE_NODES:
+ return ((InternalEList<?>)getOppositeNodes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs)
+ {
+ switch (eContainerFeatureID())
+ {
+ case Model3Package.NODE_C__PARENT:
+ return eInternalContainer().eInverseRemove(this, Model3Package.NODE_C__CHILDREN, NodeC.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 Model3Package.NODE_C__CHILDREN:
+ return getChildren();
+ case Model3Package.NODE_C__PARENT:
+ return getParent();
+ case Model3Package.NODE_C__NAME:
+ return getName();
+ case Model3Package.NODE_C__OTHER_NODES:
+ return getOtherNodes();
+ case Model3Package.NODE_C__OPPOSITE_NODES:
+ return getOppositeNodes();
+ }
+ 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 Model3Package.NODE_C__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends NodeC>)newValue);
+ return;
+ case Model3Package.NODE_C__PARENT:
+ setParent((NodeC)newValue);
+ return;
+ case Model3Package.NODE_C__NAME:
+ setName((String)newValue);
+ return;
+ case Model3Package.NODE_C__OTHER_NODES:
+ getOtherNodes().clear();
+ getOtherNodes().addAll((Collection<? extends NodeC>)newValue);
+ return;
+ case Model3Package.NODE_C__OPPOSITE_NODES:
+ getOppositeNodes().clear();
+ getOppositeNodes().addAll((Collection<? extends NodeC>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model3Package.NODE_C__CHILDREN:
+ getChildren().clear();
+ return;
+ case Model3Package.NODE_C__PARENT:
+ setParent((NodeC)null);
+ return;
+ case Model3Package.NODE_C__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case Model3Package.NODE_C__OTHER_NODES:
+ getOtherNodes().clear();
+ return;
+ case Model3Package.NODE_C__OPPOSITE_NODES:
+ getOppositeNodes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model3Package.NODE_C__CHILDREN:
+ return children != null && !children.isEmpty();
+ case Model3Package.NODE_C__PARENT:
+ return getParent() != null;
+ case Model3Package.NODE_C__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case Model3Package.NODE_C__OTHER_NODES:
+ return otherNodes != null && !otherNodes.isEmpty();
+ case Model3Package.NODE_C__OPPOSITE_NODES:
+ return oppositeNodes != null && !oppositeNodes.isEmpty();
+ }
+ 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();
+ }
+
+} // NodeCImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java
new file mode 100644
index 0000000000..c40b36fbf2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java
@@ -0,0 +1,490 @@
+/**
+ * Copyright (c) 2004 - 2010 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.legacy.model3.impl;
+
+import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
+
+import org.eclipse.emf.common.notify.Notification;
+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.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Node D</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getOppositeNode <em>Opposite Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NodeDImpl extends EObjectImpl implements NodeD
+{
+ /**
+ * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getChildren()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeD> children;
+
+ /**
+ * 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 #getOtherNodes() <em>Other Nodes</em>}' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getOtherNodes()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeD> otherNodes;
+
+ /**
+ * The cached value of the '{@link #getOppositeNode() <em>Opposite Node</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOppositeNode()
+ * @generated
+ * @ordered
+ */
+ protected NodeD oppositeNode;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeDImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model3Package.Literals.NODE_D;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<NodeD> getChildren()
+ {
+ if (children == null)
+ {
+ children = new EObjectContainmentWithInverseEList<NodeD>(NodeD.class, this, Model3Package.NODE_D__CHILDREN,
+ Model3Package.NODE_D__PARENT);
+ }
+ return children;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeD getParent()
+ {
+ if (eContainerFeatureID() != Model3Package.NODE_D__PARENT)
+ return null;
+ return (NodeD)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetParent(NodeD newParent, NotificationChain msgs)
+ {
+ msgs = eBasicSetContainer((InternalEObject)newParent, Model3Package.NODE_D__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParent(NodeD newParent)
+ {
+ if (newParent != eInternalContainer()
+ || (eContainerFeatureID() != Model3Package.NODE_D__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, Model3Package.NODE_D__CHILDREN, NodeD.class, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.NODE_D__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, Model3Package.NODE_D__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<NodeD> getOtherNodes()
+ {
+ if (otherNodes == null)
+ {
+ otherNodes = new EObjectWithInverseResolvingEList<NodeD>(NodeD.class, this, Model3Package.NODE_D__OTHER_NODES,
+ Model3Package.NODE_D__OPPOSITE_NODE);
+ }
+ return otherNodes;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeD getOppositeNode()
+ {
+ if (oppositeNode != null && oppositeNode.eIsProxy())
+ {
+ InternalEObject oldOppositeNode = (InternalEObject)oppositeNode;
+ oppositeNode = (NodeD)eResolveProxy(oldOppositeNode);
+ if (oppositeNode != oldOppositeNode)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, Model3Package.NODE_D__OPPOSITE_NODE,
+ oldOppositeNode, oppositeNode));
+ }
+ }
+ return oppositeNode;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeD basicGetOppositeNode()
+ {
+ return oppositeNode;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetOppositeNode(NodeD newOppositeNode, NotificationChain msgs)
+ {
+ NodeD oldOppositeNode = oppositeNode;
+ oppositeNode = newOppositeNode;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ Model3Package.NODE_D__OPPOSITE_NODE, oldOppositeNode, newOppositeNode);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOppositeNode(NodeD newOppositeNode)
+ {
+ if (newOppositeNode != oppositeNode)
+ {
+ NotificationChain msgs = null;
+ if (oppositeNode != null)
+ msgs = ((InternalEObject)oppositeNode).eInverseRemove(this, Model3Package.NODE_D__OTHER_NODES, NodeD.class,
+ msgs);
+ if (newOppositeNode != null)
+ msgs = ((InternalEObject)newOppositeNode).eInverseAdd(this, Model3Package.NODE_D__OTHER_NODES, NodeD.class,
+ msgs);
+ msgs = basicSetOppositeNode(newOppositeNode, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.NODE_D__OPPOSITE_NODE, newOppositeNode,
+ newOppositeNode));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case Model3Package.NODE_D__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ case Model3Package.NODE_D__PARENT:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetParent((NodeD)otherEnd, msgs);
+ case Model3Package.NODE_D__OTHER_NODES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOtherNodes()).basicAdd(otherEnd, msgs);
+ case Model3Package.NODE_D__OPPOSITE_NODE:
+ if (oppositeNode != null)
+ msgs = ((InternalEObject)oppositeNode).eInverseRemove(this, Model3Package.NODE_D__OTHER_NODES, NodeD.class,
+ msgs);
+ return basicSetOppositeNode((NodeD)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 Model3Package.NODE_D__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
+ case Model3Package.NODE_D__PARENT:
+ return basicSetParent(null, msgs);
+ case Model3Package.NODE_D__OTHER_NODES:
+ return ((InternalEList<?>)getOtherNodes()).basicRemove(otherEnd, msgs);
+ case Model3Package.NODE_D__OPPOSITE_NODE:
+ return basicSetOppositeNode(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs)
+ {
+ switch (eContainerFeatureID())
+ {
+ case Model3Package.NODE_D__PARENT:
+ return eInternalContainer().eInverseRemove(this, Model3Package.NODE_D__CHILDREN, NodeD.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 Model3Package.NODE_D__CHILDREN:
+ return getChildren();
+ case Model3Package.NODE_D__PARENT:
+ return getParent();
+ case Model3Package.NODE_D__NAME:
+ return getName();
+ case Model3Package.NODE_D__OTHER_NODES:
+ return getOtherNodes();
+ case Model3Package.NODE_D__OPPOSITE_NODE:
+ if (resolve)
+ return getOppositeNode();
+ return basicGetOppositeNode();
+ }
+ 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 Model3Package.NODE_D__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends NodeD>)newValue);
+ return;
+ case Model3Package.NODE_D__PARENT:
+ setParent((NodeD)newValue);
+ return;
+ case Model3Package.NODE_D__NAME:
+ setName((String)newValue);
+ return;
+ case Model3Package.NODE_D__OTHER_NODES:
+ getOtherNodes().clear();
+ getOtherNodes().addAll((Collection<? extends NodeD>)newValue);
+ return;
+ case Model3Package.NODE_D__OPPOSITE_NODE:
+ setOppositeNode((NodeD)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model3Package.NODE_D__CHILDREN:
+ getChildren().clear();
+ return;
+ case Model3Package.NODE_D__PARENT:
+ setParent((NodeD)null);
+ return;
+ case Model3Package.NODE_D__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case Model3Package.NODE_D__OTHER_NODES:
+ getOtherNodes().clear();
+ return;
+ case Model3Package.NODE_D__OPPOSITE_NODE:
+ setOppositeNode((NodeD)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model3Package.NODE_D__CHILDREN:
+ return children != null && !children.isEmpty();
+ case Model3Package.NODE_D__PARENT:
+ return getParent() != null;
+ case Model3Package.NODE_D__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case Model3Package.NODE_D__OTHER_NODES:
+ return otherNodes != null && !otherNodes.isEmpty();
+ case Model3Package.NODE_D__OPPOSITE_NODE:
+ return oppositeNode != 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();
+ }
+
+} // NodeDImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java
index a84ab31b39..97da57b11e 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java
@@ -15,6 +15,8 @@ import org.eclipse.emf.cdo.tests.model3.Class1;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -118,6 +120,18 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
@Override
+ public Adapter caseNodeC(NodeC object)
+ {
+ return createNodeCAdapter();
+ }
+
+ @Override
+ public Adapter caseNodeD(NodeD object)
+ {
+ return createNodeDAdapter();
+ }
+
+ @Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
@@ -224,6 +238,34 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC <em>Node C</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.legacy.model3.NodeC
+ * @generated
+ */
+ public Adapter createNodeCAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD <em>Node D</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.legacy.model3.NodeD
+ * @generated
+ */
+ public Adapter createNodeDAdapter()
+ {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null. <!--
* end-user-doc -->
*
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java
index 7d9aacf449..0ab8e39b1d 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java
@@ -15,6 +15,8 @@ import org.eclipse.emf.cdo.tests.model3.Class1;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -145,6 +147,22 @@ public class Model3Switch<T>
result = defaultCase(theEObject);
return result;
}
+ case Model3Package.NODE_C:
+ {
+ NodeC nodeC = (NodeC)theEObject;
+ T result = caseNodeC(nodeC);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case Model3Package.NODE_D:
+ {
+ NodeD nodeD = (NodeD)theEObject;
+ T result = caseNodeD(nodeD);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
default:
return defaultCase(theEObject);
}
@@ -242,6 +260,36 @@ public class Model3Switch<T>
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Node C</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>Node C</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeC(NodeC object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node D</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>Node D</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeD(NodeD 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 -->
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java
index e50d60a250..7865ee76b2 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java
@@ -77,6 +77,22 @@ public interface Model3Factory extends EFactory
NodeB createNodeB();
/**
+ * Returns a new object of class '<em>Node C</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Node C</em>'.
+ * @generated
+ */
+ NodeC createNodeC();
+
+ /**
+ * Returns a new object of class '<em>Node D</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Node D</em>'.
+ * @generated
+ */
+ NodeD createNodeD();
+
+ /**
* Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the package supported by this factory.
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java
index 6b3ba686fc..6ba25c4e7d 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java
@@ -252,13 +252,132 @@ public interface Model3Package extends EPackage
int NODE_B_FEATURE_COUNT = 3;
/**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl <em>Node C</em>}' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl
+ * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeC()
+ * @generated
+ */
+ int NODE_C = 6;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__CHILDREN = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__PARENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__OTHER_NODES = 3;
+
+ /**
+ * The feature id for the '<em><b>Opposite Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C__OPPOSITE_NODES = 4;
+
+ /**
+ * The number of structural features of the '<em>Node C</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_C_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl <em>Node D</em>}' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl
+ * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeD()
+ * @generated
+ */
+ int NODE_D = 7;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__CHILDREN = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__PARENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__OTHER_NODES = 3;
+
+ /**
+ * The feature id for the '<em><b>Opposite Node</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D__OPPOSITE_NODE = 4;
+
+ /**
+ * The number of structural features of the '<em>Node D</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_D_FEATURE_COUNT = 5;
+
+ /**
* The meta object id for the '<em>Point</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.emf.cdo.tests.model3.Point
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getPoint()
* @generated
*/
- int POINT = 6;
+ int POINT = 8;
/**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.Class1 <em>Class1</em>}'. <!--
@@ -434,6 +553,138 @@ public interface Model3Package extends EPackage
EAttribute getNodeB_Name();
/**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.NodeC <em>Node C</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node C</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.NodeC
+ * @generated
+ */
+ EClass getNodeC();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Children</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.NodeC#getChildren()
+ * @see #getNodeC()
+ * @generated
+ */
+ EReference getNodeC_Children();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeC#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.model3.NodeC#getParent()
+ * @see #getNodeC()
+ * @generated
+ */
+ EReference getNodeC_Parent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.NodeC#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.model3.NodeC#getName()
+ * @see #getNodeC()
+ * @generated
+ */
+ EAttribute getNodeC_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes
+ * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Other Nodes</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes()
+ * @see #getNodeC()
+ * @generated
+ */
+ EReference getNodeC_OtherNodes();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes
+ * <em>Opposite Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Opposite Nodes</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes()
+ * @see #getNodeC()
+ * @generated
+ */
+ EReference getNodeC_OppositeNodes();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.NodeD <em>Node D</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node D</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.NodeD
+ * @generated
+ */
+ EClass getNodeD();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Children</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.NodeD#getChildren()
+ * @see #getNodeD()
+ * @generated
+ */
+ EReference getNodeD_Children();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeD#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.model3.NodeD#getParent()
+ * @see #getNodeD()
+ * @generated
+ */
+ EReference getNodeD_Parent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.NodeD#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.model3.NodeD#getName()
+ * @see #getNodeD()
+ * @generated
+ */
+ EAttribute getNodeD_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes
+ * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Other Nodes</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes()
+ * @see #getNodeD()
+ * @generated
+ */
+ EReference getNodeD_OtherNodes();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode
+ * <em>Opposite Node</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Opposite Node</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode()
+ * @see #getNodeD()
+ * @generated
+ */
+ EReference getNodeD_OppositeNode();
+
+ /**
* Returns the meta object for data type '{@link org.eclipse.emf.cdo.tests.model3.Point <em>Point</em>}'. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
@@ -607,6 +858,106 @@ public interface Model3Package extends EPackage
EAttribute NODE_B__NAME = eINSTANCE.getNodeB_Name();
/**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl <em>Node C</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl
+ * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeC()
+ * @generated
+ */
+ EClass NODE_C = eINSTANCE.getNodeC();
+
+ /**
+ * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_C__CHILDREN = eINSTANCE.getNodeC_Children();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_C__PARENT = eINSTANCE.getNodeC_Parent();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_C__NAME = eINSTANCE.getNodeC_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_C__OTHER_NODES = eINSTANCE.getNodeC_OtherNodes();
+
+ /**
+ * The meta object literal for the '<em><b>Opposite Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_C__OPPOSITE_NODES = eINSTANCE.getNodeC_OppositeNodes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl <em>Node D</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl
+ * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeD()
+ * @generated
+ */
+ EClass NODE_D = eINSTANCE.getNodeD();
+
+ /**
+ * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_D__CHILDREN = eINSTANCE.getNodeD_Children();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_D__PARENT = eINSTANCE.getNodeD_Parent();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_D__NAME = eINSTANCE.getNodeD_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_D__OTHER_NODES = eINSTANCE.getNodeD_OtherNodes();
+
+ /**
+ * The meta object literal for the '<em><b>Opposite Node</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_D__OPPOSITE_NODE = eINSTANCE.getNodeD_OppositeNode();
+
+ /**
* The meta object literal for the '<em>Point</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.emf.cdo.tests.model3.Point
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java
new file mode 100644
index 0000000000..d2455ef3a8
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright (c) 2004 - 2010 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.model3;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Node C</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes <em>Opposite Nodes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC()
+ * @model
+ * @generated
+ */
+public interface NodeC extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Children</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeC}. It is bidirectional and its opposite is '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Children</em>' containment reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Children</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_Children()
+ * @see org.eclipse.emf.cdo.tests.model3.NodeC#getParent
+ * @model opposite="parent" containment="true"
+ * @generated
+ */
+ EList<NodeC> getChildren();
+
+ /**
+ * Returns the value of the '<em><b>Parent</b></em>' container reference. It is bidirectional and its opposite is '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent</em>' container reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Parent</em>' container reference.
+ * @see #setParent(NodeC)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_Parent()
+ * @see org.eclipse.emf.cdo.tests.model3.NodeC#getChildren
+ * @model opposite="children" transient="false"
+ * @generated
+ */
+ NodeC getParent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}' container
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Parent</em>' container reference.
+ * @see #getParent()
+ * @generated
+ */
+ void setParent(NodeC value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getName <em>Name</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Other Nodes</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeC}. It is bidirectional and its opposite is '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes <em>Opposite Nodes</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Other Nodes</em>' reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Other Nodes</em>' reference list.
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_OtherNodes()
+ * @see org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes
+ * @model opposite="oppositeNodes"
+ * @generated
+ */
+ EList<NodeC> getOtherNodes();
+
+ /**
+ * Returns the value of the '<em><b>Opposite Nodes</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeC}. It is bidirectional and its opposite is '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes <em>Other Nodes</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Opposite Nodes</em>' reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Opposite Nodes</em>' reference list.
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_OppositeNodes()
+ * @see org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes
+ * @model opposite="otherNodes"
+ * @generated
+ */
+ EList<NodeC> getOppositeNodes();
+
+} // NodeC
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java
new file mode 100644
index 0000000000..4209fe3424
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java
@@ -0,0 +1,155 @@
+/**
+ * Copyright (c) 2004 - 2010 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.model3;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Node D</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD()
+ * @model
+ * @generated
+ */
+public interface NodeD extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Children</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeD}. It is bidirectional and its opposite is '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Children</em>' containment reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Children</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_Children()
+ * @see org.eclipse.emf.cdo.tests.model3.NodeD#getParent
+ * @model opposite="parent" containment="true"
+ * @generated
+ */
+ EList<NodeD> getChildren();
+
+ /**
+ * Returns the value of the '<em><b>Parent</b></em>' container reference. It is bidirectional and its opposite is '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent</em>' container reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Parent</em>' container reference.
+ * @see #setParent(NodeD)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_Parent()
+ * @see org.eclipse.emf.cdo.tests.model3.NodeD#getChildren
+ * @model opposite="children" transient="false"
+ * @generated
+ */
+ NodeD getParent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}' container
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Parent</em>' container reference.
+ * @see #getParent()
+ * @generated
+ */
+ void setParent(NodeD value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getName <em>Name</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Other Nodes</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeD}. It is bidirectional and its opposite is '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Other Nodes</em>' reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Other Nodes</em>' reference list.
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_OtherNodes()
+ * @see org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode
+ * @model opposite="oppositeNode"
+ * @generated
+ */
+ EList<NodeD> getOtherNodes();
+
+ /**
+ * Returns the value of the '<em><b>Opposite Node</b></em>' reference. It is bidirectional and its opposite is '
+ * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes <em>Other Nodes</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Opposite Node</em>' reference isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Opposite Node</em>' reference.
+ * @see #setOppositeNode(NodeD)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_OppositeNode()
+ * @see org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes
+ * @model opposite="otherNodes"
+ * @generated
+ */
+ NodeD getOppositeNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Opposite Node</em>' reference.
+ * @see #getOppositeNode()
+ * @generated
+ */
+ void setOppositeNode(NodeD value);
+
+} // NodeD
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java
index 4bc297960c..469503c9ca 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java
@@ -16,6 +16,8 @@ import org.eclipse.emf.cdo.tests.model3.Model3Factory;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Point;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -89,6 +91,10 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
return createNodeA();
case Model3Package.NODE_B:
return createNodeB();
+ case Model3Package.NODE_C:
+ return createNodeC();
+ case Model3Package.NODE_D:
+ return createNodeD();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -197,6 +203,28 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
+ * @generated
+ */
+ public NodeC createNodeC()
+ {
+ NodeCImpl nodeC = new NodeCImpl();
+ return nodeC;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeD createNodeD()
+ {
+ NodeDImpl nodeD = new NodeDImpl();
+ return nodeD;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated NOT
*/
public Point createPointFromString(EDataType eDataType, String initialValue)
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java
index 39842e3a4a..ddcb08dd06 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java
@@ -16,6 +16,8 @@ import org.eclipse.emf.cdo.tests.model3.Model3Factory;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Point;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -84,6 +86,20 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
*
* @generated
*/
+ private EClass nodeCEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nodeDEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
private EDataType pointEDataType = null;
/**
@@ -323,6 +339,126 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
*
* @generated
*/
+ public EClass getNodeC()
+ {
+ return nodeCEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeC_Children()
+ {
+ return (EReference)nodeCEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeC_Parent()
+ {
+ return (EReference)nodeCEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getNodeC_Name()
+ {
+ return (EAttribute)nodeCEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeC_OtherNodes()
+ {
+ return (EReference)nodeCEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeC_OppositeNodes()
+ {
+ return (EReference)nodeCEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNodeD()
+ {
+ return nodeDEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeD_Children()
+ {
+ return (EReference)nodeDEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeD_Parent()
+ {
+ return (EReference)nodeDEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getNodeD_Name()
+ {
+ return (EAttribute)nodeDEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeD_OtherNodes()
+ {
+ return (EReference)nodeDEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNodeD_OppositeNode()
+ {
+ return (EReference)nodeDEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
public EDataType getPoint()
{
return pointEDataType;
@@ -380,6 +516,20 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
createEReference(nodeBEClass, NODE_B__PARENT);
createEAttribute(nodeBEClass, NODE_B__NAME);
+ nodeCEClass = createEClass(NODE_C);
+ createEReference(nodeCEClass, NODE_C__CHILDREN);
+ createEReference(nodeCEClass, NODE_C__PARENT);
+ createEAttribute(nodeCEClass, NODE_C__NAME);
+ createEReference(nodeCEClass, NODE_C__OTHER_NODES);
+ createEReference(nodeCEClass, NODE_C__OPPOSITE_NODES);
+
+ nodeDEClass = createEClass(NODE_D);
+ createEReference(nodeDEClass, NODE_D__CHILDREN);
+ createEReference(nodeDEClass, NODE_D__PARENT);
+ createEAttribute(nodeDEClass, NODE_D__NAME);
+ createEReference(nodeDEClass, NODE_D__OTHER_NODES);
+ createEReference(nodeDEClass, NODE_D__OPPOSITE_NODE);
+
// Create data types
pointEDataType = createEDataType(POINT);
}
@@ -463,6 +613,38 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
initEAttribute(getNodeB_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeB.class, !IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(nodeCEClass, NodeC.class, "NodeC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNodeC_Children(), this.getNodeC(), this.getNodeC_Parent(), "children", null, 0, -1, NodeC.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeC_Parent(), this.getNodeC(), this.getNodeC_Children(), "parent", null, 0, 1, NodeC.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNodeC_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeC.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeC_OtherNodes(), this.getNodeC(), this.getNodeC_OppositeNodes(), "otherNodes", null, 0, -1,
+ NodeC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeC_OppositeNodes(), this.getNodeC(), this.getNodeC_OtherNodes(), "oppositeNodes", null, 0, -1,
+ NodeC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nodeDEClass, NodeD.class, "NodeD", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNodeD_Children(), this.getNodeD(), this.getNodeD_Parent(), "children", null, 0, -1, NodeD.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeD_Parent(), this.getNodeD(), this.getNodeD_Children(), "parent", null, 0, 1, NodeD.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNodeD_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeD.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeD_OtherNodes(), this.getNodeD(), this.getNodeD_OppositeNode(), "otherNodes", null, 0, -1,
+ NodeD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeD_OppositeNode(), this.getNodeD(), this.getNodeD_OtherNodes(), "oppositeNode", null, 0, 1,
+ NodeD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
// Initialize data types
initEDataType(pointEDataType, Point.class, "Point", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java
new file mode 100644
index 0000000000..7f179afdf1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java
@@ -0,0 +1,143 @@
+/**
+ * Copyright (c) 2004 - 2010 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.model3.impl;
+
+import org.eclipse.emf.cdo.tests.model3.Model3Package;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Node C</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getOppositeNodes <em>Opposite Nodes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NodeCImpl extends CDOObjectImpl implements NodeC
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeCImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model3Package.Literals.NODE_C;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NodeC> getChildren()
+ {
+ return (EList<NodeC>)eGet(Model3Package.Literals.NODE_C__CHILDREN, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeC getParent()
+ {
+ return (NodeC)eGet(Model3Package.Literals.NODE_C__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParent(NodeC newParent)
+ {
+ eSet(Model3Package.Literals.NODE_C__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName()
+ {
+ return (String)eGet(Model3Package.Literals.NODE_C__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ eSet(Model3Package.Literals.NODE_C__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NodeC> getOtherNodes()
+ {
+ return (EList<NodeC>)eGet(Model3Package.Literals.NODE_C__OTHER_NODES, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NodeC> getOppositeNodes()
+ {
+ return (EList<NodeC>)eGet(Model3Package.Literals.NODE_C__OPPOSITE_NODES, true);
+ }
+
+} // NodeCImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java
new file mode 100644
index 0000000000..4e90a8c9cc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java
@@ -0,0 +1,152 @@
+/**
+ * Copyright (c) 2004 - 2010 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.model3.impl;
+
+import org.eclipse.emf.cdo.tests.model3.Model3Package;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Node D</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getOppositeNode <em>Opposite Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NodeDImpl extends CDOObjectImpl implements NodeD
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeDImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model3Package.Literals.NODE_D;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NodeD> getChildren()
+ {
+ return (EList<NodeD>)eGet(Model3Package.Literals.NODE_D__CHILDREN, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeD getParent()
+ {
+ return (NodeD)eGet(Model3Package.Literals.NODE_D__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParent(NodeD newParent)
+ {
+ eSet(Model3Package.Literals.NODE_D__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName()
+ {
+ return (String)eGet(Model3Package.Literals.NODE_D__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ eSet(Model3Package.Literals.NODE_D__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NodeD> getOtherNodes()
+ {
+ return (EList<NodeD>)eGet(Model3Package.Literals.NODE_D__OTHER_NODES, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeD getOppositeNode()
+ {
+ return (NodeD)eGet(Model3Package.Literals.NODE_D__OPPOSITE_NODE, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOppositeNode(NodeD newOppositeNode)
+ {
+ eSet(Model3Package.Literals.NODE_D__OPPOSITE_NODE, newOppositeNode);
+ }
+
+} // NodeDImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java
index 1ff7a28b37..fa26d8382d 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java
@@ -15,6 +15,8 @@ import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -118,6 +120,18 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
@Override
+ public Adapter caseNodeC(NodeC object)
+ {
+ return createNodeCAdapter();
+ }
+
+ @Override
+ public Adapter caseNodeD(NodeD object)
+ {
+ return createNodeDAdapter();
+ }
+
+ @Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
@@ -224,6 +238,34 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.NodeC <em>Node C</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.model3.NodeC
+ * @generated
+ */
+ public Adapter createNodeCAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.NodeD <em>Node D</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.model3.NodeD
+ * @generated
+ */
+ public Adapter createNodeDAdapter()
+ {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null. <!--
* end-user-doc -->
*
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java
index 90f2a73bc6..f6b41bcd30 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java
@@ -15,6 +15,8 @@ import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
+import org.eclipse.emf.cdo.tests.model3.NodeC;
+import org.eclipse.emf.cdo.tests.model3.NodeD;
import org.eclipse.emf.cdo.tests.model3.Polygon;
import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates;
@@ -145,6 +147,22 @@ public class Model3Switch<T>
result = defaultCase(theEObject);
return result;
}
+ case Model3Package.NODE_C:
+ {
+ NodeC nodeC = (NodeC)theEObject;
+ T result = caseNodeC(nodeC);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case Model3Package.NODE_D:
+ {
+ NodeD nodeD = (NodeD)theEObject;
+ T result = caseNodeD(nodeD);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
default:
return defaultCase(theEObject);
}
@@ -242,6 +260,36 @@ public class Model3Switch<T>
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Node C</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>Node C</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeC(NodeC object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node D</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>Node D</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeD(NodeD 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 -->

Back to the top