Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2008-07-10 15:42:29 +0000
committerEike Stepper2008-07-10 15:42:29 +0000
commitcc846ddc2d1c9496dab5842c3ccec9954c55acee (patch)
tree9de56bbcf1031f9a7307890bcf8d082665d61bf7 /plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo
parent522cc3fc8f2ef44e5a343f8434f98bd864c326da (diff)
downloadcdo-cc846ddc2d1c9496dab5842c3ccec9954c55acee.tar.gz
cdo-cc846ddc2d1c9496dab5842c3ccec9954c55acee.tar.xz
cdo-cc846ddc2d1c9496dab5842c3ccec9954c55acee.zip
[240343] [Hibernate] Exception: No annotated model element present for: ISingleRefContainer for type EClass has its epackage been registered with Teneo?
https://bugs.eclipse.org/bugs/show_bug.cgi?id=240343
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo')
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ContainedElementNoOpposite.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefMultiContained.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefMultiNonContained.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefSingleContained.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefSingleNonContained.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplContainedElementNPL.java23
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainedElement.java54
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainer.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainerNPL.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainedElement.java54
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainer.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainerNPL.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainedElement.java54
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainer.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainerNPL.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainedElement.java54
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainer.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainerNPL.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/MultiContainedElement.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/MultiNonContainedElement.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiContained.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiContainedNPL.java47
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiNonContained.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiNonContainedNPL.java47
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleContained.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleContainedNPL.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleNonContained.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleNonContainedNPL.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/SingleContainedElement.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/SingleNonContainedElement.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ContainedElementNoOppositeImpl.java77
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefMultiContainedImpl.java72
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefMultiNonContainedImpl.java72
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefSingleContainedImpl.java78
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefSingleNonContainedImpl.java78
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplContainedElementNPLImpl.java112
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainedElementImpl.java99
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainerImpl.java74
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainerNPLImpl.java74
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainedElementImpl.java102
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainerImpl.java73
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainerNPLImpl.java74
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainedElementImpl.java99
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainerImpl.java80
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainerNPLImpl.java80
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainedElementImpl.java99
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainerImpl.java80
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainerNPLImpl.java80
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/MultiContainedElementImpl.java97
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/MultiNonContainedElementImpl.java97
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiContainedImpl.java72
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiContainedNPLImpl.java72
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiNonContainedImpl.java72
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiNonContainedNPLImpl.java72
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleContainedImpl.java78
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleContainedNPLImpl.java78
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleNonContainedImpl.java78
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleNonContainedNPLImpl.java78
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/SingleContainedElementImpl.java97
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/SingleNonContainedElementImpl.java97
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/model4FactoryImpl.java418
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/model4PackageImpl.java1084
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/model4Factory.java307
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/model4Package.java2076
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/util/model4AdapterFactory.java913
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/util/model4Switch.java978
66 files changed, 9701 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ContainedElementNoOpposite.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ContainedElementNoOpposite.java
new file mode 100644
index 0000000000..0b147d3873
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ContainedElementNoOpposite.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ContainedElementNoOpposite.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Contained Element No Opposite</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getContainedElementNoOpposite()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface ContainedElementNoOpposite extends CDOObject {
+ /**
+ * 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.model4.model4Package#getContainedElementNoOpposite_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite#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);
+
+} // ContainedElementNoOpposite
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefMultiContained.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefMultiContained.java
new file mode 100644
index 0000000000..9b8aafb4fa
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefMultiContained.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenRefMultiContained.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Gen Ref Multi Contained</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiContained#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getGenRefMultiContained()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface GenRefMultiContained extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</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>Elements</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getGenRefMultiContained_Elements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<EObject> getElements();
+
+} // GenRefMultiContained
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefMultiNonContained.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefMultiNonContained.java
new file mode 100644
index 0000000000..b404672c9b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefMultiNonContained.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenRefMultiNonContained.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Gen Ref Multi Non Contained</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getGenRefMultiNonContained()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface GenRefMultiNonContained extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</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>Elements</em>' reference list.
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getGenRefMultiNonContained_Elements()
+ * @model
+ * @generated
+ */
+ EList<EObject> getElements();
+
+} // GenRefMultiNonContained
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefSingleContained.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefSingleContained.java
new file mode 100644
index 0000000000..a3bdc150aa
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefSingleContained.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenRefSingleContained.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Gen Ref Single Contained</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleContained#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getGenRefSingleContained()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface GenRefSingleContained extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' containment reference.
+ * @see #setElement(EObject)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getGenRefSingleContained_Element()
+ * @model containment="true"
+ * @generated
+ */
+ EObject getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleContained#getElement <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' containment reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(EObject value);
+
+} // GenRefSingleContained
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefSingleNonContained.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefSingleNonContained.java
new file mode 100644
index 0000000000..61018bbad2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/GenRefSingleNonContained.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenRefSingleNonContained.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Gen Ref Single Non Contained</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getGenRefSingleNonContained()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface GenRefSingleNonContained extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' reference.
+ * @see #setElement(EObject)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getGenRefSingleNonContained_Element()
+ * @model
+ * @generated
+ */
+ EObject getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained#getElement <em>Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(EObject value);
+
+} // GenRefSingleNonContained
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplContainedElementNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplContainedElementNPL.java
new file mode 100644
index 0000000000..cc43b8bf3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplContainedElementNPL.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplContainedElementNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.INamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Contained Element NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplContainedElementNPL()
+ * @model
+ * @generated
+ */
+public interface ImplContainedElementNPL extends IContainedElementNoParentLink, INamedElement {
+} // ImplContainedElementNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainedElement.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainedElement.java
new file mode 100644
index 0000000000..98c2c019ef
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainedElement.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefContainedElement.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Multi Ref Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplMultiRefContainedElement()
+ * @model
+ * @generated
+ */
+public interface ImplMultiRefContainedElement extends IMultiRefContainedElement {
+ /**
+ * 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.model4.model4Package#getImplMultiRefContainedElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement#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);
+
+} // ImplMultiRefContainedElement
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainer.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainer.java
new file mode 100644
index 0000000000..29a69a8baa
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainer.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefContainer.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Multi Ref Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplMultiRefContainer()
+ * @model
+ * @generated
+ */
+public interface ImplMultiRefContainer extends IMultiRefContainer {
+} // ImplMultiRefContainer
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainerNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainerNPL.java
new file mode 100644
index 0000000000..2898c02e21
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefContainerNPL.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefContainerNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Multi Ref Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplMultiRefContainerNPL()
+ * @model
+ * @generated
+ */
+public interface ImplMultiRefContainerNPL extends IMultiRefContainerNPL {
+} // ImplMultiRefContainerNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainedElement.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainedElement.java
new file mode 100644
index 0000000000..aa49a36296
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainedElement.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefNonContainedElement.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Multi Ref Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplMultiRefNonContainedElement()
+ * @model
+ * @generated
+ */
+public interface ImplMultiRefNonContainedElement extends IMultiRefNonContainedElement {
+ /**
+ * 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.model4.model4Package#getImplMultiRefNonContainedElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement#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);
+
+} // ImplMultiRefNonContainedElement
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainer.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainer.java
new file mode 100644
index 0000000000..d91042d10f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainer.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefNonContainer.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Multi Ref Non Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplMultiRefNonContainer()
+ * @model
+ * @generated
+ */
+public interface ImplMultiRefNonContainer extends IMultiRefNonContainer {
+} // ImplMultiRefNonContainer
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainerNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainerNPL.java
new file mode 100644
index 0000000000..c92bf40a62
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplMultiRefNonContainerNPL.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefNonContainerNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Multi Ref Non Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplMultiRefNonContainerNPL()
+ * @model
+ * @generated
+ */
+public interface ImplMultiRefNonContainerNPL extends IMultiRefNonContainerNPL {
+} // ImplMultiRefNonContainerNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainedElement.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainedElement.java
new file mode 100644
index 0000000000..380ad90b59
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainedElement.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefContainedElement.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Single Ref Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplSingleRefContainedElement()
+ * @model
+ * @generated
+ */
+public interface ImplSingleRefContainedElement extends ISingleRefContainedElement {
+ /**
+ * 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.model4.model4Package#getImplSingleRefContainedElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement#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);
+
+} // ImplSingleRefContainedElement
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainer.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainer.java
new file mode 100644
index 0000000000..cadc96d853
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainer.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefContainer.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Single Ref Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplSingleRefContainer()
+ * @model
+ * @generated
+ */
+public interface ImplSingleRefContainer extends ISingleRefContainer {
+} // ImplSingleRefContainer
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainerNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainerNPL.java
new file mode 100644
index 0000000000..cc3c2e46dc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefContainerNPL.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefContainerNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Single Ref Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplSingleRefContainerNPL()
+ * @model
+ * @generated
+ */
+public interface ImplSingleRefContainerNPL extends ISingleRefContainerNPL {
+} // ImplSingleRefContainerNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainedElement.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainedElement.java
new file mode 100644
index 0000000000..63d3fb296e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainedElement.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefNonContainedElement.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Single Ref Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplSingleRefNonContainedElement()
+ * @model
+ * @generated
+ */
+public interface ImplSingleRefNonContainedElement extends ISingleRefNonContainedElement {
+ /**
+ * 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.model4.model4Package#getImplSingleRefNonContainedElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement#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);
+
+} // ImplSingleRefNonContainedElement
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainer.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainer.java
new file mode 100644
index 0000000000..2199f276a9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainer.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefNonContainer.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Single Ref Non Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplSingleRefNonContainer()
+ * @model
+ * @generated
+ */
+public interface ImplSingleRefNonContainer extends ISingleRefNonContainer {
+} // ImplSingleRefNonContainer
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainerNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainerNPL.java
new file mode 100644
index 0000000000..3604ce2071
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/ImplSingleRefNonContainerNPL.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefNonContainerNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Impl Single Ref Non Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getImplSingleRefNonContainerNPL()
+ * @model
+ * @generated
+ */
+public interface ImplSingleRefNonContainerNPL extends ISingleRefNonContainerNPL {
+} // ImplSingleRefNonContainerNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/MultiContainedElement.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/MultiContainedElement.java
new file mode 100644
index 0000000000..2eb69af4cb
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/MultiContainedElement.java
@@ -0,0 +1,84 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MultiContainedElement.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getMultiContainedElement()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface MultiContainedElement extends CDOObject {
+ /**
+ * 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.model4.model4Package#getMultiContainedElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement#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>Parent</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContained#getElements <em>Elements</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(RefMultiContained)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getMultiContainedElement_Parent()
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContained#getElements
+ * @model opposite="elements" transient="false"
+ * @generated
+ */
+ RefMultiContained getParent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement#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(RefMultiContained value);
+
+} // MultiContainedElement
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/MultiNonContainedElement.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/MultiNonContainedElement.java
new file mode 100644
index 0000000000..53d9548ceb
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/MultiNonContainedElement.java
@@ -0,0 +1,84 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MultiNonContainedElement.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getMultiNonContainedElement()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface MultiNonContainedElement extends CDOObject {
+ /**
+ * 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.model4.model4Package#getMultiNonContainedElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#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>Parent</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContained#getElements <em>Elements</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(RefMultiNonContained)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getMultiNonContainedElement_Parent()
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContained#getElements
+ * @model opposite="elements" transient="false"
+ * @generated
+ */
+ RefMultiNonContained getParent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#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(RefMultiNonContained value);
+
+} // MultiNonContainedElement
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiContained.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiContained.java
new file mode 100644
index 0000000000..415ad416a0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiContained.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefMultiContained.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Multi Contained</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.RefMultiContained#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefMultiContained()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface RefMultiContained extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</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>Elements</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefMultiContained_Elements()
+ * @see org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getParent
+ * @model opposite="parent" containment="true"
+ * @generated
+ */
+ EList<MultiContainedElement> getElements();
+
+} // RefMultiContained
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiContainedNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiContainedNPL.java
new file mode 100644
index 0000000000..2d51471e2c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiContainedNPL.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefMultiContainedNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Multi Contained NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefMultiContainedNPL()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface RefMultiContainedNPL extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</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>Elements</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefMultiContainedNPL_Elements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ContainedElementNoOpposite> getElements();
+
+} // RefMultiContainedNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiNonContained.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiNonContained.java
new file mode 100644
index 0000000000..fc86d9a53d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiNonContained.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefMultiNonContained.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Multi Non Contained</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContained#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefMultiNonContained()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface RefMultiNonContained extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</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>Elements</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefMultiNonContained_Elements()
+ * @see org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#getParent
+ * @model opposite="parent" containment="true"
+ * @generated
+ */
+ EList<MultiNonContainedElement> getElements();
+
+} // RefMultiNonContained
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiNonContainedNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiNonContainedNPL.java
new file mode 100644
index 0000000000..39f575000f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefMultiNonContainedNPL.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefMultiNonContainedNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Multi Non Contained NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefMultiNonContainedNPL()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface RefMultiNonContainedNPL extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</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>Elements</em>' reference list.
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefMultiNonContainedNPL_Elements()
+ * @model
+ * @generated
+ */
+ EList<ContainedElementNoOpposite> getElements();
+
+} // RefMultiNonContainedNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleContained.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleContained.java
new file mode 100644
index 0000000000..4aaf7d90a4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleContained.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefSingleContained.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Single Contained</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.RefSingleContained#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefSingleContained()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface RefSingleContained extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' containment reference.
+ * @see #setElement(SingleContainedElement)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefSingleContained_Element()
+ * @see org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getParent
+ * @model opposite="parent" containment="true"
+ * @generated
+ */
+ SingleContainedElement getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContained#getElement <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' containment reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(SingleContainedElement value);
+
+} // RefSingleContained
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleContainedNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleContainedNPL.java
new file mode 100644
index 0000000000..d39c8d0b9a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleContainedNPL.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefSingleContainedNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Single Contained NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefSingleContainedNPL()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface RefSingleContainedNPL extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' containment reference.
+ * @see #setElement(ContainedElementNoOpposite)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefSingleContainedNPL_Element()
+ * @model containment="true"
+ * @generated
+ */
+ ContainedElementNoOpposite getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL#getElement <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' containment reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(ContainedElementNoOpposite value);
+
+} // RefSingleContainedNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleNonContained.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleNonContained.java
new file mode 100644
index 0000000000..c67a33b5b1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleNonContained.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefSingleNonContained.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Single Non Contained</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContained#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefSingleNonContained()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface RefSingleNonContained extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' reference.
+ * @see #setElement(SingleNonContainedElement)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefSingleNonContained_Element()
+ * @see org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getParent
+ * @model opposite="parent"
+ * @generated
+ */
+ SingleNonContainedElement getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContained#getElement <em>Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(SingleNonContainedElement value);
+
+} // RefSingleNonContained
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleNonContainedNPL.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleNonContainedNPL.java
new file mode 100644
index 0000000000..6dc9bf2986
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/RefSingleNonContainedNPL.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefSingleNonContainedNPL.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Single Non Contained NPL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefSingleNonContainedNPL()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface RefSingleNonContainedNPL extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' reference.
+ * @see #setElement(ContainedElementNoOpposite)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getRefSingleNonContainedNPL_Element()
+ * @model
+ * @generated
+ */
+ ContainedElementNoOpposite getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL#getElement <em>Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(ContainedElementNoOpposite value);
+
+} // RefSingleNonContainedNPL
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/SingleContainedElement.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/SingleContainedElement.java
new file mode 100644
index 0000000000..9c3dd3cc7f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/SingleContainedElement.java
@@ -0,0 +1,84 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SingleContainedElement.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Single Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getSingleContainedElement()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface SingleContainedElement extends CDOObject {
+ /**
+ * 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.model4.model4Package#getSingleContainedElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement#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>Parent</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContained#getElement <em>Element</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(RefSingleContained)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getSingleContainedElement_Parent()
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContained#getElement
+ * @model opposite="element" transient="false"
+ * @generated
+ */
+ RefSingleContained getParent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement#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(RefSingleContained value);
+
+} // SingleContainedElement
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/SingleNonContainedElement.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/SingleNonContainedElement.java
new file mode 100644
index 0000000000..25b775d829
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/SingleNonContainedElement.java
@@ -0,0 +1,84 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SingleNonContainedElement.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Single Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getSingleNonContainedElement()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface SingleNonContainedElement extends CDOObject {
+ /**
+ * 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.model4.model4Package#getSingleNonContainedElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#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>Parent</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContained#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent</em>' 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>' reference.
+ * @see #setParent(RefSingleNonContained)
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#getSingleNonContainedElement_Parent()
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContained#getElement
+ * @model opposite="element"
+ * @generated
+ */
+ RefSingleNonContained getParent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getParent <em>Parent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent</em>' reference.
+ * @see #getParent()
+ * @generated
+ */
+ void setParent(RefSingleNonContained value);
+
+} // SingleNonContainedElement
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ContainedElementNoOppositeImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ContainedElementNoOppositeImpl.java
new file mode 100644
index 0000000000..7d0db3e21d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ContainedElementNoOppositeImpl.java
@@ -0,0 +1,77 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ContainedElementNoOppositeImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Contained Element No Opposite</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ContainedElementNoOppositeImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ContainedElementNoOppositeImpl extends CDOObjectImpl implements ContainedElementNoOpposite {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContainedElementNoOppositeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.CONTAINED_ELEMENT_NO_OPPOSITE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.CONTAINED_ELEMENT_NO_OPPOSITE__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.CONTAINED_ELEMENT_NO_OPPOSITE__NAME, newName);
+ }
+
+} //ContainedElementNoOppositeImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefMultiContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefMultiContainedImpl.java
new file mode 100644
index 0000000000..9273c21365
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefMultiContainedImpl.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenRefMultiContainedImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Gen Ref Multi Contained</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefMultiContainedImpl extends CDOObjectImpl implements GenRefMultiContained {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefMultiContainedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.GEN_REF_MULTI_CONTAINED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<EObject> getElements() {
+ return (EList<EObject>)eGet(model4Package.Literals.GEN_REF_MULTI_CONTAINED__ELEMENTS, true);
+ }
+
+} //GenRefMultiContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefMultiNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefMultiNonContainedImpl.java
new file mode 100644
index 0000000000..e9524d1c90
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefMultiNonContainedImpl.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenRefMultiNonContainedImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Gen Ref Multi Non Contained</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiNonContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefMultiNonContainedImpl extends CDOObjectImpl implements GenRefMultiNonContained {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefMultiNonContainedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.GEN_REF_MULTI_NON_CONTAINED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<EObject> getElements() {
+ return (EList<EObject>)eGet(model4Package.Literals.GEN_REF_MULTI_NON_CONTAINED__ELEMENTS, true);
+ }
+
+} //GenRefMultiNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefSingleContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefSingleContainedImpl.java
new file mode 100644
index 0000000000..f77653144b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefSingleContainedImpl.java
@@ -0,0 +1,78 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenRefSingleContainedImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Gen Ref Single Contained</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleContainedImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefSingleContainedImpl extends CDOObjectImpl implements GenRefSingleContained {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefSingleContainedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.GEN_REF_SINGLE_CONTAINED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getElement() {
+ return (EObject)eGet(model4Package.Literals.GEN_REF_SINGLE_CONTAINED__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(EObject newElement) {
+ eSet(model4Package.Literals.GEN_REF_SINGLE_CONTAINED__ELEMENT, newElement);
+ }
+
+} //GenRefSingleContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefSingleNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefSingleNonContainedImpl.java
new file mode 100644
index 0000000000..d445cd259c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/GenRefSingleNonContainedImpl.java
@@ -0,0 +1,78 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenRefSingleNonContainedImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Gen Ref Single Non Contained</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleNonContainedImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenRefSingleNonContainedImpl extends CDOObjectImpl implements GenRefSingleNonContained {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenRefSingleNonContainedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.GEN_REF_SINGLE_NON_CONTAINED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getElement() {
+ return (EObject)eGet(model4Package.Literals.GEN_REF_SINGLE_NON_CONTAINED__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(EObject newElement) {
+ eSet(model4Package.Literals.GEN_REF_SINGLE_NON_CONTAINED__ELEMENT, newElement);
+ }
+
+} //GenRefSingleNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplContainedElementNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplContainedElementNPLImpl.java
new file mode 100644
index 0000000000..7805cb7c6a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplContainedElementNPLImpl.java
@@ -0,0 +1,112 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplContainedElementNPLImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.INamedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Contained Element NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplContainedElementNPLImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplContainedElementNPLImpl extends CDOObjectImpl implements ImplContainedElementNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplContainedElementNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_CONTAINED_ELEMENT_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4interfacesPackage.Literals.INAMED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4interfacesPackage.Literals.INAMED_ELEMENT__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == INamedElement.class) {
+ switch (derivedFeatureID) {
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME: return model4interfacesPackage.INAMED_ELEMENT__NAME;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == INamedElement.class) {
+ switch (baseFeatureID) {
+ case model4interfacesPackage.INAMED_ELEMENT__NAME: return model4Package.IMPL_CONTAINED_ELEMENT_NPL__NAME;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} //ImplContainedElementNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainedElementImpl.java
new file mode 100644
index 0000000000..190d1deca6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainedElementImpl.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefContainedElementImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Multi Ref Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainedElementImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefContainedElementImpl extends CDOObjectImpl implements ImplMultiRefContainedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefContainedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_MULTI_REF_CONTAINED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IMultiRefContainer getParent() {
+ return (IMultiRefContainer)eGet(model4interfacesPackage.Literals.IMULTI_REF_CONTAINED_ELEMENT__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(IMultiRefContainer newParent) {
+ eSet(model4interfacesPackage.Literals.IMULTI_REF_CONTAINED_ELEMENT__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME, newName);
+ }
+
+} //ImplMultiRefContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainerImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainerImpl.java
new file mode 100644
index 0000000000..dc709bc914
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainerImpl.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefContainerImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Multi Ref Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefContainerImpl extends CDOObjectImpl implements ImplMultiRefContainer {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_MULTI_REF_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<IMultiRefContainedElement> getElements() {
+ return (EList<IMultiRefContainedElement>)eGet(model4interfacesPackage.Literals.IMULTI_REF_CONTAINER__ELEMENTS, true);
+ }
+
+} //ImplMultiRefContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainerNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainerNPLImpl.java
new file mode 100644
index 0000000000..6793f48f8d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefContainerNPLImpl.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefContainerNPLImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Multi Ref Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerNPLImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefContainerNPLImpl extends CDOObjectImpl implements ImplMultiRefContainerNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefContainerNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_MULTI_REF_CONTAINER_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<IContainedElementNoParentLink> getElements() {
+ return (EList<IContainedElementNoParentLink>)eGet(model4interfacesPackage.Literals.IMULTI_REF_CONTAINER_NPL__ELEMENTS, true);
+ }
+
+} //ImplMultiRefContainerNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainedElementImpl.java
new file mode 100644
index 0000000000..632b2e4ea5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainedElementImpl.java
@@ -0,0 +1,102 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefNonContainedElementImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Multi Ref Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainedElementImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefNonContainedElementImpl extends CDOObjectImpl implements ImplMultiRefNonContainedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefNonContainedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public IMultiRefNonContainer getParent() {
+ return (IMultiRefNonContainer)eGet(model4interfacesPackage.Literals.IMULTI_REF_NON_CONTAINED_ELEMENT__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(IMultiRefNonContainer newParent) {
+ eSet(model4interfacesPackage.Literals.IMULTI_REF_NON_CONTAINED_ELEMENT__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME, newName);
+ }
+
+} //ImplMultiRefNonContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainerImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainerImpl.java
new file mode 100644
index 0000000000..2ca83eafa1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainerImpl.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefNonContainerImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Multi Ref Non Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefNonContainerImpl extends CDOObjectImpl implements ImplMultiRefNonContainer {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefNonContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_MULTI_REF_NON_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<IMultiRefNonContainedElement> getElements() {
+ return (EList<IMultiRefNonContainedElement>)eGet(model4interfacesPackage.Literals.IMULTI_REF_NON_CONTAINER__ELEMENTS, true);
+ }
+
+} //ImplMultiRefNonContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainerNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainerNPLImpl.java
new file mode 100644
index 0000000000..ab071610fd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplMultiRefNonContainerNPLImpl.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplMultiRefNonContainerNPLImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Multi Ref Non Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerNPLImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplMultiRefNonContainerNPLImpl extends CDOObjectImpl implements ImplMultiRefNonContainerNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplMultiRefNonContainerNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_MULTI_REF_NON_CONTAINER_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<IContainedElementNoParentLink> getElements() {
+ return (EList<IContainedElementNoParentLink>)eGet(model4interfacesPackage.Literals.IMULTI_REF_NON_CONTAINER_NPL__ELEMENTS, true);
+ }
+
+} //ImplMultiRefNonContainerNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainedElementImpl.java
new file mode 100644
index 0000000000..eceb192a3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainedElementImpl.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefContainedElementImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Single Ref Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainedElementImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefContainedElementImpl extends CDOObjectImpl implements ImplSingleRefContainedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefContainedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_SINGLE_REF_CONTAINED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefContainer getParent() {
+ return (ISingleRefContainer)eGet(model4interfacesPackage.Literals.ISINGLE_REF_CONTAINED_ELEMENT__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(ISingleRefContainer newParent) {
+ eSet(model4interfacesPackage.Literals.ISINGLE_REF_CONTAINED_ELEMENT__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME, newName);
+ }
+
+} //ImplSingleRefContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainerImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainerImpl.java
new file mode 100644
index 0000000000..f05a2f2103
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainerImpl.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefContainerImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Single Ref Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefContainerImpl extends CDOObjectImpl implements ImplSingleRefContainer {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_SINGLE_REF_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefContainedElement getElement() {
+ return (ISingleRefContainedElement)eGet(model4interfacesPackage.Literals.ISINGLE_REF_CONTAINER__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(ISingleRefContainedElement newElement) {
+ eSet(model4interfacesPackage.Literals.ISINGLE_REF_CONTAINER__ELEMENT, newElement);
+ }
+
+} //ImplSingleRefContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainerNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainerNPLImpl.java
new file mode 100644
index 0000000000..9604041cdb
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefContainerNPLImpl.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefContainerNPLImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Single Ref Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerNPLImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefContainerNPLImpl extends CDOObjectImpl implements ImplSingleRefContainerNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefContainerNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_SINGLE_REF_CONTAINER_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IContainedElementNoParentLink getElement() {
+ return (IContainedElementNoParentLink)eGet(model4interfacesPackage.Literals.ISINGLE_REF_CONTAINER_NPL__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(IContainedElementNoParentLink newElement) {
+ eSet(model4interfacesPackage.Literals.ISINGLE_REF_CONTAINER_NPL__ELEMENT, newElement);
+ }
+
+} //ImplSingleRefContainerNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainedElementImpl.java
new file mode 100644
index 0000000000..6a31705e86
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainedElementImpl.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefNonContainedElementImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Single Ref Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainedElementImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefNonContainedElementImpl extends CDOObjectImpl implements ImplSingleRefNonContainedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefNonContainedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefNonContainer getParent() {
+ return (ISingleRefNonContainer)eGet(model4interfacesPackage.Literals.ISINGLE_REF_NON_CONTAINED_ELEMENT__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(ISingleRefNonContainer newParent) {
+ eSet(model4interfacesPackage.Literals.ISINGLE_REF_NON_CONTAINED_ELEMENT__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME, newName);
+ }
+
+} //ImplSingleRefNonContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainerImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainerImpl.java
new file mode 100644
index 0000000000..8529129f0f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainerImpl.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefNonContainerImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Single Ref Non Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefNonContainerImpl extends CDOObjectImpl implements ImplSingleRefNonContainer {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefNonContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_SINGLE_REF_NON_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISingleRefNonContainedElement getElement() {
+ return (ISingleRefNonContainedElement)eGet(model4interfacesPackage.Literals.ISINGLE_REF_NON_CONTAINER__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(ISingleRefNonContainedElement newElement) {
+ eSet(model4interfacesPackage.Literals.ISINGLE_REF_NON_CONTAINER__ELEMENT, newElement);
+ }
+
+} //ImplSingleRefNonContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainerNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainerNPLImpl.java
new file mode 100644
index 0000000000..cb65b03aff
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/ImplSingleRefNonContainerNPLImpl.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ImplSingleRefNonContainerNPLImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Impl Single Ref Non Container NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerNPLImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplSingleRefNonContainerNPLImpl extends CDOObjectImpl implements ImplSingleRefNonContainerNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplSingleRefNonContainerNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.IMPL_SINGLE_REF_NON_CONTAINER_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IContainedElementNoParentLink getElement() {
+ return (IContainedElementNoParentLink)eGet(model4interfacesPackage.Literals.ISINGLE_REF_NON_CONTAINER_NPL__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(IContainedElementNoParentLink newElement) {
+ eSet(model4interfacesPackage.Literals.ISINGLE_REF_NON_CONTAINER_NPL__ELEMENT, newElement);
+ }
+
+} //ImplSingleRefNonContainerNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/MultiContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/MultiContainedElementImpl.java
new file mode 100644
index 0000000000..1aa841397f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/MultiContainedElementImpl.java
@@ -0,0 +1,97 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MultiContainedElementImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.MultiContainedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.MultiContainedElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiContainedElementImpl extends CDOObjectImpl implements MultiContainedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiContainedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.MULTI_CONTAINED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.MULTI_CONTAINED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.MULTI_CONTAINED_ELEMENT__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiContained getParent() {
+ return (RefMultiContained)eGet(model4Package.Literals.MULTI_CONTAINED_ELEMENT__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefMultiContained newParent) {
+ eSet(model4Package.Literals.MULTI_CONTAINED_ELEMENT__PARENT, newParent);
+ }
+
+} //MultiContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/MultiNonContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/MultiNonContainedElementImpl.java
new file mode 100644
index 0000000000..89dd967790
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/MultiNonContainedElementImpl.java
@@ -0,0 +1,97 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MultiNonContainedElementImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.MultiNonContainedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.MultiNonContainedElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiNonContainedElementImpl extends CDOObjectImpl implements MultiNonContainedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiNonContainedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.MULTI_NON_CONTAINED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.MULTI_NON_CONTAINED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.MULTI_NON_CONTAINED_ELEMENT__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContained getParent() {
+ return (RefMultiNonContained)eGet(model4Package.Literals.MULTI_NON_CONTAINED_ELEMENT__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefMultiNonContained newParent) {
+ eSet(model4Package.Literals.MULTI_NON_CONTAINED_ELEMENT__PARENT, newParent);
+ }
+
+} //MultiNonContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiContainedImpl.java
new file mode 100644
index 0000000000..f1006c343c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiContainedImpl.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefMultiContainedImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Multi Contained</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiContainedImpl extends CDOObjectImpl implements RefMultiContained {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiContainedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.REF_MULTI_CONTAINED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<MultiContainedElement> getElements() {
+ return (EList<MultiContainedElement>)eGet(model4Package.Literals.REF_MULTI_CONTAINED__ELEMENTS, true);
+ }
+
+} //RefMultiContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiContainedNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiContainedNPLImpl.java
new file mode 100644
index 0000000000..14a9c831ec
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiContainedNPLImpl.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefMultiContainedNPLImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Multi Contained NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedNPLImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiContainedNPLImpl extends CDOObjectImpl implements RefMultiContainedNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiContainedNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.REF_MULTI_CONTAINED_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ContainedElementNoOpposite> getElements() {
+ return (EList<ContainedElementNoOpposite>)eGet(model4Package.Literals.REF_MULTI_CONTAINED_NPL__ELEMENTS, true);
+ }
+
+} //RefMultiContainedNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiNonContainedImpl.java
new file mode 100644
index 0000000000..20efa6c9f7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiNonContainedImpl.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefMultiNonContainedImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Multi Non Contained</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiNonContainedImpl extends CDOObjectImpl implements RefMultiNonContained {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiNonContainedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.REF_MULTI_NON_CONTAINED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<MultiNonContainedElement> getElements() {
+ return (EList<MultiNonContainedElement>)eGet(model4Package.Literals.REF_MULTI_NON_CONTAINED__ELEMENTS, true);
+ }
+
+} //RefMultiNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiNonContainedNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiNonContainedNPLImpl.java
new file mode 100644
index 0000000000..4e0e06d3e0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefMultiNonContainedNPLImpl.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefMultiNonContainedNPLImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Multi Non Contained NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedNPLImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefMultiNonContainedNPLImpl extends CDOObjectImpl implements RefMultiNonContainedNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefMultiNonContainedNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.REF_MULTI_NON_CONTAINED_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ContainedElementNoOpposite> getElements() {
+ return (EList<ContainedElementNoOpposite>)eGet(model4Package.Literals.REF_MULTI_NON_CONTAINED_NPL__ELEMENTS, true);
+ }
+
+} //RefMultiNonContainedNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleContainedImpl.java
new file mode 100644
index 0000000000..6ef871e2ee
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleContainedImpl.java
@@ -0,0 +1,78 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefSingleContainedImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.RefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.SingleContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Single Contained</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefSingleContainedImpl extends CDOObjectImpl implements RefSingleContained {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefSingleContainedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.REF_SINGLE_CONTAINED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleContainedElement getElement() {
+ return (SingleContainedElement)eGet(model4Package.Literals.REF_SINGLE_CONTAINED__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(SingleContainedElement newElement) {
+ eSet(model4Package.Literals.REF_SINGLE_CONTAINED__ELEMENT, newElement);
+ }
+
+} //RefSingleContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleContainedNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleContainedNPLImpl.java
new file mode 100644
index 0000000000..77e4e6a128
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleContainedNPLImpl.java
@@ -0,0 +1,78 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefSingleContainedNPLImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Single Contained NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedNPLImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefSingleContainedNPLImpl extends CDOObjectImpl implements RefSingleContainedNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefSingleContainedNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.REF_SINGLE_CONTAINED_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainedElementNoOpposite getElement() {
+ return (ContainedElementNoOpposite)eGet(model4Package.Literals.REF_SINGLE_CONTAINED_NPL__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(ContainedElementNoOpposite newElement) {
+ eSet(model4Package.Literals.REF_SINGLE_CONTAINED_NPL__ELEMENT, newElement);
+ }
+
+} //RefSingleContainedNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleNonContainedImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleNonContainedImpl.java
new file mode 100644
index 0000000000..14e21c765a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleNonContainedImpl.java
@@ -0,0 +1,78 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefSingleNonContainedImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Single Non Contained</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefSingleNonContainedImpl extends CDOObjectImpl implements RefSingleNonContained {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefSingleNonContainedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.REF_SINGLE_NON_CONTAINED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleNonContainedElement getElement() {
+ return (SingleNonContainedElement)eGet(model4Package.Literals.REF_SINGLE_NON_CONTAINED__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(SingleNonContainedElement newElement) {
+ eSet(model4Package.Literals.REF_SINGLE_NON_CONTAINED__ELEMENT, newElement);
+ }
+
+} //RefSingleNonContainedImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleNonContainedNPLImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleNonContainedNPLImpl.java
new file mode 100644
index 0000000000..b3be3332bb
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/RefSingleNonContainedNPLImpl.java
@@ -0,0 +1,78 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefSingleNonContainedNPLImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Single Non Contained NPL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedNPLImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefSingleNonContainedNPLImpl extends CDOObjectImpl implements RefSingleNonContainedNPL {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefSingleNonContainedNPLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.REF_SINGLE_NON_CONTAINED_NPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainedElementNoOpposite getElement() {
+ return (ContainedElementNoOpposite)eGet(model4Package.Literals.REF_SINGLE_NON_CONTAINED_NPL__ELEMENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(ContainedElementNoOpposite newElement) {
+ eSet(model4Package.Literals.REF_SINGLE_NON_CONTAINED_NPL__ELEMENT, newElement);
+ }
+
+} //RefSingleNonContainedNPLImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/SingleContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/SingleContainedElementImpl.java
new file mode 100644
index 0000000000..01fd717eea
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/SingleContainedElementImpl.java
@@ -0,0 +1,97 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SingleContainedElementImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.RefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.SingleContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Single Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.SingleContainedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.SingleContainedElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SingleContainedElementImpl extends CDOObjectImpl implements SingleContainedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SingleContainedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.SINGLE_CONTAINED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.SINGLE_CONTAINED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.SINGLE_CONTAINED_ELEMENT__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleContained getParent() {
+ return (RefSingleContained)eGet(model4Package.Literals.SINGLE_CONTAINED_ELEMENT__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefSingleContained newParent) {
+ eSet(model4Package.Literals.SINGLE_CONTAINED_ELEMENT__PARENT, newParent);
+ }
+
+} //SingleContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/SingleNonContainedElementImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/SingleNonContainedElementImpl.java
new file mode 100644
index 0000000000..c0e0daec63
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/SingleNonContainedElementImpl.java
@@ -0,0 +1,97 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SingleNonContainedElementImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Single Non Contained Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.SingleNonContainedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model4.impl.SingleNonContainedElementImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SingleNonContainedElementImpl extends CDOObjectImpl implements SingleNonContainedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SingleNonContainedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return model4Package.Literals.SINGLE_NON_CONTAINED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String)eGet(model4Package.Literals.SINGLE_NON_CONTAINED_ELEMENT__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(model4Package.Literals.SINGLE_NON_CONTAINED_ELEMENT__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleNonContained getParent() {
+ return (RefSingleNonContained)eGet(model4Package.Literals.SINGLE_NON_CONTAINED_ELEMENT__PARENT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(RefSingleNonContained newParent) {
+ eSet(model4Package.Literals.SINGLE_NON_CONTAINED_ELEMENT__PARENT, newParent);
+ }
+
+} //SingleNonContainedElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/model4FactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/model4FactoryImpl.java
new file mode 100644
index 0000000000..bbfc4206f3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/model4FactoryImpl.java
@@ -0,0 +1,418 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: model4FactoryImpl.java,v 1.1 2008-07-10 15:42:27 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class model4FactoryImpl extends EFactoryImpl implements model4Factory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static model4Factory init() {
+ try {
+ model4Factory themodel4Factory = (model4Factory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/CDO/tests/model4/1.0.0");
+ if (themodel4Factory != null) {
+ return themodel4Factory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new model4FactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public model4FactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case model4Package.REF_SINGLE_CONTAINED: return (EObject)createRefSingleContained();
+ case model4Package.SINGLE_CONTAINED_ELEMENT: return (EObject)createSingleContainedElement();
+ case model4Package.REF_SINGLE_NON_CONTAINED: return (EObject)createRefSingleNonContained();
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT: return (EObject)createSingleNonContainedElement();
+ case model4Package.REF_MULTI_CONTAINED: return (EObject)createRefMultiContained();
+ case model4Package.MULTI_CONTAINED_ELEMENT: return (EObject)createMultiContainedElement();
+ case model4Package.REF_MULTI_NON_CONTAINED: return (EObject)createRefMultiNonContained();
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT: return (EObject)createMultiNonContainedElement();
+ case model4Package.REF_SINGLE_CONTAINED_NPL: return (EObject)createRefSingleContainedNPL();
+ case model4Package.REF_SINGLE_NON_CONTAINED_NPL: return (EObject)createRefSingleNonContainedNPL();
+ case model4Package.REF_MULTI_CONTAINED_NPL: return (EObject)createRefMultiContainedNPL();
+ case model4Package.REF_MULTI_NON_CONTAINED_NPL: return (EObject)createRefMultiNonContainedNPL();
+ case model4Package.CONTAINED_ELEMENT_NO_OPPOSITE: return (EObject)createContainedElementNoOpposite();
+ case model4Package.GEN_REF_SINGLE_CONTAINED: return (EObject)createGenRefSingleContained();
+ case model4Package.GEN_REF_SINGLE_NON_CONTAINED: return (EObject)createGenRefSingleNonContained();
+ case model4Package.GEN_REF_MULTI_CONTAINED: return (EObject)createGenRefMultiContained();
+ case model4Package.GEN_REF_MULTI_NON_CONTAINED: return (EObject)createGenRefMultiNonContained();
+ case model4Package.IMPL_SINGLE_REF_CONTAINER: return (EObject)createImplSingleRefContainer();
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT: return (EObject)createImplSingleRefContainedElement();
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER: return (EObject)createImplSingleRefNonContainer();
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT: return (EObject)createImplSingleRefNonContainedElement();
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER: return (EObject)createImplMultiRefNonContainer();
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT: return (EObject)createImplMultiRefNonContainedElement();
+ case model4Package.IMPL_MULTI_REF_CONTAINER: return (EObject)createImplMultiRefContainer();
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT: return (EObject)createImplMultiRefContainedElement();
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL: return (EObject)createImplSingleRefContainerNPL();
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL: return (EObject)createImplSingleRefNonContainerNPL();
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL: return (EObject)createImplMultiRefContainerNPL();
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL: return (EObject)createImplMultiRefNonContainerNPL();
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL: return (EObject)createImplContainedElementNPL();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleContained createRefSingleContained() {
+ RefSingleContainedImpl refSingleContained = new RefSingleContainedImpl();
+ return refSingleContained;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleContainedElement createSingleContainedElement() {
+ SingleContainedElementImpl singleContainedElement = new SingleContainedElementImpl();
+ return singleContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleNonContained createRefSingleNonContained() {
+ RefSingleNonContainedImpl refSingleNonContained = new RefSingleNonContainedImpl();
+ return refSingleNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleNonContainedElement createSingleNonContainedElement() {
+ SingleNonContainedElementImpl singleNonContainedElement = new SingleNonContainedElementImpl();
+ return singleNonContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiContained createRefMultiContained() {
+ RefMultiContainedImpl refMultiContained = new RefMultiContainedImpl();
+ return refMultiContained;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiContainedElement createMultiContainedElement() {
+ MultiContainedElementImpl multiContainedElement = new MultiContainedElementImpl();
+ return multiContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContained createRefMultiNonContained() {
+ RefMultiNonContainedImpl refMultiNonContained = new RefMultiNonContainedImpl();
+ return refMultiNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiNonContainedElement createMultiNonContainedElement() {
+ MultiNonContainedElementImpl multiNonContainedElement = new MultiNonContainedElementImpl();
+ return multiNonContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleContainedNPL createRefSingleContainedNPL() {
+ RefSingleContainedNPLImpl refSingleContainedNPL = new RefSingleContainedNPLImpl();
+ return refSingleContainedNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefSingleNonContainedNPL createRefSingleNonContainedNPL() {
+ RefSingleNonContainedNPLImpl refSingleNonContainedNPL = new RefSingleNonContainedNPLImpl();
+ return refSingleNonContainedNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiContainedNPL createRefMultiContainedNPL() {
+ RefMultiContainedNPLImpl refMultiContainedNPL = new RefMultiContainedNPLImpl();
+ return refMultiContainedNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefMultiNonContainedNPL createRefMultiNonContainedNPL() {
+ RefMultiNonContainedNPLImpl refMultiNonContainedNPL = new RefMultiNonContainedNPLImpl();
+ return refMultiNonContainedNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainedElementNoOpposite createContainedElementNoOpposite() {
+ ContainedElementNoOppositeImpl containedElementNoOpposite = new ContainedElementNoOppositeImpl();
+ return containedElementNoOpposite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefSingleContained createGenRefSingleContained() {
+ GenRefSingleContainedImpl genRefSingleContained = new GenRefSingleContainedImpl();
+ return genRefSingleContained;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefSingleNonContained createGenRefSingleNonContained() {
+ GenRefSingleNonContainedImpl genRefSingleNonContained = new GenRefSingleNonContainedImpl();
+ return genRefSingleNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefMultiContained createGenRefMultiContained() {
+ GenRefMultiContainedImpl genRefMultiContained = new GenRefMultiContainedImpl();
+ return genRefMultiContained;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenRefMultiNonContained createGenRefMultiNonContained() {
+ GenRefMultiNonContainedImpl genRefMultiNonContained = new GenRefMultiNonContainedImpl();
+ return genRefMultiNonContained;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefContainer createImplSingleRefContainer() {
+ ImplSingleRefContainerImpl implSingleRefContainer = new ImplSingleRefContainerImpl();
+ return implSingleRefContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefContainedElement createImplSingleRefContainedElement() {
+ ImplSingleRefContainedElementImpl implSingleRefContainedElement = new ImplSingleRefContainedElementImpl();
+ return implSingleRefContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefNonContainer createImplSingleRefNonContainer() {
+ ImplSingleRefNonContainerImpl implSingleRefNonContainer = new ImplSingleRefNonContainerImpl();
+ return implSingleRefNonContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefNonContainedElement createImplSingleRefNonContainedElement() {
+ ImplSingleRefNonContainedElementImpl implSingleRefNonContainedElement = new ImplSingleRefNonContainedElementImpl();
+ return implSingleRefNonContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefNonContainer createImplMultiRefNonContainer() {
+ ImplMultiRefNonContainerImpl implMultiRefNonContainer = new ImplMultiRefNonContainerImpl();
+ return implMultiRefNonContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefNonContainedElement createImplMultiRefNonContainedElement() {
+ ImplMultiRefNonContainedElementImpl implMultiRefNonContainedElement = new ImplMultiRefNonContainedElementImpl();
+ return implMultiRefNonContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefContainer createImplMultiRefContainer() {
+ ImplMultiRefContainerImpl implMultiRefContainer = new ImplMultiRefContainerImpl();
+ return implMultiRefContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefContainedElement createImplMultiRefContainedElement() {
+ ImplMultiRefContainedElementImpl implMultiRefContainedElement = new ImplMultiRefContainedElementImpl();
+ return implMultiRefContainedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefContainerNPL createImplSingleRefContainerNPL() {
+ ImplSingleRefContainerNPLImpl implSingleRefContainerNPL = new ImplSingleRefContainerNPLImpl();
+ return implSingleRefContainerNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplSingleRefNonContainerNPL createImplSingleRefNonContainerNPL() {
+ ImplSingleRefNonContainerNPLImpl implSingleRefNonContainerNPL = new ImplSingleRefNonContainerNPLImpl();
+ return implSingleRefNonContainerNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefContainerNPL createImplMultiRefContainerNPL() {
+ ImplMultiRefContainerNPLImpl implMultiRefContainerNPL = new ImplMultiRefContainerNPLImpl();
+ return implMultiRefContainerNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplMultiRefNonContainerNPL createImplMultiRefNonContainerNPL() {
+ ImplMultiRefNonContainerNPLImpl implMultiRefNonContainerNPL = new ImplMultiRefNonContainerNPLImpl();
+ return implMultiRefNonContainerNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplContainedElementNPL createImplContainedElementNPL() {
+ ImplContainedElementNPLImpl implContainedElementNPL = new ImplContainedElementNPLImpl();
+ return implContainedElementNPL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public model4Package getmodel4Package() {
+ return (model4Package)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static model4Package getPackage() {
+ return model4Package.eINSTANCE;
+ }
+
+} //model4FactoryImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/model4PackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/model4PackageImpl.java
new file mode 100644
index 0000000000..c9d65b4b78
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/impl/model4PackageImpl.java
@@ -0,0 +1,1084 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: model4PackageImpl.java,v 1.1 2008-07-10 15:42:28 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.impl;
+
+import org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4.MultiContainedElement;
+import org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContained;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContained;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContained;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContained;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.SingleContainedElement;
+import org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4.model4Factory;
+import org.eclipse.emf.cdo.tests.model4.model4Package;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class model4PackageImpl extends EPackageImpl implements model4Package {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refSingleContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass singleContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refSingleNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass singleNonContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiNonContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refSingleContainedNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refSingleNonContainedNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiContainedNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refMultiNonContainedNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass containedElementNoOppositeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefSingleContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefSingleNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefMultiContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genRefMultiNonContainedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefNonContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefNonContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefNonContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefNonContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefContainedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefContainerNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implSingleRefNonContainerNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefContainerNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implMultiRefNonContainerNPLEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implContainedElementNPLEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private model4PackageImpl() {
+ super(eNS_URI, model4Factory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this
+ * model, and for any others upon which it depends. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static model4Package init() {
+ if (isInited) return (model4Package)EPackage.Registry.INSTANCE.getEPackage(model4Package.eNS_URI);
+
+ // Obtain or create and register package
+ model4PackageImpl themodel4Package = (model4PackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof model4PackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new model4PackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ model4interfacesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ themodel4Package.createPackageContents();
+
+ // Initialize created meta-data
+ themodel4Package.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ themodel4Package.freeze();
+
+ return themodel4Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefSingleContained() {
+ return refSingleContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefSingleContained_Element() {
+ return (EReference)refSingleContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSingleContainedElement() {
+ return singleContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSingleContainedElement_Name() {
+ return (EAttribute)singleContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSingleContainedElement_Parent() {
+ return (EReference)singleContainedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefSingleNonContained() {
+ return refSingleNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefSingleNonContained_Element() {
+ return (EReference)refSingleNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSingleNonContainedElement() {
+ return singleNonContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSingleNonContainedElement_Name() {
+ return (EAttribute)singleNonContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSingleNonContainedElement_Parent() {
+ return (EReference)singleNonContainedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiContained() {
+ return refMultiContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiContained_Elements() {
+ return (EReference)refMultiContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiContainedElement() {
+ return multiContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiContainedElement_Name() {
+ return (EAttribute)multiContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiContainedElement_Parent() {
+ return (EReference)multiContainedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiNonContained() {
+ return refMultiNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiNonContained_Elements() {
+ return (EReference)refMultiNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiNonContainedElement() {
+ return multiNonContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiNonContainedElement_Name() {
+ return (EAttribute)multiNonContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiNonContainedElement_Parent() {
+ return (EReference)multiNonContainedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefSingleContainedNPL() {
+ return refSingleContainedNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefSingleContainedNPL_Element() {
+ return (EReference)refSingleContainedNPLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefSingleNonContainedNPL() {
+ return refSingleNonContainedNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefSingleNonContainedNPL_Element() {
+ return (EReference)refSingleNonContainedNPLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiContainedNPL() {
+ return refMultiContainedNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiContainedNPL_Elements() {
+ return (EReference)refMultiContainedNPLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefMultiNonContainedNPL() {
+ return refMultiNonContainedNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefMultiNonContainedNPL_Elements() {
+ return (EReference)refMultiNonContainedNPLEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContainedElementNoOpposite() {
+ return containedElementNoOppositeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContainedElementNoOpposite_Name() {
+ return (EAttribute)containedElementNoOppositeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefSingleContained() {
+ return genRefSingleContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefSingleContained_Element() {
+ return (EReference)genRefSingleContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefSingleNonContained() {
+ return genRefSingleNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefSingleNonContained_Element() {
+ return (EReference)genRefSingleNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefMultiContained() {
+ return genRefMultiContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefMultiContained_Elements() {
+ return (EReference)genRefMultiContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenRefMultiNonContained() {
+ return genRefMultiNonContainedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenRefMultiNonContained_Elements() {
+ return (EReference)genRefMultiNonContainedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefContainer() {
+ return implSingleRefContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefContainedElement() {
+ return implSingleRefContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImplSingleRefContainedElement_Name() {
+ return (EAttribute)implSingleRefContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefNonContainer() {
+ return implSingleRefNonContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefNonContainedElement() {
+ return implSingleRefNonContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImplSingleRefNonContainedElement_Name() {
+ return (EAttribute)implSingleRefNonContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefNonContainer() {
+ return implMultiRefNonContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefNonContainedElement() {
+ return implMultiRefNonContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImplMultiRefNonContainedElement_Name() {
+ return (EAttribute)implMultiRefNonContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefContainer() {
+ return implMultiRefContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefContainedElement() {
+ return implMultiRefContainedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImplMultiRefContainedElement_Name() {
+ return (EAttribute)implMultiRefContainedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefContainerNPL() {
+ return implSingleRefContainerNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplSingleRefNonContainerNPL() {
+ return implSingleRefNonContainerNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefContainerNPL() {
+ return implMultiRefContainerNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplMultiRefNonContainerNPL() {
+ return implMultiRefNonContainerNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplContainedElementNPL() {
+ return implContainedElementNPLEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public model4Factory getmodel4Factory() {
+ return (model4Factory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ refSingleContainedEClass = createEClass(REF_SINGLE_CONTAINED);
+ createEReference(refSingleContainedEClass, REF_SINGLE_CONTAINED__ELEMENT);
+
+ singleContainedElementEClass = createEClass(SINGLE_CONTAINED_ELEMENT);
+ createEAttribute(singleContainedElementEClass, SINGLE_CONTAINED_ELEMENT__NAME);
+ createEReference(singleContainedElementEClass, SINGLE_CONTAINED_ELEMENT__PARENT);
+
+ refSingleNonContainedEClass = createEClass(REF_SINGLE_NON_CONTAINED);
+ createEReference(refSingleNonContainedEClass, REF_SINGLE_NON_CONTAINED__ELEMENT);
+
+ singleNonContainedElementEClass = createEClass(SINGLE_NON_CONTAINED_ELEMENT);
+ createEAttribute(singleNonContainedElementEClass, SINGLE_NON_CONTAINED_ELEMENT__NAME);
+ createEReference(singleNonContainedElementEClass, SINGLE_NON_CONTAINED_ELEMENT__PARENT);
+
+ refMultiContainedEClass = createEClass(REF_MULTI_CONTAINED);
+ createEReference(refMultiContainedEClass, REF_MULTI_CONTAINED__ELEMENTS);
+
+ multiContainedElementEClass = createEClass(MULTI_CONTAINED_ELEMENT);
+ createEAttribute(multiContainedElementEClass, MULTI_CONTAINED_ELEMENT__NAME);
+ createEReference(multiContainedElementEClass, MULTI_CONTAINED_ELEMENT__PARENT);
+
+ refMultiNonContainedEClass = createEClass(REF_MULTI_NON_CONTAINED);
+ createEReference(refMultiNonContainedEClass, REF_MULTI_NON_CONTAINED__ELEMENTS);
+
+ multiNonContainedElementEClass = createEClass(MULTI_NON_CONTAINED_ELEMENT);
+ createEAttribute(multiNonContainedElementEClass, MULTI_NON_CONTAINED_ELEMENT__NAME);
+ createEReference(multiNonContainedElementEClass, MULTI_NON_CONTAINED_ELEMENT__PARENT);
+
+ refSingleContainedNPLEClass = createEClass(REF_SINGLE_CONTAINED_NPL);
+ createEReference(refSingleContainedNPLEClass, REF_SINGLE_CONTAINED_NPL__ELEMENT);
+
+ refSingleNonContainedNPLEClass = createEClass(REF_SINGLE_NON_CONTAINED_NPL);
+ createEReference(refSingleNonContainedNPLEClass, REF_SINGLE_NON_CONTAINED_NPL__ELEMENT);
+
+ refMultiContainedNPLEClass = createEClass(REF_MULTI_CONTAINED_NPL);
+ createEReference(refMultiContainedNPLEClass, REF_MULTI_CONTAINED_NPL__ELEMENTS);
+
+ refMultiNonContainedNPLEClass = createEClass(REF_MULTI_NON_CONTAINED_NPL);
+ createEReference(refMultiNonContainedNPLEClass, REF_MULTI_NON_CONTAINED_NPL__ELEMENTS);
+
+ containedElementNoOppositeEClass = createEClass(CONTAINED_ELEMENT_NO_OPPOSITE);
+ createEAttribute(containedElementNoOppositeEClass, CONTAINED_ELEMENT_NO_OPPOSITE__NAME);
+
+ genRefSingleContainedEClass = createEClass(GEN_REF_SINGLE_CONTAINED);
+ createEReference(genRefSingleContainedEClass, GEN_REF_SINGLE_CONTAINED__ELEMENT);
+
+ genRefSingleNonContainedEClass = createEClass(GEN_REF_SINGLE_NON_CONTAINED);
+ createEReference(genRefSingleNonContainedEClass, GEN_REF_SINGLE_NON_CONTAINED__ELEMENT);
+
+ genRefMultiContainedEClass = createEClass(GEN_REF_MULTI_CONTAINED);
+ createEReference(genRefMultiContainedEClass, GEN_REF_MULTI_CONTAINED__ELEMENTS);
+
+ genRefMultiNonContainedEClass = createEClass(GEN_REF_MULTI_NON_CONTAINED);
+ createEReference(genRefMultiNonContainedEClass, GEN_REF_MULTI_NON_CONTAINED__ELEMENTS);
+
+ implSingleRefContainerEClass = createEClass(IMPL_SINGLE_REF_CONTAINER);
+
+ implSingleRefContainedElementEClass = createEClass(IMPL_SINGLE_REF_CONTAINED_ELEMENT);
+ createEAttribute(implSingleRefContainedElementEClass, IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME);
+
+ implSingleRefNonContainerEClass = createEClass(IMPL_SINGLE_REF_NON_CONTAINER);
+
+ implSingleRefNonContainedElementEClass = createEClass(IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT);
+ createEAttribute(implSingleRefNonContainedElementEClass, IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME);
+
+ implMultiRefNonContainerEClass = createEClass(IMPL_MULTI_REF_NON_CONTAINER);
+
+ implMultiRefNonContainedElementEClass = createEClass(IMPL_MULTI_REF_NON_CONTAINED_ELEMENT);
+ createEAttribute(implMultiRefNonContainedElementEClass, IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME);
+
+ implMultiRefContainerEClass = createEClass(IMPL_MULTI_REF_CONTAINER);
+
+ implMultiRefContainedElementEClass = createEClass(IMPL_MULTI_REF_CONTAINED_ELEMENT);
+ createEAttribute(implMultiRefContainedElementEClass, IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME);
+
+ implSingleRefContainerNPLEClass = createEClass(IMPL_SINGLE_REF_CONTAINER_NPL);
+
+ implSingleRefNonContainerNPLEClass = createEClass(IMPL_SINGLE_REF_NON_CONTAINER_NPL);
+
+ implMultiRefContainerNPLEClass = createEClass(IMPL_MULTI_REF_CONTAINER_NPL);
+
+ implMultiRefNonContainerNPLEClass = createEClass(IMPL_MULTI_REF_NON_CONTAINER_NPL);
+
+ implContainedElementNPLEClass = createEClass(IMPL_CONTAINED_ELEMENT_NPL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ model4interfacesPackage themodel4interfacesPackage = (model4interfacesPackage)EPackage.Registry.INSTANCE.getEPackage(model4interfacesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ implSingleRefContainerEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefContainer());
+ implSingleRefContainedElementEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefContainedElement());
+ implSingleRefNonContainerEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefNonContainer());
+ implSingleRefNonContainedElementEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefNonContainedElement());
+ implMultiRefNonContainerEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefNonContainer());
+ implMultiRefNonContainedElementEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefNonContainedElement());
+ implMultiRefContainerEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefContainer());
+ implMultiRefContainedElementEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefContainedElement());
+ implSingleRefContainerNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefContainerNPL());
+ implSingleRefNonContainerNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getISingleRefNonContainerNPL());
+ implMultiRefContainerNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefContainerNPL());
+ implMultiRefNonContainerNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getIMultiRefNonContainerNPL());
+ implContainedElementNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getIContainedElementNoParentLink());
+ implContainedElementNPLEClass.getESuperTypes().add(themodel4interfacesPackage.getINamedElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(refSingleContainedEClass, RefSingleContained.class, "RefSingleContained", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefSingleContained_Element(), this.getSingleContainedElement(), this.getSingleContainedElement_Parent(), "element", null, 0, 1, RefSingleContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(singleContainedElementEClass, SingleContainedElement.class, "SingleContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSingleContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, SingleContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSingleContainedElement_Parent(), this.getRefSingleContained(), this.getRefSingleContained_Element(), "parent", null, 0, 1, SingleContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refSingleNonContainedEClass, RefSingleNonContained.class, "RefSingleNonContained", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefSingleNonContained_Element(), this.getSingleNonContainedElement(), this.getSingleNonContainedElement_Parent(), "element", null, 0, 1, RefSingleNonContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(singleNonContainedElementEClass, SingleNonContainedElement.class, "SingleNonContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSingleNonContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, SingleNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSingleNonContainedElement_Parent(), this.getRefSingleNonContained(), this.getRefSingleNonContained_Element(), "parent", null, 0, 1, SingleNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refMultiContainedEClass, RefMultiContained.class, "RefMultiContained", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiContained_Elements(), this.getMultiContainedElement(), this.getMultiContainedElement_Parent(), "elements", null, 0, -1, RefMultiContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(multiContainedElementEClass, MultiContainedElement.class, "MultiContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMultiContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, MultiContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMultiContainedElement_Parent(), this.getRefMultiContained(), this.getRefMultiContained_Elements(), "parent", null, 0, 1, MultiContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refMultiNonContainedEClass, RefMultiNonContained.class, "RefMultiNonContained", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiNonContained_Elements(), this.getMultiNonContainedElement(), this.getMultiNonContainedElement_Parent(), "elements", null, 0, -1, RefMultiNonContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(multiNonContainedElementEClass, MultiNonContainedElement.class, "MultiNonContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMultiNonContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, MultiNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMultiNonContainedElement_Parent(), this.getRefMultiNonContained(), this.getRefMultiNonContained_Elements(), "parent", null, 0, 1, MultiNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refSingleContainedNPLEClass, RefSingleContainedNPL.class, "RefSingleContainedNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefSingleContainedNPL_Element(), this.getContainedElementNoOpposite(), null, "element", null, 0, 1, RefSingleContainedNPL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refSingleNonContainedNPLEClass, RefSingleNonContainedNPL.class, "RefSingleNonContainedNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefSingleNonContainedNPL_Element(), this.getContainedElementNoOpposite(), null, "element", null, 0, 1, RefSingleNonContainedNPL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refMultiContainedNPLEClass, RefMultiContainedNPL.class, "RefMultiContainedNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiContainedNPL_Elements(), this.getContainedElementNoOpposite(), null, "elements", null, 0, -1, RefMultiContainedNPL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refMultiNonContainedNPLEClass, RefMultiNonContainedNPL.class, "RefMultiNonContainedNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefMultiNonContainedNPL_Elements(), this.getContainedElementNoOpposite(), null, "elements", null, 0, -1, RefMultiNonContainedNPL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(containedElementNoOppositeEClass, ContainedElementNoOpposite.class, "ContainedElementNoOpposite", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getContainedElementNoOpposite_Name(), ecorePackage.getEString(), "name", null, 0, 1, ContainedElementNoOpposite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefSingleContainedEClass, GenRefSingleContained.class, "GenRefSingleContained", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefSingleContained_Element(), ecorePackage.getEObject(), null, "element", null, 0, 1, GenRefSingleContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefSingleNonContainedEClass, GenRefSingleNonContained.class, "GenRefSingleNonContained", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefSingleNonContained_Element(), ecorePackage.getEObject(), null, "element", null, 0, 1, GenRefSingleNonContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefMultiContainedEClass, GenRefMultiContained.class, "GenRefMultiContained", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefMultiContained_Elements(), ecorePackage.getEObject(), null, "elements", null, 0, -1, GenRefMultiContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(genRefMultiNonContainedEClass, GenRefMultiNonContained.class, "GenRefMultiNonContained", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenRefMultiNonContained_Elements(), ecorePackage.getEObject(), null, "elements", null, 0, -1, GenRefMultiNonContained.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implSingleRefContainerEClass, ImplSingleRefContainer.class, "ImplSingleRefContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implSingleRefContainedElementEClass, ImplSingleRefContainedElement.class, "ImplSingleRefContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImplSingleRefContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, ImplSingleRefContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implSingleRefNonContainerEClass, ImplSingleRefNonContainer.class, "ImplSingleRefNonContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implSingleRefNonContainedElementEClass, ImplSingleRefNonContainedElement.class, "ImplSingleRefNonContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImplSingleRefNonContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, ImplSingleRefNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implMultiRefNonContainerEClass, ImplMultiRefNonContainer.class, "ImplMultiRefNonContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implMultiRefNonContainedElementEClass, ImplMultiRefNonContainedElement.class, "ImplMultiRefNonContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImplMultiRefNonContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, ImplMultiRefNonContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implMultiRefContainerEClass, ImplMultiRefContainer.class, "ImplMultiRefContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implMultiRefContainedElementEClass, ImplMultiRefContainedElement.class, "ImplMultiRefContainedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImplMultiRefContainedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, ImplMultiRefContainedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(implSingleRefContainerNPLEClass, ImplSingleRefContainerNPL.class, "ImplSingleRefContainerNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implSingleRefNonContainerNPLEClass, ImplSingleRefNonContainerNPL.class, "ImplSingleRefNonContainerNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implMultiRefContainerNPLEClass, ImplMultiRefContainerNPL.class, "ImplMultiRefContainerNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implMultiRefNonContainerNPLEClass, ImplMultiRefNonContainerNPL.class, "ImplMultiRefNonContainerNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(implContainedElementNPLEClass, ImplContainedElementNPL.class, "ImplContainedElementNPL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //model4PackageImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/model4Factory.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/model4Factory.java
new file mode 100644
index 0000000000..5159b7b49e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/model4Factory.java
@@ -0,0 +1,307 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: model4Factory.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package
+ * @generated
+ */
+public interface model4Factory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ model4Factory eINSTANCE = org.eclipse.emf.cdo.tests.model4.impl.model4FactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Ref Single Contained</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Single Contained</em>'.
+ * @generated
+ */
+ RefSingleContained createRefSingleContained();
+
+ /**
+ * Returns a new object of class '<em>Single Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Single Contained Element</em>'.
+ * @generated
+ */
+ SingleContainedElement createSingleContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Single Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Single Non Contained</em>'.
+ * @generated
+ */
+ RefSingleNonContained createRefSingleNonContained();
+
+ /**
+ * Returns a new object of class '<em>Single Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Single Non Contained Element</em>'.
+ * @generated
+ */
+ SingleNonContainedElement createSingleNonContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Contained</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Contained</em>'.
+ * @generated
+ */
+ RefMultiContained createRefMultiContained();
+
+ /**
+ * Returns a new object of class '<em>Multi Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Contained Element</em>'.
+ * @generated
+ */
+ MultiContainedElement createMultiContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Non Contained</em>'.
+ * @generated
+ */
+ RefMultiNonContained createRefMultiNonContained();
+
+ /**
+ * Returns a new object of class '<em>Multi Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Non Contained Element</em>'.
+ * @generated
+ */
+ MultiNonContainedElement createMultiNonContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Ref Single Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Single Contained NPL</em>'.
+ * @generated
+ */
+ RefSingleContainedNPL createRefSingleContainedNPL();
+
+ /**
+ * Returns a new object of class '<em>Ref Single Non Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Single Non Contained NPL</em>'.
+ * @generated
+ */
+ RefSingleNonContainedNPL createRefSingleNonContainedNPL();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Contained NPL</em>'.
+ * @generated
+ */
+ RefMultiContainedNPL createRefMultiContainedNPL();
+
+ /**
+ * Returns a new object of class '<em>Ref Multi Non Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Multi Non Contained NPL</em>'.
+ * @generated
+ */
+ RefMultiNonContainedNPL createRefMultiNonContainedNPL();
+
+ /**
+ * Returns a new object of class '<em>Contained Element No Opposite</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Contained Element No Opposite</em>'.
+ * @generated
+ */
+ ContainedElementNoOpposite createContainedElementNoOpposite();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Single Contained</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Gen Ref Single Contained</em>'.
+ * @generated
+ */
+ GenRefSingleContained createGenRefSingleContained();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Single Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Gen Ref Single Non Contained</em>'.
+ * @generated
+ */
+ GenRefSingleNonContained createGenRefSingleNonContained();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Multi Contained</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Gen Ref Multi Contained</em>'.
+ * @generated
+ */
+ GenRefMultiContained createGenRefMultiContained();
+
+ /**
+ * Returns a new object of class '<em>Gen Ref Multi Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Gen Ref Multi Non Contained</em>'.
+ * @generated
+ */
+ GenRefMultiNonContained createGenRefMultiNonContained();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Container</em>'.
+ * @generated
+ */
+ ImplSingleRefContainer createImplSingleRefContainer();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Contained Element</em>'.
+ * @generated
+ */
+ ImplSingleRefContainedElement createImplSingleRefContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Non Container</em>'.
+ * @generated
+ */
+ ImplSingleRefNonContainer createImplSingleRefNonContainer();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Non Contained Element</em>'.
+ * @generated
+ */
+ ImplSingleRefNonContainedElement createImplSingleRefNonContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Non Container</em>'.
+ * @generated
+ */
+ ImplMultiRefNonContainer createImplMultiRefNonContainer();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Non Contained Element</em>'.
+ * @generated
+ */
+ ImplMultiRefNonContainedElement createImplMultiRefNonContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Container</em>'.
+ * @generated
+ */
+ ImplMultiRefContainer createImplMultiRefContainer();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Contained Element</em>'.
+ * @generated
+ */
+ ImplMultiRefContainedElement createImplMultiRefContainedElement();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Container NPL</em>'.
+ * @generated
+ */
+ ImplSingleRefContainerNPL createImplSingleRefContainerNPL();
+
+ /**
+ * Returns a new object of class '<em>Impl Single Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Single Ref Non Container NPL</em>'.
+ * @generated
+ */
+ ImplSingleRefNonContainerNPL createImplSingleRefNonContainerNPL();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Container NPL</em>'.
+ * @generated
+ */
+ ImplMultiRefContainerNPL createImplMultiRefContainerNPL();
+
+ /**
+ * Returns a new object of class '<em>Impl Multi Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Multi Ref Non Container NPL</em>'.
+ * @generated
+ */
+ ImplMultiRefNonContainerNPL createImplMultiRefNonContainerNPL();
+
+ /**
+ * Returns a new object of class '<em>Impl Contained Element NPL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Impl Contained Element NPL</em>'.
+ * @generated
+ */
+ ImplContainedElementNPL createImplContainedElementNPL();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ model4Package getmodel4Package();
+
+} //model4Factory
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/model4Package.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/model4Package.java
new file mode 100644
index 0000000000..3ecedb0fdd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/model4Package.java
@@ -0,0 +1,2076 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: model4Package.java,v 1.1 2008-07-10 15:42:26 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.model4interfacesPackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.model4Factory
+ * @model kind="package"
+ * @generated
+ */
+public interface model4Package extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "model4";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/CDO/tests/model4/1.0.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "model4";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ model4Package eINSTANCE = org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedImpl <em>Ref Single Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefSingleContained()
+ * @generated
+ */
+ int REF_SINGLE_CONTAINED = 0;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_CONTAINED__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Single Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.SingleContainedElementImpl <em>Single Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.SingleContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getSingleContainedElement()
+ * @generated
+ */
+ int SINGLE_CONTAINED_ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_CONTAINED_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_CONTAINED_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Single Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_CONTAINED_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedImpl <em>Ref Single Non Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefSingleNonContained()
+ * @generated
+ */
+ int REF_SINGLE_NON_CONTAINED = 2;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_NON_CONTAINED__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Single Non Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.SingleNonContainedElementImpl <em>Single Non Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.SingleNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getSingleNonContainedElement()
+ * @generated
+ */
+ int SINGLE_NON_CONTAINED_ELEMENT = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_NON_CONTAINED_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_NON_CONTAINED_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Single Non Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_NON_CONTAINED_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedImpl <em>Ref Multi Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefMultiContained()
+ * @generated
+ */
+ int REF_MULTI_CONTAINED = 4;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.MultiContainedElementImpl <em>Multi Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.MultiContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getMultiContainedElement()
+ * @generated
+ */
+ int MULTI_CONTAINED_ELEMENT = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_CONTAINED_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_CONTAINED_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Multi Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_CONTAINED_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedImpl <em>Ref Multi Non Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefMultiNonContained()
+ * @generated
+ */
+ int REF_MULTI_NON_CONTAINED = 6;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Non Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.MultiNonContainedElementImpl <em>Multi Non Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.MultiNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getMultiNonContainedElement()
+ * @generated
+ */
+ int MULTI_NON_CONTAINED_ELEMENT = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_ELEMENT__PARENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Multi Non Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_NON_CONTAINED_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedNPLImpl <em>Ref Single Contained NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefSingleContainedNPL()
+ * @generated
+ */
+ int REF_SINGLE_CONTAINED_NPL = 8;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_CONTAINED_NPL__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Single Contained NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_CONTAINED_NPL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedNPLImpl <em>Ref Single Non Contained NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefSingleNonContainedNPL()
+ * @generated
+ */
+ int REF_SINGLE_NON_CONTAINED_NPL = 9;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_NON_CONTAINED_NPL__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Single Non Contained NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_SINGLE_NON_CONTAINED_NPL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedNPLImpl <em>Ref Multi Contained NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefMultiContainedNPL()
+ * @generated
+ */
+ int REF_MULTI_CONTAINED_NPL = 10;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_CONTAINED_NPL__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Contained NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_CONTAINED_NPL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedNPLImpl <em>Ref Multi Non Contained NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefMultiNonContainedNPL()
+ * @generated
+ */
+ int REF_MULTI_NON_CONTAINED_NPL = 11;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED_NPL__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Multi Non Contained NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_MULTI_NON_CONTAINED_NPL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ContainedElementNoOppositeImpl <em>Contained Element No Opposite</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ContainedElementNoOppositeImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getContainedElementNoOpposite()
+ * @generated
+ */
+ int CONTAINED_ELEMENT_NO_OPPOSITE = 12;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_ELEMENT_NO_OPPOSITE__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Contained Element No Opposite</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_ELEMENT_NO_OPPOSITE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleContainedImpl <em>Gen Ref Single Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getGenRefSingleContained()
+ * @generated
+ */
+ int GEN_REF_SINGLE_CONTAINED = 13;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_SINGLE_CONTAINED__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Single Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_SINGLE_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleNonContainedImpl <em>Gen Ref Single Non Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getGenRefSingleNonContained()
+ * @generated
+ */
+ int GEN_REF_SINGLE_NON_CONTAINED = 14;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_SINGLE_NON_CONTAINED__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Single Non Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_SINGLE_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiContainedImpl <em>Gen Ref Multi Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getGenRefMultiContained()
+ * @generated
+ */
+ int GEN_REF_MULTI_CONTAINED = 15;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Multi Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiNonContainedImpl <em>Gen Ref Multi Non Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getGenRefMultiNonContained()
+ * @generated
+ */
+ int GEN_REF_MULTI_NON_CONTAINED = 16;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_NON_CONTAINED__ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Gen Ref Multi Non Contained</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GEN_REF_MULTI_NON_CONTAINED_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerImpl <em>Impl Single Ref Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefContainer()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_CONTAINER = 17;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINER__ELEMENT = model4interfacesPackage.ISINGLE_REF_CONTAINER__ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINER_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainedElementImpl <em>Impl Single Ref Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefContainedElement()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_CONTAINED_ELEMENT = 18;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINED_ELEMENT__PARENT = model4interfacesPackage.ISINGLE_REF_CONTAINED_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME = model4interfacesPackage.ISINGLE_REF_CONTAINED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINED_ELEMENT_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_CONTAINED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerImpl <em>Impl Single Ref Non Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefNonContainer()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER = 19;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER__ELEMENT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINER__ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Non Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainedElementImpl <em>Impl Single Ref Non Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefNonContainedElement()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT = 20;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__PARENT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME = model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Non Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerImpl <em>Impl Multi Ref Non Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefNonContainer()
+ * @generated
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER = 21;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER__ELEMENTS = model4interfacesPackage.IMULTI_REF_NON_CONTAINER__ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Non Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_NON_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainedElementImpl <em>Impl Multi Ref Non Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefNonContainedElement()
+ * @generated
+ */
+ int IMPL_MULTI_REF_NON_CONTAINED_ELEMENT = 22;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__PARENT = model4interfacesPackage.IMULTI_REF_NON_CONTAINED_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME = model4interfacesPackage.IMULTI_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Non Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_NON_CONTAINED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerImpl <em>Impl Multi Ref Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefContainer()
+ * @generated
+ */
+ int IMPL_MULTI_REF_CONTAINER = 23;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINER__ELEMENTS = model4interfacesPackage.IMULTI_REF_CONTAINER__ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINER_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainedElementImpl <em>Impl Multi Ref Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefContainedElement()
+ * @generated
+ */
+ int IMPL_MULTI_REF_CONTAINED_ELEMENT = 24;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINED_ELEMENT__PARENT = model4interfacesPackage.IMULTI_REF_CONTAINED_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME = model4interfacesPackage.IMULTI_REF_CONTAINED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Contained Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINED_ELEMENT_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_CONTAINED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerNPLImpl <em>Impl Single Ref Container NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefContainerNPL()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_CONTAINER_NPL = 25;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINER_NPL__ELEMENT = model4interfacesPackage.ISINGLE_REF_CONTAINER_NPL__ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Container NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_CONTAINER_NPL_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_CONTAINER_NPL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerNPLImpl <em>Impl Single Ref Non Container NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefNonContainerNPL()
+ * @generated
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER_NPL = 26;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER_NPL__ELEMENT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINER_NPL__ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Impl Single Ref Non Container NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_SINGLE_REF_NON_CONTAINER_NPL_FEATURE_COUNT = model4interfacesPackage.ISINGLE_REF_NON_CONTAINER_NPL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerNPLImpl <em>Impl Multi Ref Container NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefContainerNPL()
+ * @generated
+ */
+ int IMPL_MULTI_REF_CONTAINER_NPL = 27;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINER_NPL__ELEMENTS = model4interfacesPackage.IMULTI_REF_CONTAINER_NPL__ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Container NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_CONTAINER_NPL_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_CONTAINER_NPL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerNPLImpl <em>Impl Multi Ref Non Container NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefNonContainerNPL()
+ * @generated
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER_NPL = 28;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER_NPL__ELEMENTS = model4interfacesPackage.IMULTI_REF_NON_CONTAINER_NPL__ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Impl Multi Ref Non Container NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_MULTI_REF_NON_CONTAINER_NPL_FEATURE_COUNT = model4interfacesPackage.IMULTI_REF_NON_CONTAINER_NPL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplContainedElementNPLImpl <em>Impl Contained Element NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplContainedElementNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplContainedElementNPL()
+ * @generated
+ */
+ int IMPL_CONTAINED_ELEMENT_NPL = 29;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_CONTAINED_ELEMENT_NPL__NAME = model4interfacesPackage.ICONTAINED_ELEMENT_NO_PARENT_LINK_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Impl Contained Element NPL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPL_CONTAINED_ELEMENT_NPL_FEATURE_COUNT = model4interfacesPackage.ICONTAINED_ELEMENT_NO_PARENT_LINK_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContained <em>Ref Single Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Single Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContained
+ * @generated
+ */
+ EClass getRefSingleContained();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContained#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContained#getElement()
+ * @see #getRefSingleContained()
+ * @generated
+ */
+ EReference getRefSingleContained_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement <em>Single Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Single Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleContainedElement
+ * @generated
+ */
+ EClass getSingleContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getName()
+ * @see #getSingleContainedElement()
+ * @generated
+ */
+ EAttribute getSingleContainedElement_Name();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Parent</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleContainedElement#getParent()
+ * @see #getSingleContainedElement()
+ * @generated
+ */
+ EReference getSingleContainedElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContained <em>Ref Single Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Single Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContained
+ * @generated
+ */
+ EClass getRefSingleNonContained();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContained#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContained#getElement()
+ * @see #getRefSingleNonContained()
+ * @generated
+ */
+ EReference getRefSingleNonContained_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement <em>Single Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Single Non Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement
+ * @generated
+ */
+ EClass getSingleNonContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getName()
+ * @see #getSingleNonContainedElement()
+ * @generated
+ */
+ EAttribute getSingleNonContainedElement_Name();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parent</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement#getParent()
+ * @see #getSingleNonContainedElement()
+ * @generated
+ */
+ EReference getSingleNonContainedElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContained <em>Ref Multi Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContained
+ * @generated
+ */
+ EClass getRefMultiContained();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContained#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContained#getElements()
+ * @see #getRefMultiContained()
+ * @generated
+ */
+ EReference getRefMultiContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement <em>Multi Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiContainedElement
+ * @generated
+ */
+ EClass getMultiContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getName()
+ * @see #getMultiContainedElement()
+ * @generated
+ */
+ EAttribute getMultiContainedElement_Name();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Parent</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiContainedElement#getParent()
+ * @see #getMultiContainedElement()
+ * @generated
+ */
+ EReference getMultiContainedElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContained <em>Ref Multi Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContained
+ * @generated
+ */
+ EClass getRefMultiNonContained();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContained#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContained#getElements()
+ * @see #getRefMultiNonContained()
+ * @generated
+ */
+ EReference getRefMultiNonContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement <em>Multi Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Non Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement
+ * @generated
+ */
+ EClass getMultiNonContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#getName()
+ * @see #getMultiNonContainedElement()
+ * @generated
+ */
+ EAttribute getMultiNonContainedElement_Name();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement#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.model4.MultiNonContainedElement#getParent()
+ * @see #getMultiNonContainedElement()
+ * @generated
+ */
+ EReference getMultiNonContainedElement_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL <em>Ref Single Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Single Contained NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL
+ * @generated
+ */
+ EClass getRefSingleContainedNPL();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL#getElement()
+ * @see #getRefSingleContainedNPL()
+ * @generated
+ */
+ EReference getRefSingleContainedNPL_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL <em>Ref Single Non Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Single Non Contained NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL
+ * @generated
+ */
+ EClass getRefSingleNonContainedNPL();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL#getElement()
+ * @see #getRefSingleNonContainedNPL()
+ * @generated
+ */
+ EReference getRefSingleNonContainedNPL_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL <em>Ref Multi Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Contained NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL
+ * @generated
+ */
+ EClass getRefMultiContainedNPL();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL#getElements()
+ * @see #getRefMultiContainedNPL()
+ * @generated
+ */
+ EReference getRefMultiContainedNPL_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL <em>Ref Multi Non Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Multi Non Contained NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL
+ * @generated
+ */
+ EClass getRefMultiNonContainedNPL();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL#getElements()
+ * @see #getRefMultiNonContainedNPL()
+ * @generated
+ */
+ EReference getRefMultiNonContainedNPL_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite <em>Contained Element No Opposite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Contained Element No Opposite</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite
+ * @generated
+ */
+ EClass getContainedElementNoOpposite();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite#getName()
+ * @see #getContainedElementNoOpposite()
+ * @generated
+ */
+ EAttribute getContainedElementNoOpposite_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleContained <em>Gen Ref Single Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Single Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleContained
+ * @generated
+ */
+ EClass getGenRefSingleContained();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleContained#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleContained#getElement()
+ * @see #getGenRefSingleContained()
+ * @generated
+ */
+ EReference getGenRefSingleContained_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained <em>Gen Ref Single Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Single Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained
+ * @generated
+ */
+ EClass getGenRefSingleNonContained();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained#getElement()
+ * @see #getGenRefSingleNonContained()
+ * @generated
+ */
+ EReference getGenRefSingleNonContained_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiContained <em>Gen Ref Multi Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Multi Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiContained
+ * @generated
+ */
+ EClass getGenRefMultiContained();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiContained#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiContained#getElements()
+ * @see #getGenRefMultiContained()
+ * @generated
+ */
+ EReference getGenRefMultiContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained <em>Gen Ref Multi Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gen Ref Multi Non Contained</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained
+ * @generated
+ */
+ EClass getGenRefMultiNonContained();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained#getElements()
+ * @see #getGenRefMultiNonContained()
+ * @generated
+ */
+ EReference getGenRefMultiNonContained_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer <em>Impl Single Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Container</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer
+ * @generated
+ */
+ EClass getImplSingleRefContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement <em>Impl Single Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement
+ * @generated
+ */
+ EClass getImplSingleRefContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement#getName()
+ * @see #getImplSingleRefContainedElement()
+ * @generated
+ */
+ EAttribute getImplSingleRefContainedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer <em>Impl Single Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Non Container</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer
+ * @generated
+ */
+ EClass getImplSingleRefNonContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement <em>Impl Single Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Non Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement
+ * @generated
+ */
+ EClass getImplSingleRefNonContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement#getName()
+ * @see #getImplSingleRefNonContainedElement()
+ * @generated
+ */
+ EAttribute getImplSingleRefNonContainedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer <em>Impl Multi Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Non Container</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer
+ * @generated
+ */
+ EClass getImplMultiRefNonContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement <em>Impl Multi Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Non Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement
+ * @generated
+ */
+ EClass getImplMultiRefNonContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement#getName()
+ * @see #getImplMultiRefNonContainedElement()
+ * @generated
+ */
+ EAttribute getImplMultiRefNonContainedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer <em>Impl Multi Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Container</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer
+ * @generated
+ */
+ EClass getImplMultiRefContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement <em>Impl Multi Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Contained Element</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement
+ * @generated
+ */
+ EClass getImplMultiRefContainedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement#getName()
+ * @see #getImplMultiRefContainedElement()
+ * @generated
+ */
+ EAttribute getImplMultiRefContainedElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL <em>Impl Single Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Container NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL
+ * @generated
+ */
+ EClass getImplSingleRefContainerNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL <em>Impl Single Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Single Ref Non Container NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL
+ * @generated
+ */
+ EClass getImplSingleRefNonContainerNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL <em>Impl Multi Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Container NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL
+ * @generated
+ */
+ EClass getImplMultiRefContainerNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL <em>Impl Multi Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Multi Ref Non Container NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL
+ * @generated
+ */
+ EClass getImplMultiRefNonContainerNPL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL <em>Impl Contained Element NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Impl Contained Element NPL</em>'.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL
+ * @generated
+ */
+ EClass getImplContainedElementNPL();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ model4Factory getmodel4Factory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedImpl <em>Ref Single Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefSingleContained()
+ * @generated
+ */
+ EClass REF_SINGLE_CONTAINED = eINSTANCE.getRefSingleContained();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REF_SINGLE_CONTAINED__ELEMENT = eINSTANCE.getRefSingleContained_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.SingleContainedElementImpl <em>Single Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.SingleContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getSingleContainedElement()
+ * @generated
+ */
+ EClass SINGLE_CONTAINED_ELEMENT = eINSTANCE.getSingleContainedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SINGLE_CONTAINED_ELEMENT__NAME = eINSTANCE.getSingleContainedElement_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SINGLE_CONTAINED_ELEMENT__PARENT = eINSTANCE.getSingleContainedElement_Parent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedImpl <em>Ref Single Non Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefSingleNonContained()
+ * @generated
+ */
+ EClass REF_SINGLE_NON_CONTAINED = eINSTANCE.getRefSingleNonContained();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REF_SINGLE_NON_CONTAINED__ELEMENT = eINSTANCE.getRefSingleNonContained_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.SingleNonContainedElementImpl <em>Single Non Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.SingleNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getSingleNonContainedElement()
+ * @generated
+ */
+ EClass SINGLE_NON_CONTAINED_ELEMENT = eINSTANCE.getSingleNonContainedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SINGLE_NON_CONTAINED_ELEMENT__NAME = eINSTANCE.getSingleNonContainedElement_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SINGLE_NON_CONTAINED_ELEMENT__PARENT = eINSTANCE.getSingleNonContainedElement_Parent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedImpl <em>Ref Multi Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefMultiContained()
+ * @generated
+ */
+ EClass REF_MULTI_CONTAINED = eINSTANCE.getRefMultiContained();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REF_MULTI_CONTAINED__ELEMENTS = eINSTANCE.getRefMultiContained_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.MultiContainedElementImpl <em>Multi Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.MultiContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getMultiContainedElement()
+ * @generated
+ */
+ EClass MULTI_CONTAINED_ELEMENT = eINSTANCE.getMultiContainedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MULTI_CONTAINED_ELEMENT__NAME = eINSTANCE.getMultiContainedElement_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MULTI_CONTAINED_ELEMENT__PARENT = eINSTANCE.getMultiContainedElement_Parent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedImpl <em>Ref Multi Non Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefMultiNonContained()
+ * @generated
+ */
+ EClass REF_MULTI_NON_CONTAINED = eINSTANCE.getRefMultiNonContained();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REF_MULTI_NON_CONTAINED__ELEMENTS = eINSTANCE.getRefMultiNonContained_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.MultiNonContainedElementImpl <em>Multi Non Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.MultiNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getMultiNonContainedElement()
+ * @generated
+ */
+ EClass MULTI_NON_CONTAINED_ELEMENT = eINSTANCE.getMultiNonContainedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MULTI_NON_CONTAINED_ELEMENT__NAME = eINSTANCE.getMultiNonContainedElement_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MULTI_NON_CONTAINED_ELEMENT__PARENT = eINSTANCE.getMultiNonContainedElement_Parent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedNPLImpl <em>Ref Single Contained NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefSingleContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefSingleContainedNPL()
+ * @generated
+ */
+ EClass REF_SINGLE_CONTAINED_NPL = eINSTANCE.getRefSingleContainedNPL();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REF_SINGLE_CONTAINED_NPL__ELEMENT = eINSTANCE.getRefSingleContainedNPL_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedNPLImpl <em>Ref Single Non Contained NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefSingleNonContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefSingleNonContainedNPL()
+ * @generated
+ */
+ EClass REF_SINGLE_NON_CONTAINED_NPL = eINSTANCE.getRefSingleNonContainedNPL();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REF_SINGLE_NON_CONTAINED_NPL__ELEMENT = eINSTANCE.getRefSingleNonContainedNPL_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedNPLImpl <em>Ref Multi Contained NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefMultiContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefMultiContainedNPL()
+ * @generated
+ */
+ EClass REF_MULTI_CONTAINED_NPL = eINSTANCE.getRefMultiContainedNPL();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REF_MULTI_CONTAINED_NPL__ELEMENTS = eINSTANCE.getRefMultiContainedNPL_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedNPLImpl <em>Ref Multi Non Contained NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.RefMultiNonContainedNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getRefMultiNonContainedNPL()
+ * @generated
+ */
+ EClass REF_MULTI_NON_CONTAINED_NPL = eINSTANCE.getRefMultiNonContainedNPL();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REF_MULTI_NON_CONTAINED_NPL__ELEMENTS = eINSTANCE.getRefMultiNonContainedNPL_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ContainedElementNoOppositeImpl <em>Contained Element No Opposite</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ContainedElementNoOppositeImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getContainedElementNoOpposite()
+ * @generated
+ */
+ EClass CONTAINED_ELEMENT_NO_OPPOSITE = eINSTANCE.getContainedElementNoOpposite();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTAINED_ELEMENT_NO_OPPOSITE__NAME = eINSTANCE.getContainedElementNoOpposite_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleContainedImpl <em>Gen Ref Single Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getGenRefSingleContained()
+ * @generated
+ */
+ EClass GEN_REF_SINGLE_CONTAINED = eINSTANCE.getGenRefSingleContained();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GEN_REF_SINGLE_CONTAINED__ELEMENT = eINSTANCE.getGenRefSingleContained_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleNonContainedImpl <em>Gen Ref Single Non Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.GenRefSingleNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getGenRefSingleNonContained()
+ * @generated
+ */
+ EClass GEN_REF_SINGLE_NON_CONTAINED = eINSTANCE.getGenRefSingleNonContained();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GEN_REF_SINGLE_NON_CONTAINED__ELEMENT = eINSTANCE.getGenRefSingleNonContained_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiContainedImpl <em>Gen Ref Multi Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getGenRefMultiContained()
+ * @generated
+ */
+ EClass GEN_REF_MULTI_CONTAINED = eINSTANCE.getGenRefMultiContained();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GEN_REF_MULTI_CONTAINED__ELEMENTS = eINSTANCE.getGenRefMultiContained_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiNonContainedImpl <em>Gen Ref Multi Non Contained</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.GenRefMultiNonContainedImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getGenRefMultiNonContained()
+ * @generated
+ */
+ EClass GEN_REF_MULTI_NON_CONTAINED = eINSTANCE.getGenRefMultiNonContained();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GEN_REF_MULTI_NON_CONTAINED__ELEMENTS = eINSTANCE.getGenRefMultiNonContained_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerImpl <em>Impl Single Ref Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefContainer()
+ * @generated
+ */
+ EClass IMPL_SINGLE_REF_CONTAINER = eINSTANCE.getImplSingleRefContainer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainedElementImpl <em>Impl Single Ref Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefContainedElement()
+ * @generated
+ */
+ EClass IMPL_SINGLE_REF_CONTAINED_ELEMENT = eINSTANCE.getImplSingleRefContainedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPL_SINGLE_REF_CONTAINED_ELEMENT__NAME = eINSTANCE.getImplSingleRefContainedElement_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerImpl <em>Impl Single Ref Non Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefNonContainer()
+ * @generated
+ */
+ EClass IMPL_SINGLE_REF_NON_CONTAINER = eINSTANCE.getImplSingleRefNonContainer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainedElementImpl <em>Impl Single Ref Non Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefNonContainedElement()
+ * @generated
+ */
+ EClass IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT = eINSTANCE.getImplSingleRefNonContainedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT__NAME = eINSTANCE.getImplSingleRefNonContainedElement_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerImpl <em>Impl Multi Ref Non Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefNonContainer()
+ * @generated
+ */
+ EClass IMPL_MULTI_REF_NON_CONTAINER = eINSTANCE.getImplMultiRefNonContainer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainedElementImpl <em>Impl Multi Ref Non Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefNonContainedElement()
+ * @generated
+ */
+ EClass IMPL_MULTI_REF_NON_CONTAINED_ELEMENT = eINSTANCE.getImplMultiRefNonContainedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPL_MULTI_REF_NON_CONTAINED_ELEMENT__NAME = eINSTANCE.getImplMultiRefNonContainedElement_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerImpl <em>Impl Multi Ref Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefContainer()
+ * @generated
+ */
+ EClass IMPL_MULTI_REF_CONTAINER = eINSTANCE.getImplMultiRefContainer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainedElementImpl <em>Impl Multi Ref Contained Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainedElementImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefContainedElement()
+ * @generated
+ */
+ EClass IMPL_MULTI_REF_CONTAINED_ELEMENT = eINSTANCE.getImplMultiRefContainedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPL_MULTI_REF_CONTAINED_ELEMENT__NAME = eINSTANCE.getImplMultiRefContainedElement_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerNPLImpl <em>Impl Single Ref Container NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefContainerNPL()
+ * @generated
+ */
+ EClass IMPL_SINGLE_REF_CONTAINER_NPL = eINSTANCE.getImplSingleRefContainerNPL();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerNPLImpl <em>Impl Single Ref Non Container NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplSingleRefNonContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplSingleRefNonContainerNPL()
+ * @generated
+ */
+ EClass IMPL_SINGLE_REF_NON_CONTAINER_NPL = eINSTANCE.getImplSingleRefNonContainerNPL();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerNPLImpl <em>Impl Multi Ref Container NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefContainerNPL()
+ * @generated
+ */
+ EClass IMPL_MULTI_REF_CONTAINER_NPL = eINSTANCE.getImplMultiRefContainerNPL();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerNPLImpl <em>Impl Multi Ref Non Container NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplMultiRefNonContainerNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplMultiRefNonContainerNPL()
+ * @generated
+ */
+ EClass IMPL_MULTI_REF_NON_CONTAINER_NPL = eINSTANCE.getImplMultiRefNonContainerNPL();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model4.impl.ImplContainedElementNPLImpl <em>Impl Contained Element NPL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.impl.ImplContainedElementNPLImpl
+ * @see org.eclipse.emf.cdo.tests.model4.impl.model4PackageImpl#getImplContainedElementNPL()
+ * @generated
+ */
+ EClass IMPL_CONTAINED_ELEMENT_NPL = eINSTANCE.getImplContainedElementNPL();
+
+ }
+
+} //model4Package
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/util/model4AdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/util/model4AdapterFactory.java
new file mode 100644
index 0000000000..8989269c99
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/util/model4AdapterFactory.java
@@ -0,0 +1,913 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: model4AdapterFactory.java,v 1.1 2008-07-10 15:42:29 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.util;
+
+import org.eclipse.emf.cdo.tests.model4.*;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.INamedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package
+ * @generated
+ */
+public class model4AdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static model4Package modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public model4AdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = model4Package.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected model4Switch<Adapter> modelSwitch =
+ new model4Switch<Adapter>() {
+ @Override
+ public Adapter caseRefSingleContained(RefSingleContained object) {
+ return createRefSingleContainedAdapter();
+ }
+ @Override
+ public Adapter caseSingleContainedElement(SingleContainedElement object) {
+ return createSingleContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseRefSingleNonContained(RefSingleNonContained object) {
+ return createRefSingleNonContainedAdapter();
+ }
+ @Override
+ public Adapter caseSingleNonContainedElement(SingleNonContainedElement object) {
+ return createSingleNonContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseRefMultiContained(RefMultiContained object) {
+ return createRefMultiContainedAdapter();
+ }
+ @Override
+ public Adapter caseMultiContainedElement(MultiContainedElement object) {
+ return createMultiContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseRefMultiNonContained(RefMultiNonContained object) {
+ return createRefMultiNonContainedAdapter();
+ }
+ @Override
+ public Adapter caseMultiNonContainedElement(MultiNonContainedElement object) {
+ return createMultiNonContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseRefSingleContainedNPL(RefSingleContainedNPL object) {
+ return createRefSingleContainedNPLAdapter();
+ }
+ @Override
+ public Adapter caseRefSingleNonContainedNPL(RefSingleNonContainedNPL object) {
+ return createRefSingleNonContainedNPLAdapter();
+ }
+ @Override
+ public Adapter caseRefMultiContainedNPL(RefMultiContainedNPL object) {
+ return createRefMultiContainedNPLAdapter();
+ }
+ @Override
+ public Adapter caseRefMultiNonContainedNPL(RefMultiNonContainedNPL object) {
+ return createRefMultiNonContainedNPLAdapter();
+ }
+ @Override
+ public Adapter caseContainedElementNoOpposite(ContainedElementNoOpposite object) {
+ return createContainedElementNoOppositeAdapter();
+ }
+ @Override
+ public Adapter caseGenRefSingleContained(GenRefSingleContained object) {
+ return createGenRefSingleContainedAdapter();
+ }
+ @Override
+ public Adapter caseGenRefSingleNonContained(GenRefSingleNonContained object) {
+ return createGenRefSingleNonContainedAdapter();
+ }
+ @Override
+ public Adapter caseGenRefMultiContained(GenRefMultiContained object) {
+ return createGenRefMultiContainedAdapter();
+ }
+ @Override
+ public Adapter caseGenRefMultiNonContained(GenRefMultiNonContained object) {
+ return createGenRefMultiNonContainedAdapter();
+ }
+ @Override
+ public Adapter caseImplSingleRefContainer(ImplSingleRefContainer object) {
+ return createImplSingleRefContainerAdapter();
+ }
+ @Override
+ public Adapter caseImplSingleRefContainedElement(ImplSingleRefContainedElement object) {
+ return createImplSingleRefContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseImplSingleRefNonContainer(ImplSingleRefNonContainer object) {
+ return createImplSingleRefNonContainerAdapter();
+ }
+ @Override
+ public Adapter caseImplSingleRefNonContainedElement(ImplSingleRefNonContainedElement object) {
+ return createImplSingleRefNonContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseImplMultiRefNonContainer(ImplMultiRefNonContainer object) {
+ return createImplMultiRefNonContainerAdapter();
+ }
+ @Override
+ public Adapter caseImplMultiRefNonContainedElement(ImplMultiRefNonContainedElement object) {
+ return createImplMultiRefNonContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseImplMultiRefContainer(ImplMultiRefContainer object) {
+ return createImplMultiRefContainerAdapter();
+ }
+ @Override
+ public Adapter caseImplMultiRefContainedElement(ImplMultiRefContainedElement object) {
+ return createImplMultiRefContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseImplSingleRefContainerNPL(ImplSingleRefContainerNPL object) {
+ return createImplSingleRefContainerNPLAdapter();
+ }
+ @Override
+ public Adapter caseImplSingleRefNonContainerNPL(ImplSingleRefNonContainerNPL object) {
+ return createImplSingleRefNonContainerNPLAdapter();
+ }
+ @Override
+ public Adapter caseImplMultiRefContainerNPL(ImplMultiRefContainerNPL object) {
+ return createImplMultiRefContainerNPLAdapter();
+ }
+ @Override
+ public Adapter caseImplMultiRefNonContainerNPL(ImplMultiRefNonContainerNPL object) {
+ return createImplMultiRefNonContainerNPLAdapter();
+ }
+ @Override
+ public Adapter caseImplContainedElementNPL(ImplContainedElementNPL object) {
+ return createImplContainedElementNPLAdapter();
+ }
+ @Override
+ public Adapter caseISingleRefContainer(ISingleRefContainer object) {
+ return createISingleRefContainerAdapter();
+ }
+ @Override
+ public Adapter caseISingleRefContainedElement(ISingleRefContainedElement object) {
+ return createISingleRefContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseISingleRefNonContainer(ISingleRefNonContainer object) {
+ return createISingleRefNonContainerAdapter();
+ }
+ @Override
+ public Adapter caseISingleRefNonContainedElement(ISingleRefNonContainedElement object) {
+ return createISingleRefNonContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseIMultiRefNonContainer(IMultiRefNonContainer object) {
+ return createIMultiRefNonContainerAdapter();
+ }
+ @Override
+ public Adapter caseIMultiRefNonContainedElement(IMultiRefNonContainedElement object) {
+ return createIMultiRefNonContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseIMultiRefContainer(IMultiRefContainer object) {
+ return createIMultiRefContainerAdapter();
+ }
+ @Override
+ public Adapter caseIMultiRefContainedElement(IMultiRefContainedElement object) {
+ return createIMultiRefContainedElementAdapter();
+ }
+ @Override
+ public Adapter caseISingleRefContainerNPL(ISingleRefContainerNPL object) {
+ return createISingleRefContainerNPLAdapter();
+ }
+ @Override
+ public Adapter caseISingleRefNonContainerNPL(ISingleRefNonContainerNPL object) {
+ return createISingleRefNonContainerNPLAdapter();
+ }
+ @Override
+ public Adapter caseIMultiRefContainerNPL(IMultiRefContainerNPL object) {
+ return createIMultiRefContainerNPLAdapter();
+ }
+ @Override
+ public Adapter caseIMultiRefNonContainerNPL(IMultiRefNonContainerNPL object) {
+ return createIMultiRefNonContainerNPLAdapter();
+ }
+ @Override
+ public Adapter caseIContainedElementNoParentLink(IContainedElementNoParentLink object) {
+ return createIContainedElementNoParentLinkAdapter();
+ }
+ @Override
+ public Adapter caseINamedElement(INamedElement object) {
+ return createINamedElementAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContained <em>Ref Single Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContained
+ * @generated
+ */
+ public Adapter createRefSingleContainedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.SingleContainedElement <em>Single Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleContainedElement
+ * @generated
+ */
+ public Adapter createSingleContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContained <em>Ref Single Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContained
+ * @generated
+ */
+ public Adapter createRefSingleNonContainedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement <em>Single Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.SingleNonContainedElement
+ * @generated
+ */
+ public Adapter createSingleNonContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContained <em>Ref Multi Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContained
+ * @generated
+ */
+ public Adapter createRefMultiContainedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.MultiContainedElement <em>Multi Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiContainedElement
+ * @generated
+ */
+ public Adapter createMultiContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContained <em>Ref Multi Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContained
+ * @generated
+ */
+ public Adapter createRefMultiNonContainedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement <em>Multi Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.MultiNonContainedElement
+ * @generated
+ */
+ public Adapter createMultiNonContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL <em>Ref Single Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL
+ * @generated
+ */
+ public Adapter createRefSingleContainedNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL <em>Ref Single Non Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL
+ * @generated
+ */
+ public Adapter createRefSingleNonContainedNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL <em>Ref Multi Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL
+ * @generated
+ */
+ public Adapter createRefMultiContainedNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL <em>Ref Multi Non Contained NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL
+ * @generated
+ */
+ public Adapter createRefMultiNonContainedNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite <em>Contained Element No Opposite</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ContainedElementNoOpposite
+ * @generated
+ */
+ public Adapter createContainedElementNoOppositeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleContained <em>Gen Ref Single Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleContained
+ * @generated
+ */
+ public Adapter createGenRefSingleContainedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained <em>Gen Ref Single Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefSingleNonContained
+ * @generated
+ */
+ public Adapter createGenRefSingleNonContainedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiContained <em>Gen Ref Multi Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiContained
+ * @generated
+ */
+ public Adapter createGenRefMultiContainedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained <em>Gen Ref Multi Non Contained</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.GenRefMultiNonContained
+ * @generated
+ */
+ public Adapter createGenRefMultiNonContainedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer <em>Impl Single Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainer
+ * @generated
+ */
+ public Adapter createImplSingleRefContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement <em>Impl Single Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainedElement
+ * @generated
+ */
+ public Adapter createImplSingleRefContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer <em>Impl Single Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainer
+ * @generated
+ */
+ public Adapter createImplSingleRefNonContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement <em>Impl Single Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainedElement
+ * @generated
+ */
+ public Adapter createImplSingleRefNonContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer <em>Impl Multi Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainer
+ * @generated
+ */
+ public Adapter createImplMultiRefNonContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement <em>Impl Multi Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainedElement
+ * @generated
+ */
+ public Adapter createImplMultiRefNonContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer <em>Impl Multi Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainer
+ * @generated
+ */
+ public Adapter createImplMultiRefContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement <em>Impl Multi Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainedElement
+ * @generated
+ */
+ public Adapter createImplMultiRefContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL <em>Impl Single Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefContainerNPL
+ * @generated
+ */
+ public Adapter createImplSingleRefContainerNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL <em>Impl Single Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplSingleRefNonContainerNPL
+ * @generated
+ */
+ public Adapter createImplSingleRefNonContainerNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL <em>Impl Multi Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefContainerNPL
+ * @generated
+ */
+ public Adapter createImplMultiRefContainerNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL <em>Impl Multi Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplMultiRefNonContainerNPL
+ * @generated
+ */
+ public Adapter createImplMultiRefNonContainerNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL <em>Impl Contained Element NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4.ImplContainedElementNPL
+ * @generated
+ */
+ public Adapter createImplContainedElementNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer <em>ISingle Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer
+ * @generated
+ */
+ public Adapter createISingleRefContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement <em>ISingle Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement
+ * @generated
+ */
+ public Adapter createISingleRefContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer <em>ISingle Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer
+ * @generated
+ */
+ public Adapter createISingleRefNonContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement <em>ISingle Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement
+ * @generated
+ */
+ public Adapter createISingleRefNonContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer <em>IMulti Ref Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer
+ * @generated
+ */
+ public Adapter createIMultiRefNonContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement <em>IMulti Ref Non Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement
+ * @generated
+ */
+ public Adapter createIMultiRefNonContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer <em>IMulti Ref Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer
+ * @generated
+ */
+ public Adapter createIMultiRefContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement <em>IMulti Ref Contained Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement
+ * @generated
+ */
+ public Adapter createIMultiRefContainedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL <em>ISingle Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL
+ * @generated
+ */
+ public Adapter createISingleRefContainerNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL <em>ISingle Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL
+ * @generated
+ */
+ public Adapter createISingleRefNonContainerNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL <em>IMulti Ref Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL
+ * @generated
+ */
+ public Adapter createIMultiRefContainerNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL <em>IMulti Ref Non Container NPL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL
+ * @generated
+ */
+ public Adapter createIMultiRefNonContainerNPLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink <em>IContained Element No Parent Link</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink
+ * @generated
+ */
+ public Adapter createIContainedElementNoParentLinkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model4interfaces.INamedElement <em>INamed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model4interfaces.INamedElement
+ * @generated
+ */
+ public Adapter createINamedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //model4AdapterFactory
diff --git a/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/util/model4Switch.java b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/util/model4Switch.java
new file mode 100644
index 0000000000..fa97f51491
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model4/src/org/eclipse/emf/cdo/tests/model4/util/model4Switch.java
@@ -0,0 +1,978 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: model4Switch.java,v 1.1 2008-07-10 15:42:29 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.model4.util;
+
+import java.util.List;
+
+import org.eclipse.emf.cdo.tests.model4.*;
+
+import org.eclipse.emf.cdo.tests.model4interfaces.IContainedElementNoParentLink;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.IMultiRefNonContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.INamedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefContainerNPL;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainedElement;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainer;
+import org.eclipse.emf.cdo.tests.model4interfaces.ISingleRefNonContainerNPL;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model4.model4Package
+ * @generated
+ */
+public class model4Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static model4Package modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public model4Switch() {
+ if (modelPackage == null) {
+ modelPackage = model4Package.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case model4Package.REF_SINGLE_CONTAINED: {
+ RefSingleContained refSingleContained = (RefSingleContained)theEObject;
+ T result = caseRefSingleContained(refSingleContained);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.SINGLE_CONTAINED_ELEMENT: {
+ SingleContainedElement singleContainedElement = (SingleContainedElement)theEObject;
+ T result = caseSingleContainedElement(singleContainedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_SINGLE_NON_CONTAINED: {
+ RefSingleNonContained refSingleNonContained = (RefSingleNonContained)theEObject;
+ T result = caseRefSingleNonContained(refSingleNonContained);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.SINGLE_NON_CONTAINED_ELEMENT: {
+ SingleNonContainedElement singleNonContainedElement = (SingleNonContainedElement)theEObject;
+ T result = caseSingleNonContainedElement(singleNonContainedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_CONTAINED: {
+ RefMultiContained refMultiContained = (RefMultiContained)theEObject;
+ T result = caseRefMultiContained(refMultiContained);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.MULTI_CONTAINED_ELEMENT: {
+ MultiContainedElement multiContainedElement = (MultiContainedElement)theEObject;
+ T result = caseMultiContainedElement(multiContainedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_NON_CONTAINED: {
+ RefMultiNonContained refMultiNonContained = (RefMultiNonContained)theEObject;
+ T result = caseRefMultiNonContained(refMultiNonContained);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.MULTI_NON_CONTAINED_ELEMENT: {
+ MultiNonContainedElement multiNonContainedElement = (MultiNonContainedElement)theEObject;
+ T result = caseMultiNonContainedElement(multiNonContainedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_SINGLE_CONTAINED_NPL: {
+ RefSingleContainedNPL refSingleContainedNPL = (RefSingleContainedNPL)theEObject;
+ T result = caseRefSingleContainedNPL(refSingleContainedNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_SINGLE_NON_CONTAINED_NPL: {
+ RefSingleNonContainedNPL refSingleNonContainedNPL = (RefSingleNonContainedNPL)theEObject;
+ T result = caseRefSingleNonContainedNPL(refSingleNonContainedNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_CONTAINED_NPL: {
+ RefMultiContainedNPL refMultiContainedNPL = (RefMultiContainedNPL)theEObject;
+ T result = caseRefMultiContainedNPL(refMultiContainedNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.REF_MULTI_NON_CONTAINED_NPL: {
+ RefMultiNonContainedNPL refMultiNonContainedNPL = (RefMultiNonContainedNPL)theEObject;
+ T result = caseRefMultiNonContainedNPL(refMultiNonContainedNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.CONTAINED_ELEMENT_NO_OPPOSITE: {
+ ContainedElementNoOpposite containedElementNoOpposite = (ContainedElementNoOpposite)theEObject;
+ T result = caseContainedElementNoOpposite(containedElementNoOpposite);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_SINGLE_CONTAINED: {
+ GenRefSingleContained genRefSingleContained = (GenRefSingleContained)theEObject;
+ T result = caseGenRefSingleContained(genRefSingleContained);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_SINGLE_NON_CONTAINED: {
+ GenRefSingleNonContained genRefSingleNonContained = (GenRefSingleNonContained)theEObject;
+ T result = caseGenRefSingleNonContained(genRefSingleNonContained);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_MULTI_CONTAINED: {
+ GenRefMultiContained genRefMultiContained = (GenRefMultiContained)theEObject;
+ T result = caseGenRefMultiContained(genRefMultiContained);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.GEN_REF_MULTI_NON_CONTAINED: {
+ GenRefMultiNonContained genRefMultiNonContained = (GenRefMultiNonContained)theEObject;
+ T result = caseGenRefMultiNonContained(genRefMultiNonContained);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_CONTAINER: {
+ ImplSingleRefContainer implSingleRefContainer = (ImplSingleRefContainer)theEObject;
+ T result = caseImplSingleRefContainer(implSingleRefContainer);
+ if (result == null) result = caseISingleRefContainer(implSingleRefContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_CONTAINED_ELEMENT: {
+ ImplSingleRefContainedElement implSingleRefContainedElement = (ImplSingleRefContainedElement)theEObject;
+ T result = caseImplSingleRefContainedElement(implSingleRefContainedElement);
+ if (result == null) result = caseISingleRefContainedElement(implSingleRefContainedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER: {
+ ImplSingleRefNonContainer implSingleRefNonContainer = (ImplSingleRefNonContainer)theEObject;
+ T result = caseImplSingleRefNonContainer(implSingleRefNonContainer);
+ if (result == null) result = caseISingleRefNonContainer(implSingleRefNonContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINED_ELEMENT: {
+ ImplSingleRefNonContainedElement implSingleRefNonContainedElement = (ImplSingleRefNonContainedElement)theEObject;
+ T result = caseImplSingleRefNonContainedElement(implSingleRefNonContainedElement);
+ if (result == null) result = caseISingleRefNonContainedElement(implSingleRefNonContainedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER: {
+ ImplMultiRefNonContainer implMultiRefNonContainer = (ImplMultiRefNonContainer)theEObject;
+ T result = caseImplMultiRefNonContainer(implMultiRefNonContainer);
+ if (result == null) result = caseIMultiRefNonContainer(implMultiRefNonContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINED_ELEMENT: {
+ ImplMultiRefNonContainedElement implMultiRefNonContainedElement = (ImplMultiRefNonContainedElement)theEObject;
+ T result = caseImplMultiRefNonContainedElement(implMultiRefNonContainedElement);
+ if (result == null) result = caseIMultiRefNonContainedElement(implMultiRefNonContainedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_CONTAINER: {
+ ImplMultiRefContainer implMultiRefContainer = (ImplMultiRefContainer)theEObject;
+ T result = caseImplMultiRefContainer(implMultiRefContainer);
+ if (result == null) result = caseIMultiRefContainer(implMultiRefContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_CONTAINED_ELEMENT: {
+ ImplMultiRefContainedElement implMultiRefContainedElement = (ImplMultiRefContainedElement)theEObject;
+ T result = caseImplMultiRefContainedElement(implMultiRefContainedElement);
+ if (result == null) result = caseIMultiRefContainedElement(implMultiRefContainedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_CONTAINER_NPL: {
+ ImplSingleRefContainerNPL implSingleRefContainerNPL = (ImplSingleRefContainerNPL)theEObject;
+ T result = caseImplSingleRefContainerNPL(implSingleRefContainerNPL);
+ if (result == null) result = caseISingleRefContainerNPL(implSingleRefContainerNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_SINGLE_REF_NON_CONTAINER_NPL: {
+ ImplSingleRefNonContainerNPL implSingleRefNonContainerNPL = (ImplSingleRefNonContainerNPL)theEObject;
+ T result = caseImplSingleRefNonContainerNPL(implSingleRefNonContainerNPL);
+ if (result == null) result = caseISingleRefNonContainerNPL(implSingleRefNonContainerNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_CONTAINER_NPL: {
+ ImplMultiRefContainerNPL implMultiRefContainerNPL = (ImplMultiRefContainerNPL)theEObject;
+ T result = caseImplMultiRefContainerNPL(implMultiRefContainerNPL);
+ if (result == null) result = caseIMultiRefContainerNPL(implMultiRefContainerNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_MULTI_REF_NON_CONTAINER_NPL: {
+ ImplMultiRefNonContainerNPL implMultiRefNonContainerNPL = (ImplMultiRefNonContainerNPL)theEObject;
+ T result = caseImplMultiRefNonContainerNPL(implMultiRefNonContainerNPL);
+ if (result == null) result = caseIMultiRefNonContainerNPL(implMultiRefNonContainerNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case model4Package.IMPL_CONTAINED_ELEMENT_NPL: {
+ ImplContainedElementNPL implContainedElementNPL = (ImplContainedElementNPL)theEObject;
+ T result = caseImplContainedElementNPL(implContainedElementNPL);
+ if (result == null) result = caseIContainedElementNoParentLink(implContainedElementNPL);
+ if (result == null) result = caseINamedElement(implContainedElementNPL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Single Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Single Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefSingleContained(RefSingleContained object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Single Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Single Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSingleContainedElement(SingleContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Single Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Single Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefSingleNonContained(RefSingleNonContained object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Single Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Single Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSingleNonContainedElement(SingleNonContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiContained(RefMultiContained object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Multi Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiContainedElement(MultiContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiNonContained(RefMultiNonContained object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Multi Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiNonContainedElement(MultiNonContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Single Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Single Contained NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefSingleContainedNPL(RefSingleContainedNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Single Non Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Single Non Contained NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefSingleNonContainedNPL(RefSingleNonContainedNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Contained NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiContainedNPL(RefMultiContainedNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Multi Non Contained NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Multi Non Contained NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefMultiNonContainedNPL(RefMultiNonContainedNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Contained Element No Opposite</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Contained Element No Opposite</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainedElementNoOpposite(ContainedElementNoOpposite object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Single Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Single Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefSingleContained(GenRefSingleContained object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Single Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Single Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefSingleNonContained(GenRefSingleNonContained object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Multi Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Multi Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefMultiContained(GenRefMultiContained object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gen Ref Multi Non Contained</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gen Ref Multi Non Contained</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenRefMultiNonContained(GenRefMultiNonContained object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefContainer(ImplSingleRefContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefContainedElement(ImplSingleRefContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefNonContainer(ImplSingleRefNonContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefNonContainedElement(ImplSingleRefNonContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefNonContainer(ImplMultiRefNonContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefNonContainedElement(ImplMultiRefNonContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefContainer(ImplMultiRefContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefContainedElement(ImplMultiRefContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefContainerNPL(ImplSingleRefContainerNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Single Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Single Ref Non Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplSingleRefNonContainerNPL(ImplSingleRefNonContainerNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefContainerNPL(ImplMultiRefContainerNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Multi Ref Non Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplMultiRefNonContainerNPL(ImplMultiRefNonContainerNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Impl Contained Element NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Impl Contained Element NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplContainedElementNPL(ImplContainedElementNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefContainer(ISingleRefContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefContainedElement(ISingleRefContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefNonContainer(ISingleRefNonContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefNonContainedElement(ISingleRefNonContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefNonContainer(IMultiRefNonContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Non Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Non Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefNonContainedElement(IMultiRefNonContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefContainer(IMultiRefContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Contained Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Contained Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefContainedElement(IMultiRefContainedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefContainerNPL(ISingleRefContainerNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ISingle Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ISingle Ref Non Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseISingleRefNonContainerNPL(ISingleRefNonContainerNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefContainerNPL(IMultiRefContainerNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IMulti Ref Non Container NPL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IMulti Ref Non Container NPL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIMultiRefNonContainerNPL(IMultiRefNonContainerNPL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IContained Element No Parent Link</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IContained Element No Parent Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIContainedElementNoParentLink(IContainedElementNoParentLink object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>INamed Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>INamed Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseINamedElement(INamedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //model4Switch

Back to the top