diff options
author | Martin Fluegge | 2010-06-13 15:30:15 +0000 |
---|---|---|
committer | Martin Fluegge | 2010-06-13 15:30:15 +0000 |
commit | fdc02ab5aca3eba6c8c036d6805c62ffe87b85d2 (patch) | |
tree | d227112abfa81a89b16c852e820103479717ba2b /plugins/org.eclipse.emf.cdo.tests.model3 | |
parent | ce15b596b39d66cc28c63e8368cd49b171b02e3b (diff) | |
download | cdo-fdc02ab5aca3eba6c8c036d6805c62ffe87b85d2.tar.gz cdo-fdc02ab5aca3eba6c8c036d6805c62ffe87b85d2.tar.xz cdo-fdc02ab5aca3eba6c8c036d6805c62ffe87b85d2.zip |
Extended test model 3 to provide classes for creating simple containment trees.
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests.model3')
19 files changed, 1923 insertions, 6 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 b03a413c2a..0c28dc808a 100644 --- a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore +++ b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore @@ -19,6 +19,18 @@ <eStructuralFeatures xsi:type="ecore:EAttribute" name="points" unique="false" lowerBound="1" upperBound="-1" eType="#//Point"/> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NodeA"> + <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" + eType="#//NodeA" containment="true"/> + <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="NodeB"> + <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" + eType="#//NodeB" containment="true" eOpposite="#//NodeB/parent"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//NodeB" + eOpposite="#//NodeB/children"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> + </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 3b3b49c693..a6c71248b5 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 @@ -12,6 +12,8 @@ package org.eclipse.emf.cdo.tests.legacy.model3; 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.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -64,6 +66,22 @@ public interface Model3Factory extends org.eclipse.emf.cdo.tests.model3.Model3Fa PolygonWithDuplicates createPolygonWithDuplicates(); /** + * Returns a new object of class '<em>Node A</em>'. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @return a new object of class '<em>Node A</em>'. + * @generated + */ + NodeA createNodeA(); + + /** + * Returns a new object of class '<em>Node B</em>'. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @return a new object of class '<em>Node B</em>'. + * @generated + */ + NodeB createNodeB(); + + /** * 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 e9271fa2ac..ac4338d5ac 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 @@ -165,13 +165,91 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa int POLYGON_WITH_DUPLICATES_FEATURE_COUNT = 1; /** + * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl <em>Node A</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl + * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeA() + * @generated + */ + int NODE_A = 4; + + /** + * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_A__CHILDREN = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_A__NAME = 1; + + /** + * 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; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl <em>Node B</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl + * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeB() + * @generated + */ + int NODE_B = 5; + + /** + * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_B__CHILDREN = 0; + + /** + * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_B__PARENT = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_B__NAME = 2; + + /** + * The number of structural features of the '<em>Node B</em>' class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_B_FEATURE_COUNT = 3; + + /** * 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 = 4; + int POINT = 6; /** * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.Class1 <em>Class1</em>}'. <!-- @@ -259,6 +337,84 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa EAttribute getPolygonWithDuplicates_Points(); /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA <em>Node A</em>}'. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @return the meta object for class '<em>Node A</em>'. + * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeA + * @generated + */ + EClass getNodeA(); + + /** + * Returns the meta object for the containment reference list ' + * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#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.NodeA#getChildren() + * @see #getNodeA() + * @generated + */ + EReference getNodeA_Children(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#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.NodeA#getName() + * @see #getNodeA() + * @generated + */ + EAttribute getNodeA_Name(); + + /** + * 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 --> + * + * @return the meta object for class '<em>Node B</em>'. + * @see org.eclipse.emf.cdo.tests.legacy.model3.NodeB + * @generated + */ + EClass getNodeB(); + + /** + * Returns the meta object for the containment reference list ' + * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#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.NodeB#getChildren() + * @see #getNodeB() + * @generated + */ + EReference getNodeB_Children(); + + /** + * Returns the meta object for the container reference ' + * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#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.NodeB#getParent() + * @see #getNodeB() + * @generated + */ + EReference getNodeB_Parent(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#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.NodeB#getName() + * @see #getNodeB() + * @generated + */ + EAttribute getNodeB_Name(); + + /** * Returns the meta object for data type '{@link org.eclipse.emf.cdo.tests.model3.Point <em>Point</em>}'. <!-- * begin-user-doc --> <!-- end-user-doc --> * @@ -364,6 +520,66 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa EAttribute POLYGON_WITH_DUPLICATES__POINTS = eINSTANCE.getPolygonWithDuplicates_Points(); /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl <em>Node A</em>}' + * class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl + * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeA() + * @generated + */ + EClass NODE_A = eINSTANCE.getNodeA(); + + /** + * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EReference NODE_A__CHILDREN = eINSTANCE.getNodeA_Children(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + EAttribute NODE_A__NAME = eINSTANCE.getNodeA_Name(); + + /** + * 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 --> + * + * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl + * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeB() + * @generated + */ + EClass NODE_B = eINSTANCE.getNodeB(); + + /** + * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EReference NODE_B__CHILDREN = eINSTANCE.getNodeB_Children(); + + /** + * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated + */ + EReference NODE_B__PARENT = eINSTANCE.getNodeB_Parent(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + EAttribute NODE_B__NAME = eINSTANCE.getNodeB_Name(); + + /** * 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 df4c654ee3..19ae985a94 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 @@ -14,6 +14,8 @@ import org.eclipse.emf.cdo.tests.legacy.model3.Model3Factory; import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package; 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.Point; import org.eclipse.emf.cdo.tests.model3.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -83,6 +85,10 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory return createPolygon(); case Model3Package.POLYGON_WITH_DUPLICATES: return createPolygonWithDuplicates(); + case Model3Package.NODE_A: + return createNodeA(); + case Model3Package.NODE_B: + return createNodeB(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } @@ -169,6 +175,28 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory /** * <!-- begin-user-doc --> <!-- end-user-doc --> * + * @generated + */ + public NodeA createNodeA() + { + NodeAImpl nodeA = new NodeAImpl(); + return nodeA; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public NodeB createNodeB() + { + NodeBImpl nodeB = new NodeBImpl(); + return nodeB; + } + + /** + * <!-- 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 e448bbc6e6..5eaa188140 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 @@ -16,6 +16,8 @@ import org.eclipse.emf.cdo.tests.legacy.model3.subpackage.SubpackagePackage; import org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.SubpackagePackageImpl; 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.Point; import org.eclipse.emf.cdo.tests.model3.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -68,6 +70,20 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package * * @generated */ + private EClass nodeAEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + private EClass nodeBEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ private EDataType pointEDataType = null; /** @@ -230,6 +246,76 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package * * @generated */ + public EClass getNodeA() + { + return nodeAEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EReference getNodeA_Children() + { + return (EReference)nodeAEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EAttribute getNodeA_Name() + { + return (EAttribute)nodeAEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EClass getNodeB() + { + return nodeBEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EReference getNodeB_Children() + { + return (EReference)nodeBEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EReference getNodeB_Parent() + { + return (EReference)nodeBEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EAttribute getNodeB_Name() + { + return (EAttribute)nodeBEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ public EDataType getPoint() { return pointEDataType; @@ -279,6 +365,15 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package polygonWithDuplicatesEClass = createEClass(POLYGON_WITH_DUPLICATES); createEAttribute(polygonWithDuplicatesEClass, POLYGON_WITH_DUPLICATES__POINTS); + nodeAEClass = createEClass(NODE_A); + createEReference(nodeAEClass, NODE_A__CHILDREN); + createEAttribute(nodeAEClass, NODE_A__NAME); + + nodeBEClass = createEClass(NODE_B); + createEReference(nodeBEClass, NODE_B__CHILDREN); + createEReference(nodeBEClass, NODE_B__PARENT); + createEAttribute(nodeBEClass, NODE_B__NAME); + // Create data types pointEDataType = createEDataType(POINT); } @@ -343,6 +438,23 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package initEAttribute(getPolygonWithDuplicates_Points(), getPoint(), "points", null, 1, -1, PolygonWithDuplicates.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(nodeAEClass, NodeA.class, "NodeA", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNodeA_Children(), getNodeA(), null, "children", null, 0, -1, NodeA.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + initEAttribute(getNodeA_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeA.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(nodeBEClass, NodeB.class, "NodeB", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNodeB_Children(), getNodeB(), getNodeB_Parent(), "children", null, 0, -1, NodeB.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEReference(getNodeB_Parent(), getNodeB(), getNodeB_Children(), "parent", null, 0, 1, NodeB.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + 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); + // 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/NodeAImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeAImpl.java new file mode 100644 index 0000000000..69559b5553 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeAImpl.java @@ -0,0 +1,241 @@ +/** + * 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.NodeA; + +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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import java.util.Collection; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Node A</b></em>'. <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl#getChildren <em>Children</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NodeAImpl extends EObjectImpl implements NodeA +{ + /** + * 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<NodeA> 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; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected NodeAImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return Model3Package.Literals.NODE_A; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EList<NodeA> getChildren() + { + if (children == null) + { + children = new EObjectContainmentEList<NodeA>(NodeA.class, this, Model3Package.NODE_A__CHILDREN); + } + return children; + } + + /** + * <!-- 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_A__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case Model3Package.NODE_A__CHILDREN: + return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case Model3Package.NODE_A__CHILDREN: + return getChildren(); + case Model3Package.NODE_A__NAME: + return getName(); + } + 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_A__CHILDREN: + getChildren().clear(); + getChildren().addAll((Collection<? extends NodeA>)newValue); + return; + case Model3Package.NODE_A__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case Model3Package.NODE_A__CHILDREN: + getChildren().clear(); + return; + case Model3Package.NODE_A__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case Model3Package.NODE_A__CHILDREN: + return children != null && !children.isEmpty(); + case Model3Package.NODE_A__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) + return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} // NodeAImpl diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeBImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeBImpl.java new file mode 100644 index 0000000000..7e91205124 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeBImpl.java @@ -0,0 +1,341 @@ +/** + * 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.NodeB; + +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.EcoreUtil; +import org.eclipse.emf.ecore.util.InternalEList; + +import java.util.Collection; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Node B</b></em>'. <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getChildren <em>Children</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getParent <em>Parent</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NodeBImpl extends EObjectImpl implements NodeB +{ + /** + * 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<NodeB> 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; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected NodeBImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return Model3Package.Literals.NODE_B; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EList<NodeB> getChildren() + { + if (children == null) + { + children = new EObjectContainmentWithInverseEList<NodeB>(NodeB.class, this, Model3Package.NODE_B__CHILDREN, + Model3Package.NODE_B__PARENT); + } + return children; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public NodeB getParent() + { + if (eContainerFeatureID() != Model3Package.NODE_B__PARENT) + return null; + return (NodeB)eContainer(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public NotificationChain basicSetParent(NodeB newParent, NotificationChain msgs) + { + msgs = eBasicSetContainer((InternalEObject)newParent, Model3Package.NODE_B__PARENT, msgs); + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public void setParent(NodeB newParent) + { + if (newParent != eInternalContainer() + || (eContainerFeatureID() != Model3Package.NODE_B__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_B__CHILDREN, NodeB.class, msgs); + msgs = basicSetParent(newParent, msgs); + if (msgs != null) + msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.NODE_B__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_B__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case Model3Package.NODE_B__CHILDREN: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs); + case Model3Package.NODE_B__PARENT: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetParent((NodeB)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_B__CHILDREN: + return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs); + case Model3Package.NODE_B__PARENT: + return basicSetParent(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) + { + switch (eContainerFeatureID()) + { + case Model3Package.NODE_B__PARENT: + return eInternalContainer().eInverseRemove(this, Model3Package.NODE_B__CHILDREN, NodeB.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_B__CHILDREN: + return getChildren(); + case Model3Package.NODE_B__PARENT: + return getParent(); + case Model3Package.NODE_B__NAME: + return getName(); + } + 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_B__CHILDREN: + getChildren().clear(); + getChildren().addAll((Collection<? extends NodeB>)newValue); + return; + case Model3Package.NODE_B__PARENT: + setParent((NodeB)newValue); + return; + case Model3Package.NODE_B__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case Model3Package.NODE_B__CHILDREN: + getChildren().clear(); + return; + case Model3Package.NODE_B__PARENT: + setParent((NodeB)null); + return; + case Model3Package.NODE_B__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case Model3Package.NODE_B__CHILDREN: + return children != null && !children.isEmpty(); + case Model3Package.NODE_B__PARENT: + return getParent() != null; + case Model3Package.NODE_B__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) + return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} // NodeBImpl 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 f70c777127..a84ab31b39 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 @@ -13,6 +13,8 @@ package org.eclipse.emf.cdo.tests.legacy.model3.util; import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package; 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.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -104,6 +106,18 @@ public class Model3AdapterFactory extends AdapterFactoryImpl } @Override + public Adapter caseNodeA(NodeA object) + { + return createNodeAAdapter(); + } + + @Override + public Adapter caseNodeB(NodeB object) + { + return createNodeBAdapter(); + } + + @Override public Adapter defaultCase(EObject object) { return createEObjectAdapter(); @@ -182,6 +196,34 @@ public class Model3AdapterFactory extends AdapterFactoryImpl } /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA <em>Node A</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.NodeA + * @generated + */ + public Adapter createNodeAAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB <em>Node B</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.NodeB + * @generated + */ + public Adapter createNodeBAdapter() + { + 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 1fbb32c0af..d4a8d9edbe 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 @@ -13,6 +13,8 @@ package org.eclipse.emf.cdo.tests.legacy.model3.util; import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package; 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.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -135,6 +137,22 @@ public class Model3Switch<T> } return result; } + case Model3Package.NODE_A: + { + NodeA nodeA = (NodeA)theEObject; + T result = caseNodeA(nodeA); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case Model3Package.NODE_B: + { + NodeB nodeB = (NodeB)theEObject; + T result = caseNodeB(nodeB); + if (result == null) + result = defaultCase(theEObject); + return result; + } default: return defaultCase(theEObject); } @@ -202,6 +220,36 @@ public class Model3Switch<T> } /** + * Returns the result of interpreting the object as an instance of '<em>Node A</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 A</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNodeA(NodeA object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Node B</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 B</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNodeB(NodeB 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 b81a2b36fd..e50d60a250 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 @@ -61,6 +61,22 @@ public interface Model3Factory extends EFactory PolygonWithDuplicates createPolygonWithDuplicates(); /** + * Returns a new object of class '<em>Node A</em>'. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @return a new object of class '<em>Node A</em>'. + * @generated + */ + NodeA createNodeA(); + + /** + * Returns a new object of class '<em>Node B</em>'. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @return a new object of class '<em>Node B</em>'. + * @generated + */ + NodeB createNodeB(); + + /** * 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 a376280996..cb11ab92df 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 @@ -166,13 +166,91 @@ public interface Model3Package extends EPackage int POLYGON_WITH_DUPLICATES_FEATURE_COUNT = 1; /** + * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl <em>Node A</em>}' class. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl + * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeA() + * @generated + */ + int NODE_A = 4; + + /** + * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_A__CHILDREN = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_A__NAME = 1; + + /** + * 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; + + /** + * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl <em>Node B</em>}' class. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl + * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeB() + * @generated + */ + int NODE_B = 5; + + /** + * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_B__CHILDREN = 0; + + /** + * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_B__PARENT = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_B__NAME = 2; + + /** + * The number of structural features of the '<em>Node B</em>' class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int NODE_B_FEATURE_COUNT = 3; + + /** * 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 = 4; + int POINT = 6; /** * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.Class1 <em>Class1</em>}'. <!-- @@ -260,6 +338,83 @@ public interface Model3Package extends EPackage EAttribute getPolygonWithDuplicates_Points(); /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.NodeA <em>Node A</em>}'. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @return the meta object for class '<em>Node A</em>'. + * @see org.eclipse.emf.cdo.tests.model3.NodeA + * @generated + */ + EClass getNodeA(); + + /** + * Returns the meta object for the containment reference list ' + * {@link org.eclipse.emf.cdo.tests.model3.NodeA#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.NodeA#getChildren() + * @see #getNodeA() + * @generated + */ + EReference getNodeA_Children(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.NodeA#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.NodeA#getName() + * @see #getNodeA() + * @generated + */ + EAttribute getNodeA_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.NodeB <em>Node B</em>}'. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @return the meta object for class '<em>Node B</em>'. + * @see org.eclipse.emf.cdo.tests.model3.NodeB + * @generated + */ + EClass getNodeB(); + + /** + * Returns the meta object for the containment reference list ' + * {@link org.eclipse.emf.cdo.tests.model3.NodeB#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.NodeB#getChildren() + * @see #getNodeB() + * @generated + */ + EReference getNodeB_Children(); + + /** + * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeB#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.NodeB#getParent() + * @see #getNodeB() + * @generated + */ + EReference getNodeB_Parent(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.NodeB#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.NodeB#getName() + * @see #getNodeB() + * @generated + */ + EAttribute getNodeB_Name(); + + /** * Returns the meta object for data type '{@link org.eclipse.emf.cdo.tests.model3.Point <em>Point</em>}'. <!-- * begin-user-doc --> <!-- end-user-doc --> * @@ -365,6 +520,66 @@ public interface Model3Package extends EPackage EAttribute POLYGON_WITH_DUPLICATES__POINTS = eINSTANCE.getPolygonWithDuplicates_Points(); /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl <em>Node A</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @see org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl + * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeA() + * @generated + */ + EClass NODE_A = eINSTANCE.getNodeA(); + + /** + * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EReference NODE_A__CHILDREN = eINSTANCE.getNodeA_Children(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + EAttribute NODE_A__NAME = eINSTANCE.getNodeA_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl <em>Node B</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @see org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl + * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeB() + * @generated + */ + EClass NODE_B = eINSTANCE.getNodeB(); + + /** + * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EReference NODE_B__CHILDREN = eINSTANCE.getNodeB_Children(); + + /** + * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated + */ + EReference NODE_B__PARENT = eINSTANCE.getNodeB_Parent(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + EAttribute NODE_B__NAME = eINSTANCE.getNodeB_Name(); + + /** * 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/NodeA.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeA.java new file mode 100644 index 0000000000..fa60d47253 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeA.java @@ -0,0 +1,74 @@ +/** + * 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 A</b></em>'. <!-- end-user-doc --> + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeA#getChildren <em>Children</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeA#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeA() + * @model + * @generated + */ +public interface NodeA 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.NodeA}. <!-- 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#getNodeA_Children() + * @model containment="true" + * @generated + */ + EList<NodeA> getChildren(); + + /** + * 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#getNodeA_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeA#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); + +} // NodeA diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeB.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeB.java new file mode 100644 index 0000000000..1bdc4ed1cc --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeB.java @@ -0,0 +1,106 @@ +/** + * 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 B</b></em>'. <!-- end-user-doc --> + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getChildren <em>Children</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent <em>Parent</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeB() + * @model + * @generated + */ +public interface NodeB 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.NodeB}. It is bidirectional and its opposite is ' + * {@link org.eclipse.emf.cdo.tests.model3.NodeB#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#getNodeB_Children() + * @see org.eclipse.emf.cdo.tests.model3.NodeB#getParent + * @model opposite="parent" containment="true" + * @generated + */ + EList<NodeB> 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.NodeB#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(NodeB) + * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeB_Parent() + * @see org.eclipse.emf.cdo.tests.model3.NodeB#getChildren + * @model opposite="children" transient="false" + * @generated + */ + NodeB getParent(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeB#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(NodeB 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#getNodeB_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeB#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); + +} // NodeB 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 fe3f1fc962..4bc297960c 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 @@ -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.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.Point; import org.eclipse.emf.cdo.tests.model3.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -83,6 +85,10 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory return createPolygon(); case Model3Package.POLYGON_WITH_DUPLICATES: return createPolygonWithDuplicates(); + case Model3Package.NODE_A: + return createNodeA(); + case Model3Package.NODE_B: + return createNodeB(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } @@ -169,6 +175,28 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory /** * <!-- begin-user-doc --> <!-- end-user-doc --> * + * @generated + */ + public NodeA createNodeA() + { + NodeAImpl nodeA = new NodeAImpl(); + return nodeA; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public NodeB createNodeB() + { + NodeBImpl nodeB = new NodeBImpl(); + return nodeB; + } + + /** + * <!-- 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 00cb7cba32..eedcbb2d28 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 @@ -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.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.Point; import org.eclipse.emf.cdo.tests.model3.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -68,6 +70,20 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package * * @generated */ + private EClass nodeAEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + private EClass nodeBEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ private EDataType pointEDataType = null; /** @@ -230,6 +246,76 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package * * @generated */ + public EClass getNodeA() + { + return nodeAEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EReference getNodeA_Children() + { + return (EReference)nodeAEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EAttribute getNodeA_Name() + { + return (EAttribute)nodeAEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EClass getNodeB() + { + return nodeBEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EReference getNodeB_Children() + { + return (EReference)nodeBEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EReference getNodeB_Parent() + { + return (EReference)nodeBEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EAttribute getNodeB_Name() + { + return (EAttribute)nodeBEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ public EDataType getPoint() { return pointEDataType; @@ -279,6 +365,15 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package polygonWithDuplicatesEClass = createEClass(POLYGON_WITH_DUPLICATES); createEAttribute(polygonWithDuplicatesEClass, POLYGON_WITH_DUPLICATES__POINTS); + nodeAEClass = createEClass(NODE_A); + createEReference(nodeAEClass, NODE_A__CHILDREN); + createEAttribute(nodeAEClass, NODE_A__NAME); + + nodeBEClass = createEClass(NODE_B); + createEReference(nodeBEClass, NODE_B__CHILDREN); + createEReference(nodeBEClass, NODE_B__PARENT); + createEAttribute(nodeBEClass, NODE_B__NAME); + // Create data types pointEDataType = createEDataType(POINT); } @@ -335,13 +430,31 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(polygonEClass, Polygon.class, "Polygon", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getPolygon_Points(), getPoint(), "points", null, 1, -1, Polygon.class, !IS_TRANSIENT, !IS_VOLATILE, - IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getPolygon_Points(), this.getPoint(), "points", null, 1, -1, Polygon.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(polygonWithDuplicatesEClass, PolygonWithDuplicates.class, "PolygonWithDuplicates", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getPolygonWithDuplicates_Points(), getPoint(), "points", null, 1, -1, PolygonWithDuplicates.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getPolygonWithDuplicates_Points(), this.getPoint(), "points", null, 1, -1, + PolygonWithDuplicates.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + + initEClass(nodeAEClass, NodeA.class, "NodeA", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNodeA_Children(), this.getNodeA(), null, "children", null, 0, -1, NodeA.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + initEAttribute(getNodeA_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeA.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(nodeBEClass, NodeB.class, "NodeB", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNodeB_Children(), this.getNodeB(), this.getNodeB_Parent(), "children", null, 0, -1, NodeB.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEReference(getNodeB_Parent(), this.getNodeB(), this.getNodeB_Children(), "parent", null, 0, 1, NodeB.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + 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); // 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/NodeAImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeAImpl.java new file mode 100644 index 0000000000..6390769042 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeAImpl.java @@ -0,0 +1,98 @@ +/** + * 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.NodeA; + +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 A</b></em>'. <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl#getChildren <em>Children</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NodeAImpl extends CDOObjectImpl implements NodeA +{ + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected NodeAImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return Model3Package.Literals.NODE_A; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected int eStaticFeatureCount() + { + return 0; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @SuppressWarnings("unchecked") + public EList<NodeA> getChildren() + { + return (EList<NodeA>)eGet(Model3Package.Literals.NODE_A__CHILDREN, true); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public String getName() + { + return (String)eGet(Model3Package.Literals.NODE_A__NAME, true); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public void setName(String newName) + { + eSet(Model3Package.Literals.NODE_A__NAME, newName); + } + +} // NodeAImpl diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeBImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeBImpl.java new file mode 100644 index 0000000000..d59f4e3b03 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeBImpl.java @@ -0,0 +1,119 @@ +/** + * 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.NodeB; + +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 B</b></em>'. <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getChildren <em>Children</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getParent <em>Parent</em>}</li> + * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NodeBImpl extends CDOObjectImpl implements NodeB +{ + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected NodeBImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return Model3Package.Literals.NODE_B; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected int eStaticFeatureCount() + { + return 0; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @SuppressWarnings("unchecked") + public EList<NodeB> getChildren() + { + return (EList<NodeB>)eGet(Model3Package.Literals.NODE_B__CHILDREN, true); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public NodeB getParent() + { + return (NodeB)eGet(Model3Package.Literals.NODE_B__PARENT, true); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public void setParent(NodeB newParent) + { + eSet(Model3Package.Literals.NODE_B__PARENT, newParent); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public String getName() + { + return (String)eGet(Model3Package.Literals.NODE_B__NAME, true); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public void setName(String newName) + { + eSet(Model3Package.Literals.NODE_B__NAME, newName); + } + +} // NodeBImpl 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 a3f33ac7d7..1ff7a28b37 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 @@ -13,6 +13,8 @@ package org.eclipse.emf.cdo.tests.model3.util; import org.eclipse.emf.cdo.tests.model3.Class1; 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.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -104,6 +106,18 @@ public class Model3AdapterFactory extends AdapterFactoryImpl } @Override + public Adapter caseNodeA(NodeA object) + { + return createNodeAAdapter(); + } + + @Override + public Adapter caseNodeB(NodeB object) + { + return createNodeBAdapter(); + } + + @Override public Adapter defaultCase(EObject object) { return createEObjectAdapter(); @@ -182,6 +196,34 @@ public class Model3AdapterFactory extends AdapterFactoryImpl } /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.NodeA <em>Node A</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.NodeA + * @generated + */ + public Adapter createNodeAAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.NodeB <em>Node B</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.NodeB + * @generated + */ + public Adapter createNodeBAdapter() + { + 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 6a72932501..5a6aab4955 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 @@ -13,6 +13,8 @@ package org.eclipse.emf.cdo.tests.model3.util; import org.eclipse.emf.cdo.tests.model3.Class1; 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.Polygon; import org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates; @@ -135,6 +137,22 @@ public class Model3Switch<T> } return result; } + case Model3Package.NODE_A: + { + NodeA nodeA = (NodeA)theEObject; + T result = caseNodeA(nodeA); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case Model3Package.NODE_B: + { + NodeB nodeB = (NodeB)theEObject; + T result = caseNodeB(nodeB); + if (result == null) + result = defaultCase(theEObject); + return result; + } default: return defaultCase(theEObject); } @@ -202,6 +220,36 @@ public class Model3Switch<T> } /** + * Returns the result of interpreting the object as an instance of '<em>Node A</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 A</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNodeA(NodeA object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Node B</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 B</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNodeB(NodeB 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 --> |