Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen')
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AbstractDomainCS.java34
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AnyElementCS.java32
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/CollectionTemplateCS.java83
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DefaultValueCS.java95
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DomainCS.java220
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/KeyDeclCS.java102
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ModelDeclCS.java56
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ObjectTemplateCS.java54
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ParamDeclarationCS.java65
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PrimitiveTypeDomainCS.java63
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PropertyTemplateCS.java123
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTFactory.java209
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTPackage.java3027
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QueryCS.java143
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/RelationCS.java183
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateCS.java64
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateVariableCS.java94
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TopLevelCS.java73
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TransformationCS.java126
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/UnitCS.java58
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/VarDeclarationCS.java86
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhenCS.java58
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhereCS.java58
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AbstractDomainCSImpl.java60
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AnyElementCSImpl.java60
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/CollectionTemplateCSImpl.java235
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DefaultValueCSImpl.java256
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DomainCSImpl.java537
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/KeyDeclCSImpl.java250
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ModelDeclCSImpl.java150
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ObjectTemplateCSImpl.java167
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ParamDeclarationCSImpl.java194
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PrimitiveTypeDomainCSImpl.java174
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PropertyTemplateCSImpl.java318
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTFactoryImpl.java312
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTPackageImpl.java1146
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QueryCSImpl.java378
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/RelationCSImpl.java464
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateCSImpl.java269
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateVariableCSImpl.java256
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TopLevelCSImpl.java205
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TransformationCSImpl.java315
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/UnitCSImpl.java151
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/VarDeclarationCSImpl.java234
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhenCSImpl.java168
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhereCSImpl.java168
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractDelegatingQVTrelationCSVisitor.java127
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingDelegatingQVTrelationCSVisitor.java130
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingQVTrelationCSVisitor.java131
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractNullQVTrelationCSVisitor.java127
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractQVTrelationCSVisitor.java42
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/DecorableQVTrelationCSVisitor.java34
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTAdapterFactory.java650
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceFactoryImpl.java55
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceImpl.java42
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTSwitch.java781
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTXMLProcessor.java64
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSVisitor.java53
58 files changed, 13809 insertions, 0 deletions
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AbstractDomainCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AbstractDomainCS.java
new file mode 100644
index 000000000..0087aad2d
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AbstractDomainCS.java
@@ -0,0 +1,34 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.pivot.util.Nameable;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getAbstractDomainCS()
+ * @model abstract="true" superTypes="org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS org.eclipse.ocl.examples.pivot.Nameable"
+ * @generated
+ */
+public interface AbstractDomainCS extends ModelElementCS, Nameable {
+} // AbstractDomainCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AnyElementCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AnyElementCS.java
new file mode 100644
index 000000000..2ab2212f1
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AnyElementCS.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Any Element CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getAnyElementCS()
+ * @model
+ * @generated
+ */
+public interface AnyElementCS extends ExpCS {
+} // AnyElementCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/CollectionTemplateCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/CollectionTemplateCS.java
new file mode 100644
index 000000000..22f78fe79
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/CollectionTemplateCS.java
@@ -0,0 +1,83 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Collection Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getMemberIdentifier <em>Member Identifier</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getRestIdentifier <em>Rest Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getCollectionTemplateCS()
+ * @model
+ * @generated
+ */
+public interface CollectionTemplateCS extends TemplateCS {
+ /**
+ * Returns the value of the '<em><b>Member Identifier</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Member Identifier</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>Member Identifier</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getCollectionTemplateCS_MemberIdentifier()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ExpCS> getMemberIdentifier();
+
+ /**
+ * Returns the value of the '<em><b>Rest Identifier</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rest Identifier</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>Rest Identifier</em>' containment reference.
+ * @see #setRestIdentifier(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getCollectionTemplateCS_RestIdentifier()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ ExpCS getRestIdentifier();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getRestIdentifier <em>Rest Identifier</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Rest Identifier</em>' containment reference.
+ * @see #getRestIdentifier()
+ * @generated
+ */
+ void setRestIdentifier(ExpCS value);
+
+} // CollectionTemplateCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DefaultValueCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DefaultValueCS.java
new file mode 100644
index 000000000..4b1f85691
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DefaultValueCS.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Default Value CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getInitialiser <em>Initialiser</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getPropertyId <em>Property Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDefaultValueCS()
+ * @model
+ * @generated
+ */
+public interface DefaultValueCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Initialiser</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Initialiser</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>Initialiser</em>' containment reference.
+ * @see #setInitialiser(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDefaultValueCS_Initialiser()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ ExpCS getInitialiser();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getInitialiser <em>Initialiser</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Initialiser</em>' containment reference.
+ * @see #getInitialiser()
+ * @generated
+ */
+ void setInitialiser(ExpCS value);
+
+ /**
+ * Returns the value of the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Id</em>' reference.
+ * @see #setPropertyId(Property)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDefaultValueCS_PropertyId()
+ * @model required="true"
+ * @generated
+ */
+ Property getPropertyId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getPropertyId <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property Id</em>' reference.
+ * @see #getPropertyId()
+ * @generated
+ */
+ void setPropertyId(Property value);
+
+} // DefaultValueCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DomainCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DomainCS.java
new file mode 100644
index 000000000..fec4e73d6
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DomainCS.java
@@ -0,0 +1,220 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isCheckonly <em>Checkonly</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isEnforce <em>Enforce</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getModelId <em>Model Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isReplace <em>Replace</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getTemplate <em>Template</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getImplementedBy <em>Implemented By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS()
+ * @model
+ * @generated
+ */
+public interface DomainCS extends AbstractDomainCS {
+ /**
+ * Returns the value of the '<em><b>Checkonly</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Checkonly</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Checkonly</em>' attribute.
+ * @see #setCheckonly(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_Checkonly()
+ * @model
+ * @generated
+ */
+ boolean isCheckonly();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isCheckonly <em>Checkonly</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Checkonly</em>' attribute.
+ * @see #isCheckonly()
+ * @generated
+ */
+ void setCheckonly(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Enforce</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enforce</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enforce</em>' attribute.
+ * @see #setEnforce(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_Enforce()
+ * @model
+ * @generated
+ */
+ boolean isEnforce();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isEnforce <em>Enforce</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enforce</em>' attribute.
+ * @see #isEnforce()
+ * @generated
+ */
+ void setEnforce(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Model Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Model Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model Id</em>' reference.
+ * @see #setModelId(TypedModel)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_ModelId()
+ * @model
+ * @generated
+ */
+ TypedModel getModelId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getModelId <em>Model Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Model Id</em>' reference.
+ * @see #getModelId()
+ * @generated
+ */
+ void setModelId(TypedModel value);
+
+ /**
+ * Returns the value of the '<em><b>Replace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Replace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Replace</em>' attribute.
+ * @see #setReplace(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_Replace()
+ * @model
+ * @generated
+ */
+ boolean isReplace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isReplace <em>Replace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Replace</em>' attribute.
+ * @see #isReplace()
+ * @generated
+ */
+ void setReplace(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Template</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Template</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>Template</em>' containment reference.
+ * @see #setTemplate(TemplateCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_Template()
+ * @model containment="true"
+ * @generated
+ */
+ TemplateCS getTemplate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getTemplate <em>Template</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Template</em>' containment reference.
+ * @see #getTemplate()
+ * @generated
+ */
+ void setTemplate(TemplateCS value);
+
+ /**
+ * Returns the value of the '<em><b>Default Value</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Value</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>Default Value</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_DefaultValue()
+ * @model containment="true"
+ * @generated
+ */
+ EList<DefaultValueCS> getDefaultValue();
+
+ /**
+ * Returns the value of the '<em><b>Implemented By</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implemented By</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>Implemented By</em>' containment reference.
+ * @see #setImplementedBy(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_ImplementedBy()
+ * @model containment="true"
+ * @generated
+ */
+ ExpCS getImplementedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getImplementedBy <em>Implemented By</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implemented By</em>' containment reference.
+ * @see #getImplementedBy()
+ * @generated
+ */
+ void setImplementedBy(ExpCS value);
+
+} // DomainCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/KeyDeclCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/KeyDeclCS.java
new file mode 100644
index 000000000..f1a9979b5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/KeyDeclCS.java
@@ -0,0 +1,102 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PathNameCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Key Decl CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPropertyId <em>Property Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getClassId <em>Class Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getKeyDeclCS()
+ * @model
+ * @generated
+ */
+public interface KeyDeclCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Path Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path Name</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>Path Name</em>' containment reference.
+ * @see #setPathName(PathNameCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getKeyDeclCS_PathName()
+ * @model containment="true"
+ * @generated
+ */
+ PathNameCS getPathName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPathName <em>Path Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path Name</em>' containment reference.
+ * @see #getPathName()
+ * @generated
+ */
+ void setPathName(PathNameCS value);
+
+ /**
+ * Returns the value of the '<em><b>Property Id</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.pivot.Property}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Id</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>Property Id</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getKeyDeclCS_PropertyId()
+ * @model
+ * @generated
+ */
+ EList<Property> getPropertyId();
+
+ /**
+ * Returns the value of the '<em><b>Class Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class Id</em>' reference.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getKeyDeclCS_ClassId()
+ * @model resolveProxies="false" transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ org.eclipse.ocl.examples.pivot.Class getClassId();
+
+} // KeyDeclCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ModelDeclCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ModelDeclCS.java
new file mode 100644
index 000000000..aca64af6c
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ModelDeclCS.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Model Decl CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS#getMetaModelId <em>Meta Model Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getModelDeclCS()
+ * @model
+ * @generated
+ */
+public interface ModelDeclCS extends NamedElementCS {
+ /**
+ * Returns the value of the '<em><b>Meta Model Id</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.pivot.Package}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Meta Model Id</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>Meta Model Id</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getModelDeclCS_MetaModelId()
+ * @model
+ * @generated
+ */
+ EList<org.eclipse.ocl.examples.pivot.Package> getMetaModelId();
+
+} // ModelDeclCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ObjectTemplateCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ObjectTemplateCS.java
new file mode 100644
index 000000000..43c738834
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ObjectTemplateCS.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Object Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS#getPropertyTemplate <em>Property Template</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getObjectTemplateCS()
+ * @model
+ * @generated
+ */
+public interface ObjectTemplateCS extends TemplateCS {
+ /**
+ * Returns the value of the '<em><b>Property Template</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Template</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>Property Template</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getObjectTemplateCS_PropertyTemplate()
+ * @model containment="true"
+ * @generated
+ */
+ EList<PropertyTemplateCS> getPropertyTemplate();
+
+} // ObjectTemplateCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ParamDeclarationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ParamDeclarationCS.java
new file mode 100644
index 000000000..cac973966
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ParamDeclarationCS.java
@@ -0,0 +1,65 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedRefCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Param Declaration CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getParamDeclarationCS()
+ * @model
+ * @generated
+ */
+public interface ParamDeclarationCS extends NamedElementCS {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</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>Type</em>' containment reference.
+ * @see #setType(TypedRefCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getParamDeclarationCS_Type()
+ * @model containment="true"
+ * @generated
+ */
+ TypedRefCS getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypedRefCS value);
+
+} // ParamDeclarationCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PrimitiveTypeDomainCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PrimitiveTypeDomainCS.java
new file mode 100644
index 000000000..501f70824
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PrimitiveTypeDomainCS.java
@@ -0,0 +1,63 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Primitive Type Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPrimitiveTypeDomainCS()
+ * @model
+ * @generated
+ */
+public interface PrimitiveTypeDomainCS extends TemplateVariableCS, AbstractDomainCS {
+ /**
+ * 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.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPrimitiveTypeDomainCS_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS#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);
+
+} // PrimitiveTypeDomainCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PropertyTemplateCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PropertyTemplateCS.java
new file mode 100644
index 000000000..b45384a80
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PropertyTemplateCS.java
@@ -0,0 +1,123 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getPropertyId <em>Property Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getOclExpression <em>Ocl Expression</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#isOpposite <em>Opposite</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPropertyTemplateCS()
+ * @model
+ * @generated
+ */
+public interface PropertyTemplateCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Id</em>' reference.
+ * @see #setPropertyId(Property)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPropertyTemplateCS_PropertyId()
+ * @model
+ * @generated
+ */
+ Property getPropertyId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getPropertyId <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property Id</em>' reference.
+ * @see #getPropertyId()
+ * @generated
+ */
+ void setPropertyId(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Ocl Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ocl Expression</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>Ocl Expression</em>' containment reference.
+ * @see #setOclExpression(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPropertyTemplateCS_OclExpression()
+ * @model containment="true"
+ * @generated
+ */
+ ExpCS getOclExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getOclExpression <em>Ocl Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ocl Expression</em>' containment reference.
+ * @see #getOclExpression()
+ * @generated
+ */
+ void setOclExpression(ExpCS value);
+
+ /**
+ * Returns the value of the '<em><b>Opposite</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Opposite</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Opposite</em>' attribute.
+ * @see #setOpposite(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPropertyTemplateCS_Opposite()
+ * @model default="false"
+ * @generated
+ */
+ boolean isOpposite();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#isOpposite <em>Opposite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Opposite</em>' attribute.
+ * @see #isOpposite()
+ * @generated
+ */
+ void setOpposite(boolean value);
+
+} // PropertyTemplateCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTFactory.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTFactory.java
new file mode 100644
index 000000000..16c58a8c7
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTFactory.java
@@ -0,0 +1,209 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+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.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage
+ * @generated
+ */
+public interface QVTrelationCSTFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ QVTrelationCSTFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Any Element CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Any Element CS</em>'.
+ * @generated
+ */
+ AnyElementCS createAnyElementCS();
+
+ /**
+ * Returns a new object of class '<em>Collection Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Collection Template CS</em>'.
+ * @generated
+ */
+ CollectionTemplateCS createCollectionTemplateCS();
+
+ /**
+ * Returns a new object of class '<em>Default Value CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Default Value CS</em>'.
+ * @generated
+ */
+ DefaultValueCS createDefaultValueCS();
+
+ /**
+ * Returns a new object of class '<em>Domain CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Domain CS</em>'.
+ * @generated
+ */
+ DomainCS createDomainCS();
+
+ /**
+ * Returns a new object of class '<em>Key Decl CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Key Decl CS</em>'.
+ * @generated
+ */
+ KeyDeclCS createKeyDeclCS();
+
+ /**
+ * Returns a new object of class '<em>Model Decl CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Model Decl CS</em>'.
+ * @generated
+ */
+ ModelDeclCS createModelDeclCS();
+
+ /**
+ * Returns a new object of class '<em>Object Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Object Template CS</em>'.
+ * @generated
+ */
+ ObjectTemplateCS createObjectTemplateCS();
+
+ /**
+ * Returns a new object of class '<em>Param Declaration CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Param Declaration CS</em>'.
+ * @generated
+ */
+ ParamDeclarationCS createParamDeclarationCS();
+
+ /**
+ * Returns a new object of class '<em>Primitive Type Domain CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Primitive Type Domain CS</em>'.
+ * @generated
+ */
+ PrimitiveTypeDomainCS createPrimitiveTypeDomainCS();
+
+ /**
+ * Returns a new object of class '<em>Property Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Property Template CS</em>'.
+ * @generated
+ */
+ PropertyTemplateCS createPropertyTemplateCS();
+
+ /**
+ * Returns a new object of class '<em>Query CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query CS</em>'.
+ * @generated
+ */
+ QueryCS createQueryCS();
+
+ /**
+ * Returns a new object of class '<em>Relation CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Relation CS</em>'.
+ * @generated
+ */
+ RelationCS createRelationCS();
+
+ /**
+ * Returns a new object of class '<em>Top Level CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Top Level CS</em>'.
+ * @generated
+ */
+ TopLevelCS createTopLevelCS();
+
+ /**
+ * Returns a new object of class '<em>Transformation CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Transformation CS</em>'.
+ * @generated
+ */
+ TransformationCS createTransformationCS();
+
+ /**
+ * Returns a new object of class '<em>Unit CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Unit CS</em>'.
+ * @generated
+ */
+ UnitCS createUnitCS();
+
+ /**
+ * Returns a new object of class '<em>Var Declaration CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Var Declaration CS</em>'.
+ * @generated
+ */
+ VarDeclarationCS createVarDeclarationCS();
+
+ /**
+ * Returns a new object of class '<em>When CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>When CS</em>'.
+ * @generated
+ */
+ WhenCS createWhenCS();
+
+ /**
+ * Returns a new object of class '<em>Where CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Where CS</em>'.
+ * @generated
+ */
+ WhereCS createWhereCS();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ QVTrelationCSTPackage getQVTrelationCSTPackage();
+
+} //QVTrelationCSTFactory
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTPackage.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTPackage.java
new file mode 100644
index 000000000..4285631ab
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTPackage.java
@@ -0,0 +1,3027 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+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.ocl.examples.xtext.base.baseCST.BaseCSTPackage;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.EssentialOCLCSTPackage;
+
+/**
+ * <!-- 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.qvtd.xtext.qvtrelationcst.QVTrelationCSTFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface QVTrelationCSTPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "qvtrelationcst";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/qvt/0.9/QVTrelationCST";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "qvtrcs";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ QVTrelationCSTPackage eINSTANCE = org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.AbstractDomainCSImpl <em>Abstract Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.AbstractDomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getAbstractDomainCS()
+ * @generated
+ */
+ int ABSTRACT_DOMAIN_CS = 0;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__LOGICAL_PARENT = BaseCSTPackage.MODEL_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__PIVOT = BaseCSTPackage.MODEL_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__OWNED_ANNOTATION = BaseCSTPackage.MODEL_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__ORIGINAL_XMI_ID = BaseCSTPackage.MODEL_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__CSI = BaseCSTPackage.MODEL_ELEMENT_CS__CSI;
+
+ /**
+ * The number of structural features of the '<em>Abstract Domain CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS_FEATURE_COUNT = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.AnyElementCSImpl <em>Any Element CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.AnyElementCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getAnyElementCS()
+ * @generated
+ */
+ int ANY_ELEMENT_CS = 1;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__LOGICAL_PARENT = EssentialOCLCSTPackage.EXP_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__PIVOT = EssentialOCLCSTPackage.EXP_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__OWNED_ANNOTATION = EssentialOCLCSTPackage.EXP_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__ORIGINAL_XMI_ID = EssentialOCLCSTPackage.EXP_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__CSI = EssentialOCLCSTPackage.EXP_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__PARENT = EssentialOCLCSTPackage.EXP_CS__PARENT;
+
+ /**
+ * The number of structural features of the '<em>Any Element CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS_FEATURE_COUNT = EssentialOCLCSTPackage.EXP_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl <em>Template Variable CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTemplateVariableCS()
+ * @generated
+ */
+ int TEMPLATE_VARIABLE_CS = 14;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__LOGICAL_PARENT = BaseCSTPackage.MODEL_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__PIVOT = BaseCSTPackage.MODEL_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__OWNED_ANNOTATION = BaseCSTPackage.MODEL_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__ORIGINAL_XMI_ID = BaseCSTPackage.MODEL_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__CSI = BaseCSTPackage.MODEL_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__TYPE = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__PROPERTY_ID = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Template Variable CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS_FEATURE_COUNT = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl <em>Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTemplateCS()
+ * @generated
+ */
+ int TEMPLATE_CS = 13;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__LOGICAL_PARENT = TEMPLATE_VARIABLE_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__PIVOT = TEMPLATE_VARIABLE_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__OWNED_ANNOTATION = TEMPLATE_VARIABLE_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__ORIGINAL_XMI_ID = TEMPLATE_VARIABLE_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__CSI = TEMPLATE_VARIABLE_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__TYPE = TEMPLATE_VARIABLE_CS__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__PROPERTY_ID = TEMPLATE_VARIABLE_CS__PROPERTY_ID;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__PARENT = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Guard Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__GUARD_EXPRESSION = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Template CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS_FEATURE_COUNT = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl <em>Collection Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getCollectionTemplateCS()
+ * @generated
+ */
+ int COLLECTION_TEMPLATE_CS = 2;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__LOGICAL_PARENT = TEMPLATE_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__PIVOT = TEMPLATE_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__OWNED_ANNOTATION = TEMPLATE_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__ORIGINAL_XMI_ID = TEMPLATE_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__CSI = TEMPLATE_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__TYPE = TEMPLATE_CS__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__PROPERTY_ID = TEMPLATE_CS__PROPERTY_ID;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__PARENT = TEMPLATE_CS__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Guard Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__GUARD_EXPRESSION = TEMPLATE_CS__GUARD_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Member Identifier</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER = TEMPLATE_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Rest Identifier</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__REST_IDENTIFIER = TEMPLATE_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Collection Template CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS_FEATURE_COUNT = TEMPLATE_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl <em>Default Value CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getDefaultValueCS()
+ * @generated
+ */
+ int DEFAULT_VALUE_CS = 3;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_VALUE_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Initialiser</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_VALUE_CS__INITIALISER = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_VALUE_CS__PROPERTY_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Default Value CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_VALUE_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl <em>Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getDomainCS()
+ * @generated
+ */
+ int DOMAIN_CS = 4;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__LOGICAL_PARENT = ABSTRACT_DOMAIN_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__PIVOT = ABSTRACT_DOMAIN_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__OWNED_ANNOTATION = ABSTRACT_DOMAIN_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__ORIGINAL_XMI_ID = ABSTRACT_DOMAIN_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__CSI = ABSTRACT_DOMAIN_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Checkonly</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__CHECKONLY = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Enforce</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__ENFORCE = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Model Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__MODEL_ID = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Replace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__REPLACE = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Template</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__TEMPLATE = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__DEFAULT_VALUE = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Implemented By</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__IMPLEMENTED_BY = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Domain CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS_FEATURE_COUNT = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl <em>Key Decl CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getKeyDeclCS()
+ * @generated
+ */
+ int KEY_DECL_CS = 5;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Path Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS__PATH_NAME = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS__PROPERTY_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Class Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS__CLASS_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Key Decl CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl <em>Model Decl CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getModelDeclCS()
+ * @generated
+ */
+ int MODEL_DECL_CS = 6;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__LOGICAL_PARENT = BaseCSTPackage.NAMED_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__PIVOT = BaseCSTPackage.NAMED_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__OWNED_ANNOTATION = BaseCSTPackage.NAMED_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__ORIGINAL_XMI_ID = BaseCSTPackage.NAMED_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__CSI = BaseCSTPackage.NAMED_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__NAME = BaseCSTPackage.NAMED_ELEMENT_CS__NAME;
+
+ /**
+ * The feature id for the '<em><b>Meta Model Id</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__META_MODEL_ID = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Model Decl CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS_FEATURE_COUNT = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl <em>Object Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getObjectTemplateCS()
+ * @generated
+ */
+ int OBJECT_TEMPLATE_CS = 7;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__LOGICAL_PARENT = TEMPLATE_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__PIVOT = TEMPLATE_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__OWNED_ANNOTATION = TEMPLATE_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__ORIGINAL_XMI_ID = TEMPLATE_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__CSI = TEMPLATE_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__TYPE = TEMPLATE_CS__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__PROPERTY_ID = TEMPLATE_CS__PROPERTY_ID;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__PARENT = TEMPLATE_CS__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Guard Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__GUARD_EXPRESSION = TEMPLATE_CS__GUARD_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Property Template</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE = TEMPLATE_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Object Template CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS_FEATURE_COUNT = TEMPLATE_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl <em>Param Declaration CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getParamDeclarationCS()
+ * @generated
+ */
+ int PARAM_DECLARATION_CS = 8;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__LOGICAL_PARENT = BaseCSTPackage.NAMED_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__PIVOT = BaseCSTPackage.NAMED_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__OWNED_ANNOTATION = BaseCSTPackage.NAMED_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__ORIGINAL_XMI_ID = BaseCSTPackage.NAMED_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__CSI = BaseCSTPackage.NAMED_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__NAME = BaseCSTPackage.NAMED_ELEMENT_CS__NAME;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__TYPE = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Param Declaration CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS_FEATURE_COUNT = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl <em>Primitive Type Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getPrimitiveTypeDomainCS()
+ * @generated
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS = 9;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__LOGICAL_PARENT = TEMPLATE_VARIABLE_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__PIVOT = TEMPLATE_VARIABLE_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__OWNED_ANNOTATION = TEMPLATE_VARIABLE_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__ORIGINAL_XMI_ID = TEMPLATE_VARIABLE_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__CSI = TEMPLATE_VARIABLE_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__TYPE = TEMPLATE_VARIABLE_CS__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__PROPERTY_ID = TEMPLATE_VARIABLE_CS__PROPERTY_ID;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__NAME = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Primitive Type Domain CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS_FEATURE_COUNT = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl <em>Property Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getPropertyTemplateCS()
+ * @generated
+ */
+ int PROPERTY_TEMPLATE_CS = 10;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS__PROPERTY_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Ocl Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS__OCL_EXPRESSION = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Opposite</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS__OPPOSITE = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Property Template CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl <em>Query CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getQueryCS()
+ * @generated
+ */
+ int QUERY_CS = 11;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__LOGICAL_PARENT = BaseCSTPackage.MODEL_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__PIVOT = BaseCSTPackage.MODEL_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__OWNED_ANNOTATION = BaseCSTPackage.MODEL_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__ORIGINAL_XMI_ID = BaseCSTPackage.MODEL_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__CSI = BaseCSTPackage.MODEL_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Path Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__PATH_NAME = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Input Param Declaration</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__INPUT_PARAM_DECLARATION = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Ocl Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__OCL_EXPRESSION = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__TYPE = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Query CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS_FEATURE_COUNT = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl <em>Relation CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getRelationCS()
+ * @generated
+ */
+ int RELATION_CS = 12;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__LOGICAL_PARENT = BaseCSTPackage.NAMED_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__PIVOT = BaseCSTPackage.NAMED_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__OWNED_ANNOTATION = BaseCSTPackage.NAMED_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__ORIGINAL_XMI_ID = BaseCSTPackage.NAMED_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__CSI = BaseCSTPackage.NAMED_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__NAME = BaseCSTPackage.NAMED_ELEMENT_CS__NAME;
+
+ /**
+ * The feature id for the '<em><b>Top</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__TOP = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Overrides</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__OVERRIDES = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Var Declaration</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__VAR_DECLARATION = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Domain</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__DOMAIN = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>When</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__WHEN = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Where</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__WHERE = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Relation CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS_FEATURE_COUNT = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl <em>Top Level CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTopLevelCS()
+ * @generated
+ */
+ int TOP_LEVEL_CS = 15;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LEVEL_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Import Clause</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LEVEL_CS__IMPORT_CLAUSE = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Transformation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LEVEL_CS__TRANSFORMATION = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Top Level CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LEVEL_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl <em>Transformation CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTransformationCS()
+ * @generated
+ */
+ int TRANSFORMATION_CS = 16;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__LOGICAL_PARENT = BaseCSTPackage.NAMED_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__PIVOT = BaseCSTPackage.NAMED_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__OWNED_ANNOTATION = BaseCSTPackage.NAMED_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__ORIGINAL_XMI_ID = BaseCSTPackage.NAMED_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__CSI = BaseCSTPackage.NAMED_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__NAME = BaseCSTPackage.NAMED_ELEMENT_CS__NAME;
+
+ /**
+ * The feature id for the '<em><b>Model Decl</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__MODEL_DECL = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Extends</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__EXTENDS = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Key Decl</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__KEY_DECL = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__QUERY = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Relation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__RELATION = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Transformation CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS_FEATURE_COUNT = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl <em>Unit CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getUnitCS()
+ * @generated
+ */
+ int UNIT_CS = 17;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIT_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIT_CS__IDENTIFIER = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Unit CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIT_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl <em>Var Declaration CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getVarDeclarationCS()
+ * @generated
+ */
+ int VAR_DECLARATION_CS = 18;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_DECLARATION_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Var Declaration Id</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_DECLARATION_CS__VAR_DECLARATION_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_DECLARATION_CS__TYPE = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Var Declaration CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_DECLARATION_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl <em>When CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getWhenCS()
+ * @generated
+ */
+ int WHEN_CS = 19;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHEN_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHEN_CS__EXPR = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>When CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHEN_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl <em>Where CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getWhereCS()
+ * @generated
+ */
+ int WHERE_CS = 20;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE_CS__EXPR = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Where CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS <em>Abstract Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Domain CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS
+ * @generated
+ */
+ EClass getAbstractDomainCS();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS <em>Any Element CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Any Element CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS
+ * @generated
+ */
+ EClass getAnyElementCS();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS <em>Collection Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Collection Template CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS
+ * @generated
+ */
+ EClass getCollectionTemplateCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getMemberIdentifier <em>Member Identifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Member Identifier</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getMemberIdentifier()
+ * @see #getCollectionTemplateCS()
+ * @generated
+ */
+ EReference getCollectionTemplateCS_MemberIdentifier();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getRestIdentifier <em>Rest Identifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Rest Identifier</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getRestIdentifier()
+ * @see #getCollectionTemplateCS()
+ * @generated
+ */
+ EReference getCollectionTemplateCS_RestIdentifier();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS <em>Default Value CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Default Value CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS
+ * @generated
+ */
+ EClass getDefaultValueCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getInitialiser <em>Initialiser</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Initialiser</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getInitialiser()
+ * @see #getDefaultValueCS()
+ * @generated
+ */
+ EReference getDefaultValueCS_Initialiser();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getPropertyId <em>Property Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Property Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getPropertyId()
+ * @see #getDefaultValueCS()
+ * @generated
+ */
+ EReference getDefaultValueCS_PropertyId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS <em>Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Domain CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS
+ * @generated
+ */
+ EClass getDomainCS();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isCheckonly <em>Checkonly</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Checkonly</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isCheckonly()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EAttribute getDomainCS_Checkonly();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isEnforce <em>Enforce</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enforce</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isEnforce()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EAttribute getDomainCS_Enforce();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getModelId <em>Model Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getModelId()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EReference getDomainCS_ModelId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isReplace <em>Replace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Replace</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isReplace()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EAttribute getDomainCS_Replace();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getTemplate <em>Template</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Template</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getTemplate()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EReference getDomainCS_Template();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getDefaultValue <em>Default Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Default Value</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getDefaultValue()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EReference getDomainCS_DefaultValue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getImplementedBy <em>Implemented By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Implemented By</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getImplementedBy()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EReference getDomainCS_ImplementedBy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS <em>Key Decl CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Key Decl CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS
+ * @generated
+ */
+ EClass getKeyDeclCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPathName <em>Path Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Path Name</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPathName()
+ * @see #getKeyDeclCS()
+ * @generated
+ */
+ EReference getKeyDeclCS_PathName();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPropertyId <em>Property Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Property Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPropertyId()
+ * @see #getKeyDeclCS()
+ * @generated
+ */
+ EReference getKeyDeclCS_PropertyId();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getClassId <em>Class Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Class Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getClassId()
+ * @see #getKeyDeclCS()
+ * @generated
+ */
+ EReference getKeyDeclCS_ClassId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS <em>Model Decl CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Model Decl CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS
+ * @generated
+ */
+ EClass getModelDeclCS();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS#getMetaModelId <em>Meta Model Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Meta Model Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS#getMetaModelId()
+ * @see #getModelDeclCS()
+ * @generated
+ */
+ EReference getModelDeclCS_MetaModelId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS <em>Object Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Object Template CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS
+ * @generated
+ */
+ EClass getObjectTemplateCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS#getPropertyTemplate <em>Property Template</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Property Template</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS#getPropertyTemplate()
+ * @see #getObjectTemplateCS()
+ * @generated
+ */
+ EReference getObjectTemplateCS_PropertyTemplate();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS <em>Param Declaration CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Param Declaration CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS
+ * @generated
+ */
+ EClass getParamDeclarationCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS#getType()
+ * @see #getParamDeclarationCS()
+ * @generated
+ */
+ EReference getParamDeclarationCS_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS <em>Primitive Type Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Primitive Type Domain CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS
+ * @generated
+ */
+ EClass getPrimitiveTypeDomainCS();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS#getName()
+ * @see #getPrimitiveTypeDomainCS()
+ * @generated
+ */
+ EAttribute getPrimitiveTypeDomainCS_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS <em>Property Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Property Template CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS
+ * @generated
+ */
+ EClass getPropertyTemplateCS();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getPropertyId <em>Property Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Property Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getPropertyId()
+ * @see #getPropertyTemplateCS()
+ * @generated
+ */
+ EReference getPropertyTemplateCS_PropertyId();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getOclExpression <em>Ocl Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Ocl Expression</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getOclExpression()
+ * @see #getPropertyTemplateCS()
+ * @generated
+ */
+ EReference getPropertyTemplateCS_OclExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#isOpposite <em>Opposite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Opposite</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#isOpposite()
+ * @see #getPropertyTemplateCS()
+ * @generated
+ */
+ EAttribute getPropertyTemplateCS_Opposite();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS <em>Query CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS
+ * @generated
+ */
+ EClass getQueryCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getPathName <em>Path Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Path Name</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getPathName()
+ * @see #getQueryCS()
+ * @generated
+ */
+ EReference getQueryCS_PathName();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getInputParamDeclaration <em>Input Param Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Input Param Declaration</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getInputParamDeclaration()
+ * @see #getQueryCS()
+ * @generated
+ */
+ EReference getQueryCS_InputParamDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getOclExpression <em>Ocl Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Ocl Expression</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getOclExpression()
+ * @see #getQueryCS()
+ * @generated
+ */
+ EReference getQueryCS_OclExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getType()
+ * @see #getQueryCS()
+ * @generated
+ */
+ EReference getQueryCS_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS <em>Relation CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Relation CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS
+ * @generated
+ */
+ EClass getRelationCS();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#isTop <em>Top</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Top</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#isTop()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EAttribute getRelationCS_Top();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getOverrides <em>Overrides</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Overrides</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getOverrides()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_Overrides();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getVarDeclaration <em>Var Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Var Declaration</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getVarDeclaration()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_VarDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getDomain <em>Domain</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Domain</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getDomain()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_Domain();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhen <em>When</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>When</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhen()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_When();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhere <em>Where</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Where</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhere()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_Where();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS <em>Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Template CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS
+ * @generated
+ */
+ EClass getTemplateCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS#getGuardExpression <em>Guard Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Guard Expression</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS#getGuardExpression()
+ * @see #getTemplateCS()
+ * @generated
+ */
+ EReference getTemplateCS_GuardExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS <em>Template Variable CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Template Variable CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS
+ * @generated
+ */
+ EClass getTemplateVariableCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getType()
+ * @see #getTemplateVariableCS()
+ * @generated
+ */
+ EReference getTemplateVariableCS_Type();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getPropertyId <em>Property Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Property Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getPropertyId()
+ * @see #getTemplateVariableCS()
+ * @generated
+ */
+ EReference getTemplateVariableCS_PropertyId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS <em>Top Level CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Top Level CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS
+ * @generated
+ */
+ EClass getTopLevelCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getImportClause <em>Import Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Import Clause</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getImportClause()
+ * @see #getTopLevelCS()
+ * @generated
+ */
+ EReference getTopLevelCS_ImportClause();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getTransformation <em>Transformation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Transformation</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getTransformation()
+ * @see #getTopLevelCS()
+ * @generated
+ */
+ EReference getTopLevelCS_Transformation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS <em>Transformation CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Transformation CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS
+ * @generated
+ */
+ EClass getTransformationCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getModelDecl <em>Model Decl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Model Decl</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getModelDecl()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_ModelDecl();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getExtends <em>Extends</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Extends</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getExtends()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_Extends();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getKeyDecl <em>Key Decl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Key Decl</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getKeyDecl()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_KeyDecl();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Query</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getQuery()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_Query();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getRelation <em>Relation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Relation</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getRelation()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_Relation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS <em>Unit CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Unit CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS
+ * @generated
+ */
+ EClass getUnitCS();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS#getIdentifier <em>Identifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Identifier</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS#getIdentifier()
+ * @see #getUnitCS()
+ * @generated
+ */
+ EReference getUnitCS_Identifier();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS <em>Var Declaration CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Var Declaration CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS
+ * @generated
+ */
+ EClass getVarDeclarationCS();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getVarDeclarationId <em>Var Declaration Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Var Declaration Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getVarDeclarationId()
+ * @see #getVarDeclarationCS()
+ * @generated
+ */
+ EReference getVarDeclarationCS_VarDeclarationId();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getType()
+ * @see #getVarDeclarationCS()
+ * @generated
+ */
+ EReference getVarDeclarationCS_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS <em>When CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>When CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS
+ * @generated
+ */
+ EClass getWhenCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS#getExpr <em>Expr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Expr</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS#getExpr()
+ * @see #getWhenCS()
+ * @generated
+ */
+ EReference getWhenCS_Expr();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS <em>Where CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Where CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS
+ * @generated
+ */
+ EClass getWhereCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS#getExpr <em>Expr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Expr</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS#getExpr()
+ * @see #getWhereCS()
+ * @generated
+ */
+ EReference getWhereCS_Expr();
+
+ /**
+ * 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
+ */
+ QVTrelationCSTFactory getQVTrelationCSTFactory();
+
+ /**
+ * <!-- 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.qvtd.xtext.qvtrelationcst.impl.AbstractDomainCSImpl <em>Abstract Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.AbstractDomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getAbstractDomainCS()
+ * @generated
+ */
+ EClass ABSTRACT_DOMAIN_CS = eINSTANCE.getAbstractDomainCS();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.AnyElementCSImpl <em>Any Element CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.AnyElementCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getAnyElementCS()
+ * @generated
+ */
+ EClass ANY_ELEMENT_CS = eINSTANCE.getAnyElementCS();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl <em>Collection Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getCollectionTemplateCS()
+ * @generated
+ */
+ EClass COLLECTION_TEMPLATE_CS = eINSTANCE.getCollectionTemplateCS();
+
+ /**
+ * The meta object literal for the '<em><b>Member Identifier</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER = eINSTANCE.getCollectionTemplateCS_MemberIdentifier();
+
+ /**
+ * The meta object literal for the '<em><b>Rest Identifier</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COLLECTION_TEMPLATE_CS__REST_IDENTIFIER = eINSTANCE.getCollectionTemplateCS_RestIdentifier();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl <em>Default Value CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getDefaultValueCS()
+ * @generated
+ */
+ EClass DEFAULT_VALUE_CS = eINSTANCE.getDefaultValueCS();
+
+ /**
+ * The meta object literal for the '<em><b>Initialiser</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEFAULT_VALUE_CS__INITIALISER = eINSTANCE.getDefaultValueCS_Initialiser();
+
+ /**
+ * The meta object literal for the '<em><b>Property Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEFAULT_VALUE_CS__PROPERTY_ID = eINSTANCE.getDefaultValueCS_PropertyId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl <em>Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getDomainCS()
+ * @generated
+ */
+ EClass DOMAIN_CS = eINSTANCE.getDomainCS();
+
+ /**
+ * The meta object literal for the '<em><b>Checkonly</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOMAIN_CS__CHECKONLY = eINSTANCE.getDomainCS_Checkonly();
+
+ /**
+ * The meta object literal for the '<em><b>Enforce</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOMAIN_CS__ENFORCE = eINSTANCE.getDomainCS_Enforce();
+
+ /**
+ * The meta object literal for the '<em><b>Model Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_CS__MODEL_ID = eINSTANCE.getDomainCS_ModelId();
+
+ /**
+ * The meta object literal for the '<em><b>Replace</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOMAIN_CS__REPLACE = eINSTANCE.getDomainCS_Replace();
+
+ /**
+ * The meta object literal for the '<em><b>Template</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_CS__TEMPLATE = eINSTANCE.getDomainCS_Template();
+
+ /**
+ * The meta object literal for the '<em><b>Default Value</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_CS__DEFAULT_VALUE = eINSTANCE.getDomainCS_DefaultValue();
+
+ /**
+ * The meta object literal for the '<em><b>Implemented By</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_CS__IMPLEMENTED_BY = eINSTANCE.getDomainCS_ImplementedBy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl <em>Key Decl CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getKeyDeclCS()
+ * @generated
+ */
+ EClass KEY_DECL_CS = eINSTANCE.getKeyDeclCS();
+
+ /**
+ * The meta object literal for the '<em><b>Path Name</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference KEY_DECL_CS__PATH_NAME = eINSTANCE.getKeyDeclCS_PathName();
+
+ /**
+ * The meta object literal for the '<em><b>Property Id</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference KEY_DECL_CS__PROPERTY_ID = eINSTANCE.getKeyDeclCS_PropertyId();
+
+ /**
+ * The meta object literal for the '<em><b>Class Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference KEY_DECL_CS__CLASS_ID = eINSTANCE.getKeyDeclCS_ClassId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl <em>Model Decl CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getModelDeclCS()
+ * @generated
+ */
+ EClass MODEL_DECL_CS = eINSTANCE.getModelDeclCS();
+
+ /**
+ * The meta object literal for the '<em><b>Meta Model Id</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL_DECL_CS__META_MODEL_ID = eINSTANCE.getModelDeclCS_MetaModelId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl <em>Object Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getObjectTemplateCS()
+ * @generated
+ */
+ EClass OBJECT_TEMPLATE_CS = eINSTANCE.getObjectTemplateCS();
+
+ /**
+ * The meta object literal for the '<em><b>Property Template</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE = eINSTANCE.getObjectTemplateCS_PropertyTemplate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl <em>Param Declaration CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getParamDeclarationCS()
+ * @generated
+ */
+ EClass PARAM_DECLARATION_CS = eINSTANCE.getParamDeclarationCS();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARAM_DECLARATION_CS__TYPE = eINSTANCE.getParamDeclarationCS_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl <em>Primitive Type Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getPrimitiveTypeDomainCS()
+ * @generated
+ */
+ EClass PRIMITIVE_TYPE_DOMAIN_CS = eINSTANCE.getPrimitiveTypeDomainCS();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRIMITIVE_TYPE_DOMAIN_CS__NAME = eINSTANCE.getPrimitiveTypeDomainCS_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl <em>Property Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getPropertyTemplateCS()
+ * @generated
+ */
+ EClass PROPERTY_TEMPLATE_CS = eINSTANCE.getPropertyTemplateCS();
+
+ /**
+ * The meta object literal for the '<em><b>Property Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY_TEMPLATE_CS__PROPERTY_ID = eINSTANCE.getPropertyTemplateCS_PropertyId();
+
+ /**
+ * The meta object literal for the '<em><b>Ocl Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY_TEMPLATE_CS__OCL_EXPRESSION = eINSTANCE.getPropertyTemplateCS_OclExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Opposite</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROPERTY_TEMPLATE_CS__OPPOSITE = eINSTANCE.getPropertyTemplateCS_Opposite();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl <em>Query CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getQueryCS()
+ * @generated
+ */
+ EClass QUERY_CS = eINSTANCE.getQueryCS();
+
+ /**
+ * The meta object literal for the '<em><b>Path Name</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_CS__PATH_NAME = eINSTANCE.getQueryCS_PathName();
+
+ /**
+ * The meta object literal for the '<em><b>Input Param Declaration</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_CS__INPUT_PARAM_DECLARATION = eINSTANCE.getQueryCS_InputParamDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Ocl Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_CS__OCL_EXPRESSION = eINSTANCE.getQueryCS_OclExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_CS__TYPE = eINSTANCE.getQueryCS_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl <em>Relation CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getRelationCS()
+ * @generated
+ */
+ EClass RELATION_CS = eINSTANCE.getRelationCS();
+
+ /**
+ * The meta object literal for the '<em><b>Top</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELATION_CS__TOP = eINSTANCE.getRelationCS_Top();
+
+ /**
+ * The meta object literal for the '<em><b>Overrides</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__OVERRIDES = eINSTANCE.getRelationCS_Overrides();
+
+ /**
+ * The meta object literal for the '<em><b>Var Declaration</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__VAR_DECLARATION = eINSTANCE.getRelationCS_VarDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Domain</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__DOMAIN = eINSTANCE.getRelationCS_Domain();
+
+ /**
+ * The meta object literal for the '<em><b>When</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__WHEN = eINSTANCE.getRelationCS_When();
+
+ /**
+ * The meta object literal for the '<em><b>Where</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__WHERE = eINSTANCE.getRelationCS_Where();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl <em>Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTemplateCS()
+ * @generated
+ */
+ EClass TEMPLATE_CS = eINSTANCE.getTemplateCS();
+
+ /**
+ * The meta object literal for the '<em><b>Guard Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEMPLATE_CS__GUARD_EXPRESSION = eINSTANCE.getTemplateCS_GuardExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl <em>Template Variable CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTemplateVariableCS()
+ * @generated
+ */
+ EClass TEMPLATE_VARIABLE_CS = eINSTANCE.getTemplateVariableCS();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEMPLATE_VARIABLE_CS__TYPE = eINSTANCE.getTemplateVariableCS_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Property Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEMPLATE_VARIABLE_CS__PROPERTY_ID = eINSTANCE.getTemplateVariableCS_PropertyId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl <em>Top Level CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTopLevelCS()
+ * @generated
+ */
+ EClass TOP_LEVEL_CS = eINSTANCE.getTopLevelCS();
+
+ /**
+ * The meta object literal for the '<em><b>Import Clause</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TOP_LEVEL_CS__IMPORT_CLAUSE = eINSTANCE.getTopLevelCS_ImportClause();
+
+ /**
+ * The meta object literal for the '<em><b>Transformation</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TOP_LEVEL_CS__TRANSFORMATION = eINSTANCE.getTopLevelCS_Transformation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl <em>Transformation CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTransformationCS()
+ * @generated
+ */
+ EClass TRANSFORMATION_CS = eINSTANCE.getTransformationCS();
+
+ /**
+ * The meta object literal for the '<em><b>Model Decl</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__MODEL_DECL = eINSTANCE.getTransformationCS_ModelDecl();
+
+ /**
+ * The meta object literal for the '<em><b>Extends</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__EXTENDS = eINSTANCE.getTransformationCS_Extends();
+
+ /**
+ * The meta object literal for the '<em><b>Key Decl</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__KEY_DECL = eINSTANCE.getTransformationCS_KeyDecl();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__QUERY = eINSTANCE.getTransformationCS_Query();
+
+ /**
+ * The meta object literal for the '<em><b>Relation</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__RELATION = eINSTANCE.getTransformationCS_Relation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl <em>Unit CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getUnitCS()
+ * @generated
+ */
+ EClass UNIT_CS = eINSTANCE.getUnitCS();
+
+ /**
+ * The meta object literal for the '<em><b>Identifier</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UNIT_CS__IDENTIFIER = eINSTANCE.getUnitCS_Identifier();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl <em>Var Declaration CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getVarDeclarationCS()
+ * @generated
+ */
+ EClass VAR_DECLARATION_CS = eINSTANCE.getVarDeclarationCS();
+
+ /**
+ * The meta object literal for the '<em><b>Var Declaration Id</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VAR_DECLARATION_CS__VAR_DECLARATION_ID = eINSTANCE.getVarDeclarationCS_VarDeclarationId();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VAR_DECLARATION_CS__TYPE = eINSTANCE.getVarDeclarationCS_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl <em>When CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getWhenCS()
+ * @generated
+ */
+ EClass WHEN_CS = eINSTANCE.getWhenCS();
+
+ /**
+ * The meta object literal for the '<em><b>Expr</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WHEN_CS__EXPR = eINSTANCE.getWhenCS_Expr();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl <em>Where CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getWhereCS()
+ * @generated
+ */
+ EClass WHERE_CS = eINSTANCE.getWhereCS();
+
+ /**
+ * The meta object literal for the '<em><b>Expr</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WHERE_CS__EXPR = eINSTANCE.getWhereCS_Expr();
+
+ }
+
+} //QVTrelationCSTPackage
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QueryCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QueryCS.java
new file mode 100644
index 000000000..957fe667c
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QueryCS.java
@@ -0,0 +1,143 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.pivot.util.Nameable;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PathNameCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getInputParamDeclaration <em>Input Param Declaration</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getOclExpression <em>Ocl Expression</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS()
+ * @model superTypes="org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS org.eclipse.ocl.examples.pivot.Nameable"
+ * @generated
+ */
+public interface QueryCS extends ModelElementCS, Nameable {
+ /**
+ * Returns the value of the '<em><b>Path Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path Name</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>Path Name</em>' containment reference.
+ * @see #setPathName(PathNameCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS_PathName()
+ * @model containment="true"
+ * @generated
+ */
+ PathNameCS getPathName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getPathName <em>Path Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path Name</em>' containment reference.
+ * @see #getPathName()
+ * @generated
+ */
+ void setPathName(PathNameCS value);
+
+ /**
+ * Returns the value of the '<em><b>Input Param Declaration</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Param Declaration</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>Input Param Declaration</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS_InputParamDeclaration()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ParamDeclarationCS> getInputParamDeclaration();
+
+ /**
+ * Returns the value of the '<em><b>Ocl Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ocl Expression</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>Ocl Expression</em>' containment reference.
+ * @see #setOclExpression(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS_OclExpression()
+ * @model containment="true"
+ * @generated
+ */
+ ExpCS getOclExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getOclExpression <em>Ocl Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ocl Expression</em>' containment reference.
+ * @see #getOclExpression()
+ * @generated
+ */
+ void setOclExpression(ExpCS value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</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>Type</em>' containment reference.
+ * @see #setType(TypedTypeRefCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS_Type()
+ * @model containment="true"
+ * @generated
+ */
+ TypedTypeRefCS getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypedTypeRefCS value);
+
+} // QueryCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/RelationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/RelationCS.java
new file mode 100644
index 000000000..a322aa140
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/RelationCS.java
@@ -0,0 +1,183 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+
+import org.eclipse.qvtd.pivot.qvtrelation.Relation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relation CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#isTop <em>Top</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getOverrides <em>Overrides</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getVarDeclaration <em>Var Declaration</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getDomain <em>Domain</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhen <em>When</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhere <em>Where</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS()
+ * @model
+ * @generated
+ */
+public interface RelationCS extends NamedElementCS {
+ /**
+ * Returns the value of the '<em><b>Top</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Top</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Top</em>' attribute.
+ * @see #setTop(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_Top()
+ * @model
+ * @generated
+ */
+ boolean isTop();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#isTop <em>Top</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Top</em>' attribute.
+ * @see #isTop()
+ * @generated
+ */
+ void setTop(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Overrides</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Overrides</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Overrides</em>' reference.
+ * @see #setOverrides(Relation)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_Overrides()
+ * @model
+ * @generated
+ */
+ Relation getOverrides();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getOverrides <em>Overrides</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Overrides</em>' reference.
+ * @see #getOverrides()
+ * @generated
+ */
+ void setOverrides(Relation value);
+
+ /**
+ * Returns the value of the '<em><b>Var Declaration</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Var Declaration</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>Var Declaration</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_VarDeclaration()
+ * @model containment="true"
+ * @generated
+ */
+ EList<VarDeclarationCS> getVarDeclaration();
+
+ /**
+ * Returns the value of the '<em><b>Domain</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Domain</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>Domain</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_Domain()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AbstractDomainCS> getDomain();
+
+ /**
+ * Returns the value of the '<em><b>When</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>When</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>When</em>' containment reference.
+ * @see #setWhen(WhenCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_When()
+ * @model containment="true"
+ * @generated
+ */
+ WhenCS getWhen();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhen <em>When</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>When</em>' containment reference.
+ * @see #getWhen()
+ * @generated
+ */
+ void setWhen(WhenCS value);
+
+ /**
+ * Returns the value of the '<em><b>Where</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Where</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>Where</em>' containment reference.
+ * @see #setWhere(WhereCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_Where()
+ * @model containment="true"
+ * @generated
+ */
+ WhereCS getWhere();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhere <em>Where</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Where</em>' containment reference.
+ * @see #getWhere()
+ * @generated
+ */
+ void setWhere(WhereCS value);
+
+} // RelationCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateCS.java
new file mode 100644
index 000000000..cdc9165e5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateCS.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS#getGuardExpression <em>Guard Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateCS()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TemplateCS extends TemplateVariableCS, ExpCS {
+ /**
+ * Returns the value of the '<em><b>Guard Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Guard Expression</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>Guard Expression</em>' containment reference.
+ * @see #setGuardExpression(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateCS_GuardExpression()
+ * @model containment="true"
+ * @generated
+ */
+ ExpCS getGuardExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS#getGuardExpression <em>Guard Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Guard Expression</em>' containment reference.
+ * @see #getGuardExpression()
+ * @generated
+ */
+ void setGuardExpression(ExpCS value);
+
+} // TemplateCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateVariableCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateVariableCS.java
new file mode 100644
index 000000000..bb2064c28
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateVariableCS.java
@@ -0,0 +1,94 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Template Variable CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getPropertyId <em>Property Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateVariableCS()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TemplateVariableCS extends ModelElementCS {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</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>Type</em>' containment reference.
+ * @see #setType(TypedTypeRefCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateVariableCS_Type()
+ * @model containment="true"
+ * @generated
+ */
+ TypedTypeRefCS getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypedTypeRefCS value);
+
+ /**
+ * Returns the value of the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Id</em>' reference.
+ * @see #setPropertyId(Property)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateVariableCS_PropertyId()
+ * @model
+ * @generated
+ */
+ Property getPropertyId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getPropertyId <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property Id</em>' reference.
+ * @see #getPropertyId()
+ * @generated
+ */
+ void setPropertyId(Property value);
+
+} // TemplateVariableCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TopLevelCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TopLevelCS.java
new file mode 100644
index 000000000..8c1a65a6a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TopLevelCS.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Top Level CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getImportClause <em>Import Clause</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getTransformation <em>Transformation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTopLevelCS()
+ * @model
+ * @generated
+ */
+public interface TopLevelCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Import Clause</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Import Clause</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>Import Clause</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTopLevelCS_ImportClause()
+ * @model containment="true"
+ * @generated
+ */
+ EList<UnitCS> getImportClause();
+
+ /**
+ * Returns the value of the '<em><b>Transformation</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transformation</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>Transformation</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTopLevelCS_Transformation()
+ * @model containment="true"
+ * @generated
+ */
+ EList<TransformationCS> getTransformation();
+
+} // TopLevelCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TransformationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TransformationCS.java
new file mode 100644
index 000000000..9e4577de3
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TransformationCS.java
@@ -0,0 +1,126 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+
+import org.eclipse.qvtd.pivot.qvtbase.Transformation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Transformation CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getModelDecl <em>Model Decl</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getExtends <em>Extends</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getKeyDecl <em>Key Decl</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getRelation <em>Relation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS()
+ * @model
+ * @generated
+ */
+public interface TransformationCS extends NamedElementCS {
+ /**
+ * Returns the value of the '<em><b>Model Decl</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Model Decl</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>Model Decl</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_ModelDecl()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ModelDeclCS> getModelDecl();
+
+ /**
+ * Returns the value of the '<em><b>Extends</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.qvtbase.Transformation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extends</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>Extends</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_Extends()
+ * @model
+ * @generated
+ */
+ EList<Transformation> getExtends();
+
+ /**
+ * Returns the value of the '<em><b>Key Decl</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Key Decl</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>Key Decl</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_KeyDecl()
+ * @model containment="true"
+ * @generated
+ */
+ EList<KeyDeclCS> getKeyDecl();
+
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</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>Query</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_Query()
+ * @model containment="true"
+ * @generated
+ */
+ EList<QueryCS> getQuery();
+
+ /**
+ * Returns the value of the '<em><b>Relation</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Relation</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>Relation</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_Relation()
+ * @model containment="true"
+ * @generated
+ */
+ EList<RelationCS> getRelation();
+
+} // TransformationCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/UnitCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/UnitCS.java
new file mode 100644
index 000000000..97ac003d2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/UnitCS.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.pivot.Element;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unit CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS#getIdentifier <em>Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getUnitCS()
+ * @model
+ * @generated
+ */
+public interface UnitCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Identifier</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.pivot.Element}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Identifier</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>Identifier</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getUnitCS_Identifier()
+ * @model required="true"
+ * @generated
+ */
+ EList<Element> getIdentifier();
+
+} // UnitCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/VarDeclarationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/VarDeclarationCS.java
new file mode 100644
index 000000000..129ee45e2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/VarDeclarationCS.java
@@ -0,0 +1,86 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Var Declaration CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getVarDeclarationId <em>Var Declaration Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getVarDeclarationCS()
+ * @model
+ * @generated
+ */
+public interface VarDeclarationCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Var Declaration Id</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.pivot.Property}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Var Declaration Id</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>Var Declaration Id</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getVarDeclarationCS_VarDeclarationId()
+ * @model
+ * @generated
+ */
+ EList<Property> getVarDeclarationId();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</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>Type</em>' containment reference.
+ * @see #setType(TypedTypeRefCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getVarDeclarationCS_Type()
+ * @model containment="true"
+ * @generated
+ */
+ TypedTypeRefCS getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypedTypeRefCS value);
+
+} // VarDeclarationCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhenCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhenCS.java
new file mode 100644
index 000000000..a6acd21e4
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhenCS.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>When CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getWhenCS()
+ * @model
+ * @generated
+ */
+public interface WhenCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Expr</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expr</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>Expr</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getWhenCS_Expr()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ExpCS> getExpr();
+
+} // WhenCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhereCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhereCS.java
new file mode 100644
index 000000000..0b340283d
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhereCS.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Where CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getWhereCS()
+ * @model
+ * @generated
+ */
+public interface WhereCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Expr</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expr</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>Expr</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getWhereCS_Expr()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ExpCS> getExpr();
+
+} // WhereCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AbstractDomainCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AbstractDomainCSImpl.java
new file mode 100644
index 000000000..5b2f8ad1b
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AbstractDomainCSImpl.java
@@ -0,0 +1,60 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ModelElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AbstractDomainCSImpl extends ModelElementCSImpl implements AbstractDomainCS {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractDomainCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.ABSTRACT_DOMAIN_CS;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitAbstractDomainCS(this);
+ }
+} //AbstractDomainCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AnyElementCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AnyElementCSImpl.java
new file mode 100644
index 000000000..8cc1a2b44
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AnyElementCSImpl.java
@@ -0,0 +1,60 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.impl.ExpCSImpl;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Any Element CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class AnyElementCSImpl extends ExpCSImpl implements AnyElementCS {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnyElementCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.ANY_ELEMENT_CS;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitAnyElementCS(this);
+ }
+} //AnyElementCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/CollectionTemplateCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/CollectionTemplateCSImpl.java
new file mode 100644
index 000000000..3896814fe
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/CollectionTemplateCSImpl.java
@@ -0,0 +1,235 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collection Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl#getMemberIdentifier <em>Member Identifier</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl#getRestIdentifier <em>Rest Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CollectionTemplateCSImpl extends TemplateCSImpl implements CollectionTemplateCS {
+ /**
+ * The cached value of the '{@link #getMemberIdentifier() <em>Member Identifier</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemberIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExpCS> memberIdentifier;
+
+ /**
+ * The cached value of the '{@link #getRestIdentifier() <em>Rest Identifier</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRestIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS restIdentifier;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollectionTemplateCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.COLLECTION_TEMPLATE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExpCS> getMemberIdentifier() {
+ if (memberIdentifier == null) {
+ memberIdentifier = new EObjectContainmentEList<ExpCS>(ExpCS.class, this, QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER);
+ }
+ return memberIdentifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getRestIdentifier() {
+ return restIdentifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRestIdentifier(ExpCS newRestIdentifier, NotificationChain msgs) {
+ ExpCS oldRestIdentifier = restIdentifier;
+ restIdentifier = newRestIdentifier;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER, oldRestIdentifier, newRestIdentifier);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRestIdentifier(ExpCS newRestIdentifier) {
+ if (newRestIdentifier != restIdentifier) {
+ NotificationChain msgs = null;
+ if (restIdentifier != null)
+ msgs = ((InternalEObject)restIdentifier).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER, null, msgs);
+ if (newRestIdentifier != null)
+ msgs = ((InternalEObject)newRestIdentifier).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER, null, msgs);
+ msgs = basicSetRestIdentifier(newRestIdentifier, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER, newRestIdentifier, newRestIdentifier));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ return ((InternalEList<?>)getMemberIdentifier()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ return basicSetRestIdentifier(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ return getMemberIdentifier();
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ return getRestIdentifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ getMemberIdentifier().clear();
+ getMemberIdentifier().addAll((Collection<? extends ExpCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ setRestIdentifier((ExpCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ getMemberIdentifier().clear();
+ return;
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ setRestIdentifier((ExpCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ return memberIdentifier != null && !memberIdentifier.isEmpty();
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ return restIdentifier != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitCollectionTemplateCS(this);
+ }
+} //CollectionTemplateCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DefaultValueCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DefaultValueCSImpl.java
new file mode 100644
index 000000000..8bef9ebba
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DefaultValueCSImpl.java
@@ -0,0 +1,256 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Default Value CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl#getInitialiser <em>Initialiser</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl#getPropertyId <em>Property Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DefaultValueCSImpl extends ElementCSImpl implements DefaultValueCS {
+ /**
+ * The cached value of the '{@link #getInitialiser() <em>Initialiser</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialiser()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS initialiser;
+
+ /**
+ * The cached value of the '{@link #getPropertyId() <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyId()
+ * @generated
+ * @ordered
+ */
+ protected Property propertyId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DefaultValueCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.DEFAULT_VALUE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getInitialiser() {
+ return initialiser;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInitialiser(ExpCS newInitialiser, NotificationChain msgs) {
+ ExpCS oldInitialiser = initialiser;
+ initialiser = newInitialiser;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER, oldInitialiser, newInitialiser);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInitialiser(ExpCS newInitialiser) {
+ if (newInitialiser != initialiser) {
+ NotificationChain msgs = null;
+ if (initialiser != null)
+ msgs = ((InternalEObject)initialiser).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER, null, msgs);
+ if (newInitialiser != null)
+ msgs = ((InternalEObject)newInitialiser).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER, null, msgs);
+ msgs = basicSetInitialiser(newInitialiser, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER, newInitialiser, newInitialiser));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPropertyId() {
+ if (propertyId != null && ((EObject)propertyId).eIsProxy()) {
+ InternalEObject oldPropertyId = (InternalEObject)propertyId;
+ propertyId = (Property)eResolveProxy(oldPropertyId);
+ if (propertyId != oldPropertyId) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+ }
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetPropertyId() {
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPropertyId(Property newPropertyId) {
+ Property oldPropertyId = propertyId;
+ propertyId = newPropertyId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ return basicSetInitialiser(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ return getInitialiser();
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID:
+ if (resolve) return getPropertyId();
+ return basicGetPropertyId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ setInitialiser((ExpCS)newValue);
+ return;
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID:
+ setPropertyId((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ setInitialiser((ExpCS)null);
+ return;
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID:
+ setPropertyId((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ return initialiser != null;
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID:
+ return propertyId != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitDefaultValueCS(this);
+ }
+} //DefaultValueCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DomainCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DomainCSImpl.java
new file mode 100644
index 000000000..b887822df
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DomainCSImpl.java
@@ -0,0 +1,537 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#isCheckonly <em>Checkonly</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#isEnforce <em>Enforce</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#getModelId <em>Model Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#isReplace <em>Replace</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#getTemplate <em>Template</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#getImplementedBy <em>Implemented By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DomainCSImpl extends AbstractDomainCSImpl implements DomainCS {
+ /**
+ * The default value of the '{@link #isCheckonly() <em>Checkonly</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCheckonly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CHECKONLY_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCheckonly() <em>Checkonly</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCheckonly()
+ * @generated
+ * @ordered
+ */
+ protected boolean checkonly = CHECKONLY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isEnforce() <em>Enforce</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isEnforce()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ENFORCE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isEnforce() <em>Enforce</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isEnforce()
+ * @generated
+ * @ordered
+ */
+ protected boolean enforce = ENFORCE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getModelId() <em>Model Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getModelId()
+ * @generated
+ * @ordered
+ */
+ protected TypedModel modelId;
+
+ /**
+ * The default value of the '{@link #isReplace() <em>Replace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReplace()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REPLACE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isReplace() <em>Replace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReplace()
+ * @generated
+ * @ordered
+ */
+ protected boolean replace = REPLACE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTemplate() <em>Template</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemplate()
+ * @generated
+ * @ordered
+ */
+ protected TemplateCS template;
+
+ /**
+ * The cached value of the '{@link #getDefaultValue() <em>Default Value</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected EList<DefaultValueCS> defaultValue;
+
+ /**
+ * The cached value of the '{@link #getImplementedBy() <em>Implemented By</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementedBy()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS implementedBy;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DomainCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.DOMAIN_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCheckonly() {
+ return checkonly;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCheckonly(boolean newCheckonly) {
+ boolean oldCheckonly = checkonly;
+ checkonly = newCheckonly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY, oldCheckonly, checkonly));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isEnforce() {
+ return enforce;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnforce(boolean newEnforce) {
+ boolean oldEnforce = enforce;
+ enforce = newEnforce;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__ENFORCE, oldEnforce, enforce));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedModel getModelId() {
+ if (modelId != null && modelId.eIsProxy()) {
+ InternalEObject oldModelId = (InternalEObject)modelId;
+ modelId = (TypedModel)eResolveProxy(oldModelId);
+ if (modelId != oldModelId) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID, oldModelId, modelId));
+ }
+ }
+ return modelId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedModel basicGetModelId() {
+ return modelId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setModelId(TypedModel newModelId) {
+ TypedModel oldModelId = modelId;
+ modelId = newModelId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID, oldModelId, modelId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReplace() {
+ return replace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReplace(boolean newReplace) {
+ boolean oldReplace = replace;
+ replace = newReplace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__REPLACE, oldReplace, replace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateCS getTemplate() {
+ return template;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplate(TemplateCS newTemplate, NotificationChain msgs) {
+ TemplateCS oldTemplate = template;
+ template = newTemplate;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE, oldTemplate, newTemplate);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplate(TemplateCS newTemplate) {
+ if (newTemplate != template) {
+ NotificationChain msgs = null;
+ if (template != null)
+ msgs = ((InternalEObject)template).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE, null, msgs);
+ if (newTemplate != null)
+ msgs = ((InternalEObject)newTemplate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE, null, msgs);
+ msgs = basicSetTemplate(newTemplate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE, newTemplate, newTemplate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DefaultValueCS> getDefaultValue() {
+ if (defaultValue == null) {
+ defaultValue = new EObjectContainmentEList<DefaultValueCS>(DefaultValueCS.class, this, QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE);
+ }
+ return defaultValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getImplementedBy() {
+ return implementedBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetImplementedBy(ExpCS newImplementedBy, NotificationChain msgs) {
+ ExpCS oldImplementedBy = implementedBy;
+ implementedBy = newImplementedBy;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY, oldImplementedBy, newImplementedBy);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementedBy(ExpCS newImplementedBy) {
+ if (newImplementedBy != implementedBy) {
+ NotificationChain msgs = null;
+ if (implementedBy != null)
+ msgs = ((InternalEObject)implementedBy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY, null, msgs);
+ if (newImplementedBy != null)
+ msgs = ((InternalEObject)newImplementedBy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY, null, msgs);
+ msgs = basicSetImplementedBy(newImplementedBy, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY, newImplementedBy, newImplementedBy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ return basicSetTemplate(null, msgs);
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ return ((InternalEList<?>)getDefaultValue()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ return basicSetImplementedBy(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY:
+ return isCheckonly();
+ case QVTrelationCSTPackage.DOMAIN_CS__ENFORCE:
+ return isEnforce();
+ case QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID:
+ if (resolve) return getModelId();
+ return basicGetModelId();
+ case QVTrelationCSTPackage.DOMAIN_CS__REPLACE:
+ return isReplace();
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ return getTemplate();
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ return getDefaultValue();
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ return getImplementedBy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY:
+ setCheckonly((Boolean)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__ENFORCE:
+ setEnforce((Boolean)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID:
+ setModelId((TypedModel)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__REPLACE:
+ setReplace((Boolean)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ setTemplate((TemplateCS)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ getDefaultValue().clear();
+ getDefaultValue().addAll((Collection<? extends DefaultValueCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ setImplementedBy((ExpCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY:
+ setCheckonly(CHECKONLY_EDEFAULT);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__ENFORCE:
+ setEnforce(ENFORCE_EDEFAULT);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID:
+ setModelId((TypedModel)null);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__REPLACE:
+ setReplace(REPLACE_EDEFAULT);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ setTemplate((TemplateCS)null);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ getDefaultValue().clear();
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ setImplementedBy((ExpCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY:
+ return checkonly != CHECKONLY_EDEFAULT;
+ case QVTrelationCSTPackage.DOMAIN_CS__ENFORCE:
+ return enforce != ENFORCE_EDEFAULT;
+ case QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID:
+ return modelId != null;
+ case QVTrelationCSTPackage.DOMAIN_CS__REPLACE:
+ return replace != REPLACE_EDEFAULT;
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ return template != null;
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ return defaultValue != null && !defaultValue.isEmpty();
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ return implementedBy != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitDomainCS(this);
+ }
+
+ public String getName() {
+ if ((modelId != null) && !modelId.eIsProxy()) {
+ return modelId.getName();
+ }
+ return "null";
+ }
+} //DomainCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/KeyDeclCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/KeyDeclCSImpl.java
new file mode 100644
index 000000000..0d1afafd0
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/KeyDeclCSImpl.java
@@ -0,0 +1,250 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PathNameCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Key Decl CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl#getPropertyId <em>Property Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl#getClassId <em>Class Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class KeyDeclCSImpl extends ElementCSImpl implements KeyDeclCS {
+ /**
+ * The cached value of the '{@link #getPathName() <em>Path Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPathName()
+ * @generated
+ * @ordered
+ */
+ protected PathNameCS pathName;
+
+ /**
+ * The cached value of the '{@link #getPropertyId() <em>Property Id</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyId()
+ * @generated
+ * @ordered
+ */
+ protected EList<Property> propertyId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected KeyDeclCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.KEY_DECL_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PathNameCS getPathName() {
+ return pathName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPathName(PathNameCS newPathName, NotificationChain msgs) {
+ PathNameCS oldPathName = pathName;
+ pathName = newPathName;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME, oldPathName, newPathName);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPathName(PathNameCS newPathName) {
+ if (newPathName != pathName) {
+ NotificationChain msgs = null;
+ if (pathName != null)
+ msgs = ((InternalEObject)pathName).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME, null, msgs);
+ if (newPathName != null)
+ msgs = ((InternalEObject)newPathName).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME, null, msgs);
+ msgs = basicSetPathName(newPathName, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME, newPathName, newPathName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getPropertyId() {
+ if (propertyId == null) {
+ propertyId = new EObjectResolvingEList<Property>(Property.class, this, QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID);
+ }
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.ocl.examples.pivot.Class getClassId() {
+ // TODO: implement this method to return the 'Class Id' reference
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ return basicSetPathName(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ return getPathName();
+ case QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID:
+ return getPropertyId();
+ case QVTrelationCSTPackage.KEY_DECL_CS__CLASS_ID:
+ return getClassId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ setPathName((PathNameCS)newValue);
+ return;
+ case QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID:
+ getPropertyId().clear();
+ getPropertyId().addAll((Collection<? extends Property>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ setPathName((PathNameCS)null);
+ return;
+ case QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID:
+ getPropertyId().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ return pathName != null;
+ case QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID:
+ return propertyId != null && !propertyId.isEmpty();
+ case QVTrelationCSTPackage.KEY_DECL_CS__CLASS_ID:
+ return getClassId() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitKeyDeclCS(this);
+ }
+} //KeyDeclCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ModelDeclCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ModelDeclCSImpl.java
new file mode 100644
index 000000000..1ad459ccc
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ModelDeclCSImpl.java
@@ -0,0 +1,150 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.NamedElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model Decl CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl#getMetaModelId <em>Meta Model Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModelDeclCSImpl extends NamedElementCSImpl implements ModelDeclCS {
+ /**
+ * The cached value of the '{@link #getMetaModelId() <em>Meta Model Id</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaModelId()
+ * @generated
+ * @ordered
+ */
+ protected EList<org.eclipse.ocl.examples.pivot.Package> metaModelId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModelDeclCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.MODEL_DECL_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.ocl.examples.pivot.Package> getMetaModelId() {
+ if (metaModelId == null) {
+ metaModelId = new EObjectResolvingEList<org.eclipse.ocl.examples.pivot.Package>(org.eclipse.ocl.examples.pivot.Package.class, this, QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID);
+ }
+ return metaModelId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID:
+ return getMetaModelId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID:
+ getMetaModelId().clear();
+ getMetaModelId().addAll((Collection<? extends org.eclipse.ocl.examples.pivot.Package>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID:
+ getMetaModelId().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID:
+ return metaModelId != null && !metaModelId.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitModelDeclCS(this);
+ }
+} //ModelDeclCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ObjectTemplateCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ObjectTemplateCSImpl.java
new file mode 100644
index 000000000..cd0739dc5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ObjectTemplateCSImpl.java
@@ -0,0 +1,167 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl#getPropertyTemplate <em>Property Template</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ObjectTemplateCSImpl extends TemplateCSImpl implements ObjectTemplateCS {
+ /**
+ * The cached value of the '{@link #getPropertyTemplate() <em>Property Template</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyTemplate()
+ * @generated
+ * @ordered
+ */
+ protected EList<PropertyTemplateCS> propertyTemplate;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectTemplateCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.OBJECT_TEMPLATE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PropertyTemplateCS> getPropertyTemplate() {
+ if (propertyTemplate == null) {
+ propertyTemplate = new EObjectContainmentEList<PropertyTemplateCS>(PropertyTemplateCS.class, this, QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE);
+ }
+ return propertyTemplate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ return ((InternalEList<?>)getPropertyTemplate()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ return getPropertyTemplate();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ getPropertyTemplate().clear();
+ getPropertyTemplate().addAll((Collection<? extends PropertyTemplateCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ getPropertyTemplate().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ return propertyTemplate != null && !propertyTemplate.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitObjectTemplateCS(this);
+ }
+} //ObjectTemplateCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ParamDeclarationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ParamDeclarationCSImpl.java
new file mode 100644
index 000000000..c3511948f
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ParamDeclarationCSImpl.java
@@ -0,0 +1,194 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedRefCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.NamedElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Param Declaration CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ParamDeclarationCSImpl extends NamedElementCSImpl implements ParamDeclarationCS {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TypedRefCS type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParamDeclarationCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.PARAM_DECLARATION_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedRefCS getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypedRefCS newType, NotificationChain msgs) {
+ TypedRefCS oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypedRefCS newType) {
+ if (newType != type) {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ return basicSetType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ setType((TypedRefCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ setType((TypedRefCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitParamDeclarationCS(this);
+ }
+} //ParamDeclarationCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PrimitiveTypeDomainCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PrimitiveTypeDomainCSImpl.java
new file mode 100644
index 000000000..ff0a56ea9
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PrimitiveTypeDomainCSImpl.java
@@ -0,0 +1,174 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Primitive Type Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PrimitiveTypeDomainCSImpl extends TemplateVariableCSImpl implements PrimitiveTypeDomainCS {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrimitiveTypeDomainCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.PRIMITIVE_TYPE_DOMAIN_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitPrimitiveTypeDomainCS(this);
+ }
+} //PrimitiveTypeDomainCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PropertyTemplateCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PropertyTemplateCSImpl.java
new file mode 100644
index 000000000..33045af77
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PropertyTemplateCSImpl.java
@@ -0,0 +1,318 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl#getPropertyId <em>Property Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl#getOclExpression <em>Ocl Expression</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl#isOpposite <em>Opposite</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyTemplateCSImpl extends ElementCSImpl implements PropertyTemplateCS {
+ /**
+ * The cached value of the '{@link #getPropertyId() <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyId()
+ * @generated
+ * @ordered
+ */
+ protected Property propertyId;
+
+ /**
+ * The cached value of the '{@link #getOclExpression() <em>Ocl Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOclExpression()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS oclExpression;
+
+ /**
+ * The default value of the '{@link #isOpposite() <em>Opposite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOpposite()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OPPOSITE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isOpposite() <em>Opposite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOpposite()
+ * @generated
+ * @ordered
+ */
+ protected boolean opposite = OPPOSITE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertyTemplateCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.PROPERTY_TEMPLATE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPropertyId() {
+ if (propertyId != null && ((EObject)propertyId).eIsProxy()) {
+ InternalEObject oldPropertyId = (InternalEObject)propertyId;
+ propertyId = (Property)eResolveProxy(oldPropertyId);
+ if (propertyId != oldPropertyId) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+ }
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetPropertyId() {
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPropertyId(Property newPropertyId) {
+ Property oldPropertyId = propertyId;
+ propertyId = newPropertyId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getOclExpression() {
+ return oclExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOclExpression(ExpCS newOclExpression, NotificationChain msgs) {
+ ExpCS oldOclExpression = oclExpression;
+ oclExpression = newOclExpression;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION, oldOclExpression, newOclExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOclExpression(ExpCS newOclExpression) {
+ if (newOclExpression != oclExpression) {
+ NotificationChain msgs = null;
+ if (oclExpression != null)
+ msgs = ((InternalEObject)oclExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION, null, msgs);
+ if (newOclExpression != null)
+ msgs = ((InternalEObject)newOclExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION, null, msgs);
+ msgs = basicSetOclExpression(newOclExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION, newOclExpression, newOclExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOpposite() {
+ return opposite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOpposite(boolean newOpposite) {
+ boolean oldOpposite = opposite;
+ opposite = newOpposite;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE, oldOpposite, opposite));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ return basicSetOclExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID:
+ if (resolve) return getPropertyId();
+ return basicGetPropertyId();
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ return getOclExpression();
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE:
+ return isOpposite();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID:
+ setPropertyId((Property)newValue);
+ return;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ setOclExpression((ExpCS)newValue);
+ return;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE:
+ setOpposite((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID:
+ setPropertyId((Property)null);
+ return;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ setOclExpression((ExpCS)null);
+ return;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE:
+ setOpposite(OPPOSITE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID:
+ return propertyId != null;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ return oclExpression != null;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE:
+ return opposite != OPPOSITE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitPropertyTemplateCS(this);
+ }
+} //PropertyTemplateCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTFactoryImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTFactoryImpl.java
new file mode 100644
index 000000000..f1d3c8991
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTFactoryImpl.java
@@ -0,0 +1,312 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTFactory;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QVTrelationCSTFactoryImpl extends EFactoryImpl implements QVTrelationCSTFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static QVTrelationCSTFactory init() {
+ try {
+ QVTrelationCSTFactory theQVTrelationCSTFactory = (QVTrelationCSTFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/qvt/0.9/QVTrelationCST");
+ if (theQVTrelationCSTFactory != null) {
+ return theQVTrelationCSTFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new QVTrelationCSTFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case QVTrelationCSTPackage.ANY_ELEMENT_CS: return createAnyElementCS();
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS: return createCollectionTemplateCS();
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS: return createDefaultValueCS();
+ case QVTrelationCSTPackage.DOMAIN_CS: return createDomainCS();
+ case QVTrelationCSTPackage.KEY_DECL_CS: return createKeyDeclCS();
+ case QVTrelationCSTPackage.MODEL_DECL_CS: return createModelDeclCS();
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS: return createObjectTemplateCS();
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS: return createParamDeclarationCS();
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS: return createPrimitiveTypeDomainCS();
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS: return createPropertyTemplateCS();
+ case QVTrelationCSTPackage.QUERY_CS: return createQueryCS();
+ case QVTrelationCSTPackage.RELATION_CS: return createRelationCS();
+ case QVTrelationCSTPackage.TOP_LEVEL_CS: return createTopLevelCS();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS: return createTransformationCS();
+ case QVTrelationCSTPackage.UNIT_CS: return createUnitCS();
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS: return createVarDeclarationCS();
+ case QVTrelationCSTPackage.WHEN_CS: return createWhenCS();
+ case QVTrelationCSTPackage.WHERE_CS: return createWhereCS();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnyElementCS createAnyElementCS() {
+ AnyElementCSImpl anyElementCS = new AnyElementCSImpl();
+ return anyElementCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectionTemplateCS createCollectionTemplateCS() {
+ CollectionTemplateCSImpl collectionTemplateCS = new CollectionTemplateCSImpl();
+ return collectionTemplateCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DefaultValueCS createDefaultValueCS() {
+ DefaultValueCSImpl defaultValueCS = new DefaultValueCSImpl();
+ return defaultValueCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DomainCS createDomainCS() {
+ DomainCSImpl domainCS = new DomainCSImpl();
+ return domainCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public KeyDeclCS createKeyDeclCS() {
+ KeyDeclCSImpl keyDeclCS = new KeyDeclCSImpl();
+ return keyDeclCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelDeclCS createModelDeclCS() {
+ ModelDeclCSImpl modelDeclCS = new ModelDeclCSImpl();
+ return modelDeclCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectTemplateCS createObjectTemplateCS() {
+ ObjectTemplateCSImpl objectTemplateCS = new ObjectTemplateCSImpl();
+ return objectTemplateCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParamDeclarationCS createParamDeclarationCS() {
+ ParamDeclarationCSImpl paramDeclarationCS = new ParamDeclarationCSImpl();
+ return paramDeclarationCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimitiveTypeDomainCS createPrimitiveTypeDomainCS() {
+ PrimitiveTypeDomainCSImpl primitiveTypeDomainCS = new PrimitiveTypeDomainCSImpl();
+ return primitiveTypeDomainCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PropertyTemplateCS createPropertyTemplateCS() {
+ PropertyTemplateCSImpl propertyTemplateCS = new PropertyTemplateCSImpl();
+ return propertyTemplateCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryCS createQueryCS() {
+ QueryCSImpl queryCS = new QueryCSImpl();
+ return queryCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RelationCS createRelationCS() {
+ RelationCSImpl relationCS = new RelationCSImpl();
+ return relationCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TopLevelCS createTopLevelCS() {
+ TopLevelCSImpl topLevelCS = new TopLevelCSImpl();
+ return topLevelCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TransformationCS createTransformationCS() {
+ TransformationCSImpl transformationCS = new TransformationCSImpl();
+ return transformationCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnitCS createUnitCS() {
+ UnitCSImpl unitCS = new UnitCSImpl();
+ return unitCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VarDeclarationCS createVarDeclarationCS() {
+ VarDeclarationCSImpl varDeclarationCS = new VarDeclarationCSImpl();
+ return varDeclarationCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhenCS createWhenCS() {
+ WhenCSImpl whenCS = new WhenCSImpl();
+ return whenCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhereCS createWhereCS() {
+ WhereCSImpl whereCS = new WhereCSImpl();
+ return whereCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTPackage getQVTrelationCSTPackage() {
+ return (QVTrelationCSTPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static QVTrelationCSTPackage getPackage() {
+ return QVTrelationCSTPackage.eINSTANCE;
+ }
+
+} //QVTrelationCSTFactoryImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTPackageImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTPackageImpl.java
new file mode 100644
index 000000000..6093bfef2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTPackageImpl.java
@@ -0,0 +1,1146 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.ocl.examples.pivot.PivotPackage;
+import org.eclipse.ocl.examples.xtext.base.baseCST.BaseCSTPackage;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.EssentialOCLCSTPackage;
+import org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage;
+import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTFactory;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QVTrelationCSTPackageImpl extends EPackageImpl implements QVTrelationCSTPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractDomainCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass anyElementCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass collectionTemplateCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass defaultValueCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass domainCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass keyDeclCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modelDeclCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass objectTemplateCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass paramDeclarationCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass primitiveTypeDomainCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertyTemplateCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass queryCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass relationCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateVariableCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass topLevelCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass transformationCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unitCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass varDeclarationCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass whenCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass whereCSEClass = 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.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private QVTrelationCSTPackageImpl() {
+ super(eNS_URI, QVTrelationCSTFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link QVTrelationCSTPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static QVTrelationCSTPackage init() {
+ if (isInited) return (QVTrelationCSTPackage)EPackage.Registry.INSTANCE.getEPackage(QVTrelationCSTPackage.eNS_URI);
+
+ // Obtain or create and register package
+ QVTrelationCSTPackageImpl theQVTrelationCSTPackage = (QVTrelationCSTPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof QVTrelationCSTPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new QVTrelationCSTPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EssentialOCLCSTPackage.eINSTANCE.eClass();
+ QVTrelationPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theQVTrelationCSTPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theQVTrelationCSTPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theQVTrelationCSTPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(QVTrelationCSTPackage.eNS_URI, theQVTrelationCSTPackage);
+ return theQVTrelationCSTPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAbstractDomainCS() {
+ return abstractDomainCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnyElementCS() {
+ return anyElementCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCollectionTemplateCS() {
+ return collectionTemplateCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollectionTemplateCS_MemberIdentifier() {
+ return (EReference)collectionTemplateCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollectionTemplateCS_RestIdentifier() {
+ return (EReference)collectionTemplateCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDefaultValueCS() {
+ return defaultValueCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefaultValueCS_Initialiser() {
+ return (EReference)defaultValueCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefaultValueCS_PropertyId() {
+ return (EReference)defaultValueCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDomainCS() {
+ return domainCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDomainCS_Checkonly() {
+ return (EAttribute)domainCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDomainCS_Enforce() {
+ return (EAttribute)domainCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDomainCS_ModelId() {
+ return (EReference)domainCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDomainCS_Replace() {
+ return (EAttribute)domainCSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDomainCS_Template() {
+ return (EReference)domainCSEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDomainCS_DefaultValue() {
+ return (EReference)domainCSEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDomainCS_ImplementedBy() {
+ return (EReference)domainCSEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getKeyDeclCS() {
+ return keyDeclCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getKeyDeclCS_PathName() {
+ return (EReference)keyDeclCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getKeyDeclCS_PropertyId() {
+ return (EReference)keyDeclCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getKeyDeclCS_ClassId() {
+ return (EReference)keyDeclCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModelDeclCS() {
+ return modelDeclCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModelDeclCS_MetaModelId() {
+ return (EReference)modelDeclCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getObjectTemplateCS() {
+ return objectTemplateCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObjectTemplateCS_PropertyTemplate() {
+ return (EReference)objectTemplateCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParamDeclarationCS() {
+ return paramDeclarationCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParamDeclarationCS_Type() {
+ return (EReference)paramDeclarationCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPrimitiveTypeDomainCS() {
+ return primitiveTypeDomainCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPrimitiveTypeDomainCS_Name() {
+ return (EAttribute)primitiveTypeDomainCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPropertyTemplateCS() {
+ return propertyTemplateCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPropertyTemplateCS_PropertyId() {
+ return (EReference)propertyTemplateCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPropertyTemplateCS_OclExpression() {
+ return (EReference)propertyTemplateCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPropertyTemplateCS_Opposite() {
+ return (EAttribute)propertyTemplateCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQueryCS() {
+ return queryCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryCS_PathName() {
+ return (EReference)queryCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryCS_InputParamDeclaration() {
+ return (EReference)queryCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryCS_OclExpression() {
+ return (EReference)queryCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryCS_Type() {
+ return (EReference)queryCSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRelationCS() {
+ return relationCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRelationCS_Top() {
+ return (EAttribute)relationCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_Overrides() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_VarDeclaration() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_Domain() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_When() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_Where() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateCS() {
+ return templateCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateCS_GuardExpression() {
+ return (EReference)templateCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateVariableCS() {
+ return templateVariableCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateVariableCS_Type() {
+ return (EReference)templateVariableCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateVariableCS_PropertyId() {
+ return (EReference)templateVariableCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTopLevelCS() {
+ return topLevelCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTopLevelCS_ImportClause() {
+ return (EReference)topLevelCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTopLevelCS_Transformation() {
+ return (EReference)topLevelCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTransformationCS() {
+ return transformationCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_ModelDecl() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_Extends() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_KeyDecl() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_Query() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_Relation() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUnitCS() {
+ return unitCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUnitCS_Identifier() {
+ return (EReference)unitCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVarDeclarationCS() {
+ return varDeclarationCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVarDeclarationCS_VarDeclarationId() {
+ return (EReference)varDeclarationCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVarDeclarationCS_Type() {
+ return (EReference)varDeclarationCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWhenCS() {
+ return whenCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWhenCS_Expr() {
+ return (EReference)whenCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWhereCS() {
+ return whereCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWhereCS_Expr() {
+ return (EReference)whereCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTFactory getQVTrelationCSTFactory() {
+ return (QVTrelationCSTFactory)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
+ abstractDomainCSEClass = createEClass(ABSTRACT_DOMAIN_CS);
+
+ anyElementCSEClass = createEClass(ANY_ELEMENT_CS);
+
+ collectionTemplateCSEClass = createEClass(COLLECTION_TEMPLATE_CS);
+ createEReference(collectionTemplateCSEClass, COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER);
+ createEReference(collectionTemplateCSEClass, COLLECTION_TEMPLATE_CS__REST_IDENTIFIER);
+
+ defaultValueCSEClass = createEClass(DEFAULT_VALUE_CS);
+ createEReference(defaultValueCSEClass, DEFAULT_VALUE_CS__INITIALISER);
+ createEReference(defaultValueCSEClass, DEFAULT_VALUE_CS__PROPERTY_ID);
+
+ domainCSEClass = createEClass(DOMAIN_CS);
+ createEAttribute(domainCSEClass, DOMAIN_CS__CHECKONLY);
+ createEAttribute(domainCSEClass, DOMAIN_CS__ENFORCE);
+ createEReference(domainCSEClass, DOMAIN_CS__MODEL_ID);
+ createEAttribute(domainCSEClass, DOMAIN_CS__REPLACE);
+ createEReference(domainCSEClass, DOMAIN_CS__TEMPLATE);
+ createEReference(domainCSEClass, DOMAIN_CS__DEFAULT_VALUE);
+ createEReference(domainCSEClass, DOMAIN_CS__IMPLEMENTED_BY);
+
+ keyDeclCSEClass = createEClass(KEY_DECL_CS);
+ createEReference(keyDeclCSEClass, KEY_DECL_CS__PATH_NAME);
+ createEReference(keyDeclCSEClass, KEY_DECL_CS__PROPERTY_ID);
+ createEReference(keyDeclCSEClass, KEY_DECL_CS__CLASS_ID);
+
+ modelDeclCSEClass = createEClass(MODEL_DECL_CS);
+ createEReference(modelDeclCSEClass, MODEL_DECL_CS__META_MODEL_ID);
+
+ objectTemplateCSEClass = createEClass(OBJECT_TEMPLATE_CS);
+ createEReference(objectTemplateCSEClass, OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE);
+
+ paramDeclarationCSEClass = createEClass(PARAM_DECLARATION_CS);
+ createEReference(paramDeclarationCSEClass, PARAM_DECLARATION_CS__TYPE);
+
+ primitiveTypeDomainCSEClass = createEClass(PRIMITIVE_TYPE_DOMAIN_CS);
+ createEAttribute(primitiveTypeDomainCSEClass, PRIMITIVE_TYPE_DOMAIN_CS__NAME);
+
+ propertyTemplateCSEClass = createEClass(PROPERTY_TEMPLATE_CS);
+ createEReference(propertyTemplateCSEClass, PROPERTY_TEMPLATE_CS__PROPERTY_ID);
+ createEReference(propertyTemplateCSEClass, PROPERTY_TEMPLATE_CS__OCL_EXPRESSION);
+ createEAttribute(propertyTemplateCSEClass, PROPERTY_TEMPLATE_CS__OPPOSITE);
+
+ queryCSEClass = createEClass(QUERY_CS);
+ createEReference(queryCSEClass, QUERY_CS__PATH_NAME);
+ createEReference(queryCSEClass, QUERY_CS__INPUT_PARAM_DECLARATION);
+ createEReference(queryCSEClass, QUERY_CS__OCL_EXPRESSION);
+ createEReference(queryCSEClass, QUERY_CS__TYPE);
+
+ relationCSEClass = createEClass(RELATION_CS);
+ createEAttribute(relationCSEClass, RELATION_CS__TOP);
+ createEReference(relationCSEClass, RELATION_CS__OVERRIDES);
+ createEReference(relationCSEClass, RELATION_CS__VAR_DECLARATION);
+ createEReference(relationCSEClass, RELATION_CS__DOMAIN);
+ createEReference(relationCSEClass, RELATION_CS__WHEN);
+ createEReference(relationCSEClass, RELATION_CS__WHERE);
+
+ templateCSEClass = createEClass(TEMPLATE_CS);
+ createEReference(templateCSEClass, TEMPLATE_CS__GUARD_EXPRESSION);
+
+ templateVariableCSEClass = createEClass(TEMPLATE_VARIABLE_CS);
+ createEReference(templateVariableCSEClass, TEMPLATE_VARIABLE_CS__TYPE);
+ createEReference(templateVariableCSEClass, TEMPLATE_VARIABLE_CS__PROPERTY_ID);
+
+ topLevelCSEClass = createEClass(TOP_LEVEL_CS);
+ createEReference(topLevelCSEClass, TOP_LEVEL_CS__IMPORT_CLAUSE);
+ createEReference(topLevelCSEClass, TOP_LEVEL_CS__TRANSFORMATION);
+
+ transformationCSEClass = createEClass(TRANSFORMATION_CS);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__MODEL_DECL);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__EXTENDS);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__KEY_DECL);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__QUERY);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__RELATION);
+
+ unitCSEClass = createEClass(UNIT_CS);
+ createEReference(unitCSEClass, UNIT_CS__IDENTIFIER);
+
+ varDeclarationCSEClass = createEClass(VAR_DECLARATION_CS);
+ createEReference(varDeclarationCSEClass, VAR_DECLARATION_CS__VAR_DECLARATION_ID);
+ createEReference(varDeclarationCSEClass, VAR_DECLARATION_CS__TYPE);
+
+ whenCSEClass = createEClass(WHEN_CS);
+ createEReference(whenCSEClass, WHEN_CS__EXPR);
+
+ whereCSEClass = createEClass(WHERE_CS);
+ createEReference(whereCSEClass, WHERE_CS__EXPR);
+ }
+
+ /**
+ * <!-- 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
+ BaseCSTPackage theBaseCSTPackage = (BaseCSTPackage)EPackage.Registry.INSTANCE.getEPackage(BaseCSTPackage.eNS_URI);
+ PivotPackage thePivotPackage = (PivotPackage)EPackage.Registry.INSTANCE.getEPackage(PivotPackage.eNS_URI);
+ EssentialOCLCSTPackage theEssentialOCLCSTPackage = (EssentialOCLCSTPackage)EPackage.Registry.INSTANCE.getEPackage(EssentialOCLCSTPackage.eNS_URI);
+ QVTbasePackage theQVTbasePackage = (QVTbasePackage)EPackage.Registry.INSTANCE.getEPackage(QVTbasePackage.eNS_URI);
+ QVTrelationPackage theQVTrelationPackage = (QVTrelationPackage)EPackage.Registry.INSTANCE.getEPackage(QVTrelationPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ abstractDomainCSEClass.getESuperTypes().add(theBaseCSTPackage.getModelElementCS());
+ abstractDomainCSEClass.getESuperTypes().add(thePivotPackage.getNameable());
+ anyElementCSEClass.getESuperTypes().add(theEssentialOCLCSTPackage.getExpCS());
+ collectionTemplateCSEClass.getESuperTypes().add(this.getTemplateCS());
+ defaultValueCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ domainCSEClass.getESuperTypes().add(this.getAbstractDomainCS());
+ keyDeclCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ modelDeclCSEClass.getESuperTypes().add(theBaseCSTPackage.getNamedElementCS());
+ objectTemplateCSEClass.getESuperTypes().add(this.getTemplateCS());
+ paramDeclarationCSEClass.getESuperTypes().add(theBaseCSTPackage.getNamedElementCS());
+ primitiveTypeDomainCSEClass.getESuperTypes().add(this.getTemplateVariableCS());
+ primitiveTypeDomainCSEClass.getESuperTypes().add(this.getAbstractDomainCS());
+ propertyTemplateCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ queryCSEClass.getESuperTypes().add(theBaseCSTPackage.getModelElementCS());
+ queryCSEClass.getESuperTypes().add(thePivotPackage.getNameable());
+ relationCSEClass.getESuperTypes().add(theBaseCSTPackage.getNamedElementCS());
+ templateCSEClass.getESuperTypes().add(this.getTemplateVariableCS());
+ templateCSEClass.getESuperTypes().add(theEssentialOCLCSTPackage.getExpCS());
+ templateVariableCSEClass.getESuperTypes().add(theBaseCSTPackage.getModelElementCS());
+ topLevelCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ transformationCSEClass.getESuperTypes().add(theBaseCSTPackage.getNamedElementCS());
+ unitCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ varDeclarationCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ whenCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ whereCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(abstractDomainCSEClass, AbstractDomainCS.class, "AbstractDomainCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(anyElementCSEClass, AnyElementCS.class, "AnyElementCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(collectionTemplateCSEClass, CollectionTemplateCS.class, "CollectionTemplateCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCollectionTemplateCS_MemberIdentifier(), theEssentialOCLCSTPackage.getExpCS(), null, "memberIdentifier", null, 1, -1, CollectionTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCollectionTemplateCS_RestIdentifier(), theEssentialOCLCSTPackage.getExpCS(), null, "restIdentifier", null, 1, 1, CollectionTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(defaultValueCSEClass, DefaultValueCS.class, "DefaultValueCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDefaultValueCS_Initialiser(), theEssentialOCLCSTPackage.getExpCS(), null, "initialiser", null, 1, 1, DefaultValueCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDefaultValueCS_PropertyId(), thePivotPackage.getProperty(), null, "propertyId", null, 1, 1, DefaultValueCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(domainCSEClass, DomainCS.class, "DomainCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDomainCS_Checkonly(), ecorePackage.getEBoolean(), "checkonly", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDomainCS_Enforce(), ecorePackage.getEBoolean(), "enforce", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDomainCS_ModelId(), theQVTbasePackage.getTypedModel(), null, "modelId", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDomainCS_Replace(), ecorePackage.getEBoolean(), "replace", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDomainCS_Template(), this.getTemplateCS(), null, "template", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDomainCS_DefaultValue(), this.getDefaultValueCS(), null, "defaultValue", null, 0, -1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDomainCS_ImplementedBy(), theEssentialOCLCSTPackage.getExpCS(), null, "implementedBy", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(keyDeclCSEClass, KeyDeclCS.class, "KeyDeclCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getKeyDeclCS_PathName(), theBaseCSTPackage.getPathNameCS(), null, "pathName", null, 0, 1, KeyDeclCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getKeyDeclCS_PropertyId(), thePivotPackage.getProperty(), null, "propertyId", null, 0, -1, KeyDeclCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getKeyDeclCS_ClassId(), thePivotPackage.getClass_(), null, "classId", null, 0, 1, KeyDeclCS.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+ initEClass(modelDeclCSEClass, ModelDeclCS.class, "ModelDeclCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getModelDeclCS_MetaModelId(), thePivotPackage.getPackage(), null, "metaModelId", null, 0, -1, ModelDeclCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(objectTemplateCSEClass, ObjectTemplateCS.class, "ObjectTemplateCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getObjectTemplateCS_PropertyTemplate(), this.getPropertyTemplateCS(), null, "propertyTemplate", null, 0, -1, ObjectTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(paramDeclarationCSEClass, ParamDeclarationCS.class, "ParamDeclarationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getParamDeclarationCS_Type(), theBaseCSTPackage.getTypedRefCS(), null, "type", null, 0, 1, ParamDeclarationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(primitiveTypeDomainCSEClass, PrimitiveTypeDomainCS.class, "PrimitiveTypeDomainCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPrimitiveTypeDomainCS_Name(), ecorePackage.getEString(), "name", null, 0, 1, PrimitiveTypeDomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(propertyTemplateCSEClass, PropertyTemplateCS.class, "PropertyTemplateCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPropertyTemplateCS_PropertyId(), thePivotPackage.getProperty(), null, "propertyId", null, 0, 1, PropertyTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPropertyTemplateCS_OclExpression(), theEssentialOCLCSTPackage.getExpCS(), null, "oclExpression", null, 0, 1, PropertyTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPropertyTemplateCS_Opposite(), ecorePackage.getEBoolean(), "opposite", "false", 0, 1, PropertyTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(queryCSEClass, QueryCS.class, "QueryCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQueryCS_PathName(), theBaseCSTPackage.getPathNameCS(), null, "pathName", null, 0, 1, QueryCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQueryCS_InputParamDeclaration(), this.getParamDeclarationCS(), null, "inputParamDeclaration", null, 0, -1, QueryCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQueryCS_OclExpression(), theEssentialOCLCSTPackage.getExpCS(), null, "oclExpression", null, 0, 1, QueryCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQueryCS_Type(), theBaseCSTPackage.getTypedTypeRefCS(), null, "type", null, 0, 1, QueryCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(relationCSEClass, RelationCS.class, "RelationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRelationCS_Top(), ecorePackage.getEBoolean(), "top", null, 0, 1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_Overrides(), theQVTrelationPackage.getRelation(), null, "overrides", null, 0, 1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_VarDeclaration(), this.getVarDeclarationCS(), null, "varDeclaration", null, 0, -1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_Domain(), this.getAbstractDomainCS(), null, "domain", null, 0, -1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_When(), this.getWhenCS(), null, "when", null, 0, 1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_Where(), this.getWhereCS(), null, "where", null, 0, 1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(templateCSEClass, TemplateCS.class, "TemplateCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTemplateCS_GuardExpression(), theEssentialOCLCSTPackage.getExpCS(), null, "guardExpression", null, 0, 1, TemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(templateVariableCSEClass, TemplateVariableCS.class, "TemplateVariableCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTemplateVariableCS_Type(), theBaseCSTPackage.getTypedTypeRefCS(), null, "type", null, 0, 1, TemplateVariableCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTemplateVariableCS_PropertyId(), thePivotPackage.getProperty(), null, "propertyId", null, 0, 1, TemplateVariableCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(topLevelCSEClass, TopLevelCS.class, "TopLevelCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTopLevelCS_ImportClause(), this.getUnitCS(), null, "importClause", null, 0, -1, TopLevelCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTopLevelCS_Transformation(), this.getTransformationCS(), null, "transformation", null, 0, -1, TopLevelCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(transformationCSEClass, TransformationCS.class, "TransformationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTransformationCS_ModelDecl(), this.getModelDeclCS(), null, "modelDecl", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransformationCS_Extends(), theQVTbasePackage.getTransformation(), null, "extends", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransformationCS_KeyDecl(), this.getKeyDeclCS(), null, "keyDecl", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransformationCS_Query(), this.getQueryCS(), null, "query", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransformationCS_Relation(), this.getRelationCS(), null, "relation", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(unitCSEClass, UnitCS.class, "UnitCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getUnitCS_Identifier(), thePivotPackage.getElement(), null, "identifier", null, 1, -1, UnitCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(varDeclarationCSEClass, VarDeclarationCS.class, "VarDeclarationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVarDeclarationCS_VarDeclarationId(), thePivotPackage.getProperty(), null, "varDeclarationId", null, 0, -1, VarDeclarationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getVarDeclarationCS_Type(), theBaseCSTPackage.getTypedTypeRefCS(), null, "type", null, 0, 1, VarDeclarationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(whenCSEClass, WhenCS.class, "WhenCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getWhenCS_Expr(), theEssentialOCLCSTPackage.getExpCS(), null, "expr", null, 1, -1, WhenCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(whereCSEClass, WhereCS.class, "WhereCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getWhereCS_Expr(), theEssentialOCLCSTPackage.getExpCS(), null, "expr", null, 1, -1, WhereCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //QVTrelationCSTPackageImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QueryCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QueryCSImpl.java
new file mode 100644
index 000000000..20a6299cd
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QueryCSImpl.java
@@ -0,0 +1,378 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PathNameCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ModelElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl#getInputParamDeclaration <em>Input Param Declaration</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl#getOclExpression <em>Ocl Expression</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QueryCSImpl extends ModelElementCSImpl implements QueryCS {
+ /**
+ * The cached value of the '{@link #getPathName() <em>Path Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPathName()
+ * @generated
+ * @ordered
+ */
+ protected PathNameCS pathName;
+
+ /**
+ * The cached value of the '{@link #getInputParamDeclaration() <em>Input Param Declaration</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputParamDeclaration()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParamDeclarationCS> inputParamDeclaration;
+
+ /**
+ * The cached value of the '{@link #getOclExpression() <em>Ocl Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOclExpression()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS oclExpression;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TypedTypeRefCS type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.QUERY_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PathNameCS getPathName() {
+ return pathName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPathName(PathNameCS newPathName, NotificationChain msgs) {
+ PathNameCS oldPathName = pathName;
+ pathName = newPathName;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__PATH_NAME, oldPathName, newPathName);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPathName(PathNameCS newPathName) {
+ if (newPathName != pathName) {
+ NotificationChain msgs = null;
+ if (pathName != null)
+ msgs = ((InternalEObject)pathName).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__PATH_NAME, null, msgs);
+ if (newPathName != null)
+ msgs = ((InternalEObject)newPathName).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__PATH_NAME, null, msgs);
+ msgs = basicSetPathName(newPathName, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__PATH_NAME, newPathName, newPathName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParamDeclarationCS> getInputParamDeclaration() {
+ if (inputParamDeclaration == null) {
+ inputParamDeclaration = new EObjectContainmentEList<ParamDeclarationCS>(ParamDeclarationCS.class, this, QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION);
+ }
+ return inputParamDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getOclExpression() {
+ return oclExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOclExpression(ExpCS newOclExpression, NotificationChain msgs) {
+ ExpCS oldOclExpression = oclExpression;
+ oclExpression = newOclExpression;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION, oldOclExpression, newOclExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOclExpression(ExpCS newOclExpression) {
+ if (newOclExpression != oclExpression) {
+ NotificationChain msgs = null;
+ if (oclExpression != null)
+ msgs = ((InternalEObject)oclExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION, null, msgs);
+ if (newOclExpression != null)
+ msgs = ((InternalEObject)newOclExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION, null, msgs);
+ msgs = basicSetOclExpression(newOclExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION, newOclExpression, newOclExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedTypeRefCS getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypedTypeRefCS newType, NotificationChain msgs) {
+ TypedTypeRefCS oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypedTypeRefCS newType) {
+ if (newType != type) {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ return basicSetPathName(null, msgs);
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ return ((InternalEList<?>)getInputParamDeclaration()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ return basicSetOclExpression(null, msgs);
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ return basicSetType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ return getPathName();
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ return getInputParamDeclaration();
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ return getOclExpression();
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ setPathName((PathNameCS)newValue);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ getInputParamDeclaration().clear();
+ getInputParamDeclaration().addAll((Collection<? extends ParamDeclarationCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ setOclExpression((ExpCS)newValue);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ setType((TypedTypeRefCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ setPathName((PathNameCS)null);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ getInputParamDeclaration().clear();
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ setOclExpression((ExpCS)null);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ setType((TypedTypeRefCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ return pathName != null;
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ return inputParamDeclaration != null && !inputParamDeclaration.isEmpty();
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ return oclExpression != null;
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitQueryCS(this);
+ }
+
+ public String getName() {
+// if ((pathName != null) && !pathName.eIsProxy()) {
+// return pathName.getName();
+// }
+ return "null";
+ }
+} //QueryCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/RelationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/RelationCSImpl.java
new file mode 100644
index 000000000..ab0d58845
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/RelationCSImpl.java
@@ -0,0 +1,464 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.NamedElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.pivot.qvtrelation.Relation;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Relation CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#isTop <em>Top</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getOverrides <em>Overrides</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getVarDeclaration <em>Var Declaration</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getDomain <em>Domain</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getWhen <em>When</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getWhere <em>Where</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RelationCSImpl extends NamedElementCSImpl implements RelationCS {
+ /**
+ * The default value of the '{@link #isTop() <em>Top</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTop()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean TOP_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isTop() <em>Top</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTop()
+ * @generated
+ * @ordered
+ */
+ protected boolean top = TOP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOverrides() <em>Overrides</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverrides()
+ * @generated
+ * @ordered
+ */
+ protected Relation overrides;
+
+ /**
+ * The cached value of the '{@link #getVarDeclaration() <em>Var Declaration</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVarDeclaration()
+ * @generated
+ * @ordered
+ */
+ protected EList<VarDeclarationCS> varDeclaration;
+
+ /**
+ * The cached value of the '{@link #getDomain() <em>Domain</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDomain()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDomainCS> domain;
+
+ /**
+ * The cached value of the '{@link #getWhen() <em>When</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhen()
+ * @generated
+ * @ordered
+ */
+ protected WhenCS when;
+
+ /**
+ * The cached value of the '{@link #getWhere() <em>Where</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhere()
+ * @generated
+ * @ordered
+ */
+ protected WhereCS where;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RelationCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.RELATION_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTop() {
+ return top;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTop(boolean newTop) {
+ boolean oldTop = top;
+ top = newTop;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__TOP, oldTop, top));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Relation getOverrides() {
+ if (overrides != null && overrides.eIsProxy()) {
+ InternalEObject oldOverrides = (InternalEObject)overrides;
+ overrides = (Relation)eResolveProxy(oldOverrides);
+ if (overrides != oldOverrides) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.RELATION_CS__OVERRIDES, oldOverrides, overrides));
+ }
+ }
+ return overrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Relation basicGetOverrides() {
+ return overrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOverrides(Relation newOverrides) {
+ Relation oldOverrides = overrides;
+ overrides = newOverrides;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__OVERRIDES, oldOverrides, overrides));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VarDeclarationCS> getVarDeclaration() {
+ if (varDeclaration == null) {
+ varDeclaration = new EObjectContainmentEList<VarDeclarationCS>(VarDeclarationCS.class, this, QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION);
+ }
+ return varDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractDomainCS> getDomain() {
+ if (domain == null) {
+ domain = new EObjectContainmentEList<AbstractDomainCS>(AbstractDomainCS.class, this, QVTrelationCSTPackage.RELATION_CS__DOMAIN);
+ }
+ return domain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhenCS getWhen() {
+ return when;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetWhen(WhenCS newWhen, NotificationChain msgs) {
+ WhenCS oldWhen = when;
+ when = newWhen;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__WHEN, oldWhen, newWhen);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWhen(WhenCS newWhen) {
+ if (newWhen != when) {
+ NotificationChain msgs = null;
+ if (when != null)
+ msgs = ((InternalEObject)when).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.RELATION_CS__WHEN, null, msgs);
+ if (newWhen != null)
+ msgs = ((InternalEObject)newWhen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.RELATION_CS__WHEN, null, msgs);
+ msgs = basicSetWhen(newWhen, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__WHEN, newWhen, newWhen));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhereCS getWhere() {
+ return where;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetWhere(WhereCS newWhere, NotificationChain msgs) {
+ WhereCS oldWhere = where;
+ where = newWhere;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__WHERE, oldWhere, newWhere);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWhere(WhereCS newWhere) {
+ if (newWhere != where) {
+ NotificationChain msgs = null;
+ if (where != null)
+ msgs = ((InternalEObject)where).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.RELATION_CS__WHERE, null, msgs);
+ if (newWhere != null)
+ msgs = ((InternalEObject)newWhere).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.RELATION_CS__WHERE, null, msgs);
+ msgs = basicSetWhere(newWhere, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__WHERE, newWhere, newWhere));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ return ((InternalEList<?>)getVarDeclaration()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ return ((InternalEList<?>)getDomain()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ return basicSetWhen(null, msgs);
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ return basicSetWhere(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__TOP:
+ return isTop();
+ case QVTrelationCSTPackage.RELATION_CS__OVERRIDES:
+ if (resolve) return getOverrides();
+ return basicGetOverrides();
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ return getVarDeclaration();
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ return getDomain();
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ return getWhen();
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ return getWhere();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__TOP:
+ setTop((Boolean)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__OVERRIDES:
+ setOverrides((Relation)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ getVarDeclaration().clear();
+ getVarDeclaration().addAll((Collection<? extends VarDeclarationCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ getDomain().clear();
+ getDomain().addAll((Collection<? extends AbstractDomainCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ setWhen((WhenCS)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ setWhere((WhereCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__TOP:
+ setTop(TOP_EDEFAULT);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__OVERRIDES:
+ setOverrides((Relation)null);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ getVarDeclaration().clear();
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ getDomain().clear();
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ setWhen((WhenCS)null);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ setWhere((WhereCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__TOP:
+ return top != TOP_EDEFAULT;
+ case QVTrelationCSTPackage.RELATION_CS__OVERRIDES:
+ return overrides != null;
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ return varDeclaration != null && !varDeclaration.isEmpty();
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ return domain != null && !domain.isEmpty();
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ return when != null;
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ return where != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitRelationCS(this);
+ }
+} //RelationCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateCSImpl.java
new file mode 100644
index 000000000..53b349816
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateCSImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.EssentialOCLCSTPackage;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.OperatorCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl#getGuardExpression <em>Guard Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TemplateCSImpl extends TemplateVariableCSImpl implements TemplateCS {
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected OperatorCS parent;
+
+ /**
+ * The cached value of the '{@link #getGuardExpression() <em>Guard Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGuardExpression()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS guardExpression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.TEMPLATE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorCS getParent() {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(OperatorCS newParent) {
+ OperatorCS oldParent = parent;
+ parent = newParent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_CS__PARENT, oldParent, parent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getGuardExpression() {
+ return guardExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetGuardExpression(ExpCS newGuardExpression, NotificationChain msgs) {
+ ExpCS oldGuardExpression = guardExpression;
+ guardExpression = newGuardExpression;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION, oldGuardExpression, newGuardExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGuardExpression(ExpCS newGuardExpression) {
+ if (newGuardExpression != guardExpression) {
+ NotificationChain msgs = null;
+ if (guardExpression != null)
+ msgs = ((InternalEObject)guardExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION, null, msgs);
+ if (newGuardExpression != null)
+ msgs = ((InternalEObject)newGuardExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION, null, msgs);
+ msgs = basicSetGuardExpression(newGuardExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION, newGuardExpression, newGuardExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ return basicSetGuardExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT:
+ return getParent();
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ return getGuardExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT:
+ setParent((OperatorCS)newValue);
+ return;
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ setGuardExpression((ExpCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT:
+ setParent((OperatorCS)null);
+ return;
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ setGuardExpression((ExpCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT:
+ return parent != null;
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ return guardExpression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ExpCS.class) {
+ switch (derivedFeatureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT: return EssentialOCLCSTPackage.EXP_CS__PARENT;
+ 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 == ExpCS.class) {
+ switch (baseFeatureID) {
+ case EssentialOCLCSTPackage.EXP_CS__PARENT: return QVTrelationCSTPackage.TEMPLATE_CS__PARENT;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitTemplateCS(this);
+ }
+} //TemplateCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateVariableCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateVariableCSImpl.java
new file mode 100644
index 000000000..9487f53d4
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateVariableCSImpl.java
@@ -0,0 +1,256 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ModelElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Variable CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl#getPropertyId <em>Property Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TemplateVariableCSImpl extends ModelElementCSImpl implements TemplateVariableCS {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TypedTypeRefCS type;
+
+ /**
+ * The cached value of the '{@link #getPropertyId() <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyId()
+ * @generated
+ * @ordered
+ */
+ protected Property propertyId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateVariableCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.TEMPLATE_VARIABLE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedTypeRefCS getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypedTypeRefCS newType, NotificationChain msgs) {
+ TypedTypeRefCS oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypedTypeRefCS newType) {
+ if (newType != type) {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPropertyId() {
+ if (propertyId != null && ((EObject)propertyId).eIsProxy()) {
+ InternalEObject oldPropertyId = (InternalEObject)propertyId;
+ propertyId = (Property)eResolveProxy(oldPropertyId);
+ if (propertyId != oldPropertyId) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+ }
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetPropertyId() {
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPropertyId(Property newPropertyId) {
+ Property oldPropertyId = propertyId;
+ propertyId = newPropertyId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ return basicSetType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ return getType();
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID:
+ if (resolve) return getPropertyId();
+ return basicGetPropertyId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ setType((TypedTypeRefCS)newValue);
+ return;
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID:
+ setPropertyId((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ setType((TypedTypeRefCS)null);
+ return;
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID:
+ setPropertyId((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ return type != null;
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID:
+ return propertyId != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitTemplateVariableCS(this);
+ }
+} //TemplateVariableCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TopLevelCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TopLevelCSImpl.java
new file mode 100644
index 000000000..8b3e78fdb
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TopLevelCSImpl.java
@@ -0,0 +1,205 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Top Level CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl#getImportClause <em>Import Clause</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl#getTransformation <em>Transformation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TopLevelCSImpl extends ElementCSImpl implements TopLevelCS {
+ /**
+ * The cached value of the '{@link #getImportClause() <em>Import Clause</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportClause()
+ * @generated
+ * @ordered
+ */
+ protected EList<UnitCS> importClause;
+
+ /**
+ * The cached value of the '{@link #getTransformation() <em>Transformation</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransformation()
+ * @generated
+ * @ordered
+ */
+ protected EList<TransformationCS> transformation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TopLevelCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.TOP_LEVEL_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UnitCS> getImportClause() {
+ if (importClause == null) {
+ importClause = new EObjectContainmentEList<UnitCS>(UnitCS.class, this, QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE);
+ }
+ return importClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TransformationCS> getTransformation() {
+ if (transformation == null) {
+ transformation = new EObjectContainmentEList<TransformationCS>(TransformationCS.class, this, QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION);
+ }
+ return transformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ return ((InternalEList<?>)getImportClause()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ return ((InternalEList<?>)getTransformation()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ return getImportClause();
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ return getTransformation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ getImportClause().clear();
+ getImportClause().addAll((Collection<? extends UnitCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ getTransformation().clear();
+ getTransformation().addAll((Collection<? extends TransformationCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ getImportClause().clear();
+ return;
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ getTransformation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ return importClause != null && !importClause.isEmpty();
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ return transformation != null && !transformation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitTopLevelCS(this);
+ }
+} //TopLevelCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TransformationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TransformationCSImpl.java
new file mode 100644
index 000000000..8c832cb28
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TransformationCSImpl.java
@@ -0,0 +1,315 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.NamedElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.pivot.qvtbase.Transformation;
+import org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Transformation CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getModelDecl <em>Model Decl</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getExtends <em>Extends</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getKeyDecl <em>Key Decl</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getRelation <em>Relation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TransformationCSImpl extends NamedElementCSImpl implements TransformationCS {
+ /**
+ * The cached value of the '{@link #getModelDecl() <em>Model Decl</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getModelDecl()
+ * @generated
+ * @ordered
+ */
+ protected EList<ModelDeclCS> modelDecl;
+
+ /**
+ * The cached value of the '{@link #getExtends() <em>Extends</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtends()
+ * @generated
+ * @ordered
+ */
+ protected EList<Transformation> extends_;
+
+ /**
+ * The cached value of the '{@link #getKeyDecl() <em>Key Decl</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeyDecl()
+ * @generated
+ * @ordered
+ */
+ protected EList<KeyDeclCS> keyDecl;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected EList<QueryCS> query;
+
+ /**
+ * The cached value of the '{@link #getRelation() <em>Relation</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelation()
+ * @generated
+ * @ordered
+ */
+ protected EList<RelationCS> relation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TransformationCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.TRANSFORMATION_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ModelDeclCS> getModelDecl() {
+ if (modelDecl == null) {
+ modelDecl = new EObjectContainmentEList<ModelDeclCS>(ModelDeclCS.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL);
+ }
+ return modelDecl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Transformation> getExtends() {
+ if (extends_ == null) {
+ extends_ = new EObjectResolvingEList<Transformation>(Transformation.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS);
+ }
+ return extends_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<KeyDeclCS> getKeyDecl() {
+ if (keyDecl == null) {
+ keyDecl = new EObjectContainmentEList<KeyDeclCS>(KeyDeclCS.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL);
+ }
+ return keyDecl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<QueryCS> getQuery() {
+ if (query == null) {
+ query = new EObjectContainmentEList<QueryCS>(QueryCS.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY);
+ }
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RelationCS> getRelation() {
+ if (relation == null) {
+ relation = new EObjectContainmentEList<RelationCS>(RelationCS.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION);
+ }
+ return relation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ return ((InternalEList<?>)getModelDecl()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ return ((InternalEList<?>)getKeyDecl()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ return ((InternalEList<?>)getQuery()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ return ((InternalEList<?>)getRelation()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ return getModelDecl();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS:
+ return getExtends();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ return getKeyDecl();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ return getQuery();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ return getRelation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ getModelDecl().clear();
+ getModelDecl().addAll((Collection<? extends ModelDeclCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS:
+ getExtends().clear();
+ getExtends().addAll((Collection<? extends Transformation>)newValue);
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ getKeyDecl().clear();
+ getKeyDecl().addAll((Collection<? extends KeyDeclCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ getQuery().clear();
+ getQuery().addAll((Collection<? extends QueryCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ getRelation().clear();
+ getRelation().addAll((Collection<? extends RelationCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ getModelDecl().clear();
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS:
+ getExtends().clear();
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ getKeyDecl().clear();
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ getQuery().clear();
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ getRelation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ return modelDecl != null && !modelDecl.isEmpty();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS:
+ return extends_ != null && !extends_.isEmpty();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ return keyDecl != null && !keyDecl.isEmpty();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ return query != null && !query.isEmpty();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ return relation != null && !relation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitTransformationCS(this);
+ }
+} //TransformationCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/UnitCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/UnitCSImpl.java
new file mode 100644
index 000000000..5692adfe3
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/UnitCSImpl.java
@@ -0,0 +1,151 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.ocl.examples.pivot.Element;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unit CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl#getIdentifier <em>Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UnitCSImpl extends ElementCSImpl implements UnitCS {
+ /**
+ * The cached value of the '{@link #getIdentifier() <em>Identifier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected EList<Element> identifier;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UnitCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.UNIT_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getIdentifier() {
+ if (identifier == null) {
+ identifier = new EObjectResolvingEList<Element>(Element.class, this, QVTrelationCSTPackage.UNIT_CS__IDENTIFIER);
+ }
+ return identifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.UNIT_CS__IDENTIFIER:
+ return getIdentifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.UNIT_CS__IDENTIFIER:
+ getIdentifier().clear();
+ getIdentifier().addAll((Collection<? extends Element>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.UNIT_CS__IDENTIFIER:
+ getIdentifier().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.UNIT_CS__IDENTIFIER:
+ return identifier != null && !identifier.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitUnitCS(this);
+ }
+} //UnitCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/VarDeclarationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/VarDeclarationCSImpl.java
new file mode 100644
index 000000000..97bdaa35f
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/VarDeclarationCSImpl.java
@@ -0,0 +1,234 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Var Declaration CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl#getVarDeclarationId <em>Var Declaration Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VarDeclarationCSImpl extends ElementCSImpl implements VarDeclarationCS {
+ /**
+ * The cached value of the '{@link #getVarDeclarationId() <em>Var Declaration Id</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVarDeclarationId()
+ * @generated
+ * @ordered
+ */
+ protected EList<Property> varDeclarationId;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TypedTypeRefCS type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VarDeclarationCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.VAR_DECLARATION_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getVarDeclarationId() {
+ if (varDeclarationId == null) {
+ varDeclarationId = new EObjectResolvingEList<Property>(Property.class, this, QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID);
+ }
+ return varDeclarationId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedTypeRefCS getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypedTypeRefCS newType, NotificationChain msgs) {
+ TypedTypeRefCS oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypedTypeRefCS newType) {
+ if (newType != type) {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ return basicSetType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID:
+ return getVarDeclarationId();
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID:
+ getVarDeclarationId().clear();
+ getVarDeclarationId().addAll((Collection<? extends Property>)newValue);
+ return;
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ setType((TypedTypeRefCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID:
+ getVarDeclarationId().clear();
+ return;
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ setType((TypedTypeRefCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID:
+ return varDeclarationId != null && !varDeclarationId.isEmpty();
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitVarDeclarationCS(this);
+ }
+} //VarDeclarationCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhenCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhenCSImpl.java
new file mode 100644
index 000000000..efc0ce88b
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhenCSImpl.java
@@ -0,0 +1,168 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>When CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class WhenCSImpl extends ElementCSImpl implements WhenCS {
+ /**
+ * The cached value of the '{@link #getExpr() <em>Expr</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpr()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExpCS> expr;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WhenCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.WHEN_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExpCS> getExpr() {
+ if (expr == null) {
+ expr = new EObjectContainmentEList<ExpCS>(ExpCS.class, this, QVTrelationCSTPackage.WHEN_CS__EXPR);
+ }
+ return expr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ return ((InternalEList<?>)getExpr()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ return getExpr();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ getExpr().clear();
+ getExpr().addAll((Collection<? extends ExpCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ getExpr().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ return expr != null && !expr.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitWhenCS(this);
+ }
+} //WhenCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhereCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhereCSImpl.java
new file mode 100644
index 000000000..5856ecffd
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhereCSImpl.java
@@ -0,0 +1,168 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Where CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class WhereCSImpl extends ElementCSImpl implements WhereCS {
+ /**
+ * The cached value of the '{@link #getExpr() <em>Expr</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpr()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExpCS> expr;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WhereCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.WHERE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExpCS> getExpr() {
+ if (expr == null) {
+ expr = new EObjectContainmentEList<ExpCS>(ExpCS.class, this, QVTrelationCSTPackage.WHERE_CS__EXPR);
+ }
+ return expr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ return ((InternalEList<?>)getExpr()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ return getExpr();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ getExpr().clear();
+ getExpr().addAll((Collection<? extends ExpCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ getExpr().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ return expr != null && !expr.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitWhereCS(this);
+ }
+} //WhereCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractDelegatingQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractDelegatingQVTrelationCSVisitor.java
new file mode 100644
index 000000000..276bb3519
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractDelegatingQVTrelationCSVisitor.java
@@ -0,0 +1,127 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ * An AbstractDelegatingQVTrelationCSVisitor delegates all visits.
+ */
+public abstract class AbstractDelegatingQVTrelationCSVisitor<R, C, D extends QVTrelationCSVisitor<R, C>>
+ extends org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractDelegatingEssentialOCLCSVisitor<R, C, D>
+ implements QVTrelationCSVisitor<R, C>
+{
+ protected AbstractDelegatingQVTrelationCSVisitor(D delegate, C context) {
+ super(delegate, context);
+ }
+
+ @Override
+ public R visiting(org.eclipse.ocl.examples.xtext.base.util.VisitableCS visitable) {
+ return delegate.visiting(visitable);
+ }
+
+ public R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object) {
+ return delegate.visitAbstractDomainCS(object);
+ }
+
+ public R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object) {
+ return delegate.visitAnyElementCS(object);
+ }
+
+ public R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object) {
+ return delegate.visitCollectionTemplateCS(object);
+ }
+
+ public R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object) {
+ return delegate.visitDefaultValueCS(object);
+ }
+
+ public R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object) {
+ return delegate.visitDomainCS(object);
+ }
+
+ public R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object) {
+ return delegate.visitKeyDeclCS(object);
+ }
+
+ public R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object) {
+ return delegate.visitModelDeclCS(object);
+ }
+
+ public R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object) {
+ return delegate.visitObjectTemplateCS(object);
+ }
+
+ public R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object) {
+ return delegate.visitParamDeclarationCS(object);
+ }
+
+ public R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object) {
+ return delegate.visitPrimitiveTypeDomainCS(object);
+ }
+
+ public R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object) {
+ return delegate.visitPropertyTemplateCS(object);
+ }
+
+ public R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object) {
+ return delegate.visitQueryCS(object);
+ }
+
+ public R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object) {
+ return delegate.visitRelationCS(object);
+ }
+
+ public R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object) {
+ return delegate.visitTemplateCS(object);
+ }
+
+ public R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object) {
+ return delegate.visitTemplateVariableCS(object);
+ }
+
+ public R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object) {
+ return delegate.visitTopLevelCS(object);
+ }
+
+ public R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object) {
+ return delegate.visitTransformationCS(object);
+ }
+
+ public R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object) {
+ return delegate.visitUnitCS(object);
+ }
+
+ public R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object) {
+ return delegate.visitVarDeclarationCS(object);
+ }
+
+ public R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object) {
+ return delegate.visitWhenCS(object);
+ }
+
+ public R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object) {
+ return delegate.visitWhereCS(object);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingDelegatingQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingDelegatingQVTrelationCSVisitor.java
new file mode 100644
index 000000000..82b80ea8a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingDelegatingQVTrelationCSVisitor.java
@@ -0,0 +1,130 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractDelegatingEssentialOCLCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.util.EssentialOCLCSVisitor;
+
+/**
+ * An AbstractExtendingDelegatingQVTrelationCSVisitor delegates all visits.
+ */
+public abstract class AbstractExtendingDelegatingQVTrelationCSVisitor<R, C, D extends EssentialOCLCSVisitor<R, C>>
+ extends AbstractDelegatingEssentialOCLCSVisitor<R, C, D>
+ implements QVTrelationCSVisitor<R, C>
+{
+ protected AbstractExtendingDelegatingQVTrelationCSVisitor(D delegate, C context) {
+ super(delegate, context);
+ }
+
+ @Override
+ public R visiting(org.eclipse.ocl.examples.xtext.base.util.VisitableCS visitable) {
+ return delegate.visiting(visitable);
+ }
+
+ public R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object) {
+ return delegate.visitModelElementCS(object);
+ }
+
+ public R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object) {
+ return delegate.visitExpCS(object);
+ }
+
+ public R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object) {
+ return visitTemplateCS(object);
+ }
+
+ public R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object) {
+ return visitAbstractDomainCS(object);
+ }
+
+ public R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object) {
+ return delegate.visitNamedElementCS(object);
+ }
+
+ public R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object) {
+ return visitTemplateCS(object);
+ }
+
+ public R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object) {
+ return delegate.visitNamedElementCS(object);
+ }
+
+ public R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object) {
+ return visitTemplateVariableCS(object);
+ }
+
+ public R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object) {
+ return delegate.visitModelElementCS(object);
+ }
+
+ public R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object) {
+ return delegate.visitNamedElementCS(object);
+ }
+
+ public R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object) {
+ return visitTemplateVariableCS(object);
+ }
+
+ public R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object) {
+ return delegate.visitModelElementCS(object);
+ }
+
+ public R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object) {
+ return delegate.visitNamedElementCS(object);
+ }
+
+ public R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object) {
+ return delegate.visitElementCS(object);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingQVTrelationCSVisitor.java
new file mode 100644
index 000000000..dfb1f4e49
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingQVTrelationCSVisitor.java
@@ -0,0 +1,131 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ * An AbstractExtendingQVTrelationCSVisitor provides a default implementation for each
+ * visitXxx method that delegates to the visitYyy method of the first
+ * super class, (or transitively its first super class first super class
+ * until a non-interface super-class is found). In the absence of any
+ * suitable first super class, the method delegates to visiting().
+ */
+public abstract class AbstractExtendingQVTrelationCSVisitor<R, C>
+ extends org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractExtendingEssentialOCLCSVisitor<R, C>
+ implements QVTrelationCSVisitor<R, C>
+{
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractExtendingQVTrelationCSVisitor(C context) {
+ super(context);
+ }
+
+ public R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object) {
+ return visitModelElementCS(object);
+ }
+
+ public R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object) {
+ return visitExpCS(object);
+ }
+
+ public R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object) {
+ return visitTemplateCS(object);
+ }
+
+ public R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object) {
+ return visitAbstractDomainCS(object);
+ }
+
+ public R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object) {
+ return visitNamedElementCS(object);
+ }
+
+ public R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object) {
+ return visitTemplateCS(object);
+ }
+
+ public R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object) {
+ return visitNamedElementCS(object);
+ }
+
+ public R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object) {
+ return visitTemplateVariableCS(object);
+ }
+
+ public R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object) {
+ return visitModelElementCS(object);
+ }
+
+ public R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object) {
+ return visitNamedElementCS(object);
+ }
+
+ public R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object) {
+ return visitTemplateVariableCS(object);
+ }
+
+ public R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object) {
+ return visitModelElementCS(object);
+ }
+
+ public R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object) {
+ return visitNamedElementCS(object);
+ }
+
+ public R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object) {
+ return visitElementCS(object);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractNullQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractNullQVTrelationCSVisitor.java
new file mode 100644
index 000000000..653337868
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractNullQVTrelationCSVisitor.java
@@ -0,0 +1,127 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ * An AbstractNullQVTrelationCSVisitor provides a default implementation for each
+ * visitXxx method that returns null.
+ */
+public abstract class AbstractNullQVTrelationCSVisitor<R, C>
+ extends org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractNullEssentialOCLCSVisitor<R, C> implements QVTrelationCSVisitor<R, C>
+{
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractNullQVTrelationCSVisitor(C context) {
+ super(context);
+ }
+
+ public R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object) {
+ return null;
+ }
+
+ public R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object) {
+ return null;
+ }
+
+ public R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object) {
+ return null;
+ }
+
+ public R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object) {
+ return null;
+ }
+
+ public R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object) {
+ return null;
+ }
+
+ public R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object) {
+ return null;
+ }
+
+ public R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object) {
+ return null;
+ }
+
+ public R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object) {
+ return null;
+ }
+
+ public R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object) {
+ return null;
+ }
+
+ public R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object) {
+ return null;
+ }
+
+ public R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object) {
+ return null;
+ }
+
+ public R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object) {
+ return null;
+ }
+
+ public R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object) {
+ return null;
+ }
+
+ public R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object) {
+ return null;
+ }
+
+ public R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object) {
+ return null;
+ }
+
+ public R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object) {
+ return null;
+ }
+
+ public R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object) {
+ return null;
+ }
+
+ public R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object) {
+ return null;
+ }
+
+ public R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object) {
+ return null;
+ }
+
+ public R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object) {
+ return null;
+ }
+
+ public R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object) {
+ return null;
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractQVTrelationCSVisitor.java
new file mode 100644
index 000000000..9ac8decf5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractQVTrelationCSVisitor.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ */
+public abstract class AbstractQVTrelationCSVisitor<R, C>
+ extends org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractEssentialOCLCSVisitor<R, C>
+ implements QVTrelationCSVisitor<R, C>
+{
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractQVTrelationCSVisitor(C context) {
+ super(context);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/DecorableQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/DecorableQVTrelationCSVisitor.java
new file mode 100644
index 000000000..479df1ac8
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/DecorableQVTrelationCSVisitor.java
@@ -0,0 +1,34 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ */
+public interface DecorableQVTrelationCSVisitor<R, C> extends QVTrelationCSVisitor<R, C>, org.eclipse.ocl.examples.xtext.essentialocl.util.DecorableEssentialOCLCSVisitor<R, C>
+{
+// DecorableQVTrelationCSVisitor<R, C> createNestedVisitor();
+ void setUndecoratedVisitor(org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor<R, C> visitor);
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTAdapterFactory.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTAdapterFactory.java
new file mode 100644
index 000000000..ff07c1612
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTAdapterFactory.java
@@ -0,0 +1,650 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+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;
+
+import org.eclipse.ocl.examples.pivot.util.Nameable;
+import org.eclipse.ocl.examples.pivot.util.Pivotable;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PivotableElementCS;
+
+import org.eclipse.ocl.examples.xtext.base.util.VisitableCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+import org.eclipse.qvtd.xtext.qvtrelationcst.*;
+
+/**
+ * <!-- 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.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage
+ * @generated
+ */
+public class QVTrelationCSTAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static QVTrelationCSTPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = QVTrelationCSTPackage.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 QVTrelationCSTSwitch<Adapter> modelSwitch =
+ new QVTrelationCSTSwitch<Adapter>() {
+ @Override
+ public Adapter caseAbstractDomainCS(AbstractDomainCS object) {
+ return createAbstractDomainCSAdapter();
+ }
+ @Override
+ public Adapter caseAnyElementCS(AnyElementCS object) {
+ return createAnyElementCSAdapter();
+ }
+ @Override
+ public Adapter caseCollectionTemplateCS(CollectionTemplateCS object) {
+ return createCollectionTemplateCSAdapter();
+ }
+ @Override
+ public Adapter caseDefaultValueCS(DefaultValueCS object) {
+ return createDefaultValueCSAdapter();
+ }
+ @Override
+ public Adapter caseDomainCS(DomainCS object) {
+ return createDomainCSAdapter();
+ }
+ @Override
+ public Adapter caseKeyDeclCS(KeyDeclCS object) {
+ return createKeyDeclCSAdapter();
+ }
+ @Override
+ public Adapter caseModelDeclCS(ModelDeclCS object) {
+ return createModelDeclCSAdapter();
+ }
+ @Override
+ public Adapter caseObjectTemplateCS(ObjectTemplateCS object) {
+ return createObjectTemplateCSAdapter();
+ }
+ @Override
+ public Adapter caseParamDeclarationCS(ParamDeclarationCS object) {
+ return createParamDeclarationCSAdapter();
+ }
+ @Override
+ public Adapter casePrimitiveTypeDomainCS(PrimitiveTypeDomainCS object) {
+ return createPrimitiveTypeDomainCSAdapter();
+ }
+ @Override
+ public Adapter casePropertyTemplateCS(PropertyTemplateCS object) {
+ return createPropertyTemplateCSAdapter();
+ }
+ @Override
+ public Adapter caseQueryCS(QueryCS object) {
+ return createQueryCSAdapter();
+ }
+ @Override
+ public Adapter caseRelationCS(RelationCS object) {
+ return createRelationCSAdapter();
+ }
+ @Override
+ public Adapter caseTemplateCS(TemplateCS object) {
+ return createTemplateCSAdapter();
+ }
+ @Override
+ public Adapter caseTemplateVariableCS(TemplateVariableCS object) {
+ return createTemplateVariableCSAdapter();
+ }
+ @Override
+ public Adapter caseTopLevelCS(TopLevelCS object) {
+ return createTopLevelCSAdapter();
+ }
+ @Override
+ public Adapter caseTransformationCS(TransformationCS object) {
+ return createTransformationCSAdapter();
+ }
+ @Override
+ public Adapter caseUnitCS(UnitCS object) {
+ return createUnitCSAdapter();
+ }
+ @Override
+ public Adapter caseVarDeclarationCS(VarDeclarationCS object) {
+ return createVarDeclarationCSAdapter();
+ }
+ @Override
+ public Adapter caseWhenCS(WhenCS object) {
+ return createWhenCSAdapter();
+ }
+ @Override
+ public Adapter caseWhereCS(WhereCS object) {
+ return createWhereCSAdapter();
+ }
+ @Override
+ public Adapter caseVisitableCS(VisitableCS object) {
+ return createVisitableCSAdapter();
+ }
+ @Override
+ public Adapter caseElementCS(ElementCS object) {
+ return createElementCSAdapter();
+ }
+ @Override
+ public Adapter casePivotable(Pivotable object) {
+ return createPivotableAdapter();
+ }
+ @Override
+ public Adapter casePivotableElementCS(PivotableElementCS object) {
+ return createPivotableElementCSAdapter();
+ }
+ @Override
+ public Adapter caseModelElementCS(ModelElementCS object) {
+ return createModelElementCSAdapter();
+ }
+ @Override
+ public Adapter caseNameable(Nameable object) {
+ return createNameableAdapter();
+ }
+ @Override
+ public Adapter caseExpCS(ExpCS object) {
+ return createExpCSAdapter();
+ }
+ @Override
+ public Adapter caseNamedElementCS(NamedElementCS object) {
+ return createNamedElementCSAdapter();
+ }
+ @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.qvtd.xtext.qvtrelationcst.AbstractDomainCS <em>Abstract Domain CS</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.qvtd.xtext.qvtrelationcst.AbstractDomainCS
+ * @generated
+ */
+ public Adapter createAbstractDomainCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS <em>Any Element CS</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.qvtd.xtext.qvtrelationcst.AnyElementCS
+ * @generated
+ */
+ public Adapter createAnyElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS <em>Collection Template CS</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.qvtd.xtext.qvtrelationcst.CollectionTemplateCS
+ * @generated
+ */
+ public Adapter createCollectionTemplateCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS <em>Default Value CS</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.qvtd.xtext.qvtrelationcst.DefaultValueCS
+ * @generated
+ */
+ public Adapter createDefaultValueCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS <em>Domain CS</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.qvtd.xtext.qvtrelationcst.DomainCS
+ * @generated
+ */
+ public Adapter createDomainCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS <em>Key Decl CS</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.qvtd.xtext.qvtrelationcst.KeyDeclCS
+ * @generated
+ */
+ public Adapter createKeyDeclCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS <em>Model Decl CS</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.qvtd.xtext.qvtrelationcst.ModelDeclCS
+ * @generated
+ */
+ public Adapter createModelDeclCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS <em>Object Template CS</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.qvtd.xtext.qvtrelationcst.ObjectTemplateCS
+ * @generated
+ */
+ public Adapter createObjectTemplateCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS <em>Param Declaration CS</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.qvtd.xtext.qvtrelationcst.ParamDeclarationCS
+ * @generated
+ */
+ public Adapter createParamDeclarationCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS <em>Primitive Type Domain CS</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.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS
+ * @generated
+ */
+ public Adapter createPrimitiveTypeDomainCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS <em>Property Template CS</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.qvtd.xtext.qvtrelationcst.PropertyTemplateCS
+ * @generated
+ */
+ public Adapter createPropertyTemplateCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS <em>Query CS</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.qvtd.xtext.qvtrelationcst.QueryCS
+ * @generated
+ */
+ public Adapter createQueryCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS <em>Relation CS</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.qvtd.xtext.qvtrelationcst.RelationCS
+ * @generated
+ */
+ public Adapter createRelationCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS <em>Template CS</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.qvtd.xtext.qvtrelationcst.TemplateCS
+ * @generated
+ */
+ public Adapter createTemplateCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS <em>Template Variable CS</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.qvtd.xtext.qvtrelationcst.TemplateVariableCS
+ * @generated
+ */
+ public Adapter createTemplateVariableCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS <em>Top Level CS</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.qvtd.xtext.qvtrelationcst.TopLevelCS
+ * @generated
+ */
+ public Adapter createTopLevelCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS <em>Transformation CS</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.qvtd.xtext.qvtrelationcst.TransformationCS
+ * @generated
+ */
+ public Adapter createTransformationCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS <em>Unit CS</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.qvtd.xtext.qvtrelationcst.UnitCS
+ * @generated
+ */
+ public Adapter createUnitCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS <em>Var Declaration CS</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.qvtd.xtext.qvtrelationcst.VarDeclarationCS
+ * @generated
+ */
+ public Adapter createVarDeclarationCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS <em>When CS</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.qvtd.xtext.qvtrelationcst.WhenCS
+ * @generated
+ */
+ public Adapter createWhenCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS <em>Where CS</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.qvtd.xtext.qvtrelationcst.WhereCS
+ * @generated
+ */
+ public Adapter createWhereCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.util.VisitableCS <em>Visitable CS</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.ocl.examples.xtext.base.util.VisitableCS
+ * @generated
+ */
+ public Adapter createVisitableCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS <em>Element CS</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.ocl.examples.xtext.base.baseCST.ElementCS
+ * @generated
+ */
+ public Adapter createElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.pivot.util.Pivotable <em>Pivotable</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.ocl.examples.pivot.util.Pivotable
+ * @generated
+ */
+ public Adapter createPivotableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.baseCST.PivotableElementCS <em>Pivotable Element CS</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.ocl.examples.xtext.base.baseCST.PivotableElementCS
+ * @generated
+ */
+ public Adapter createPivotableElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS <em>Model Element CS</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.ocl.examples.xtext.base.baseCST.ModelElementCS
+ * @generated
+ */
+ public Adapter createModelElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.pivot.util.Nameable <em>Nameable</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.ocl.examples.pivot.util.Nameable
+ * @generated
+ */
+ public Adapter createNameableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS <em>Exp CS</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.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS
+ * @generated
+ */
+ public Adapter createExpCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS <em>Named Element CS</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.ocl.examples.xtext.base.baseCST.NamedElementCS
+ * @generated
+ */
+ public Adapter createNamedElementCSAdapter() {
+ 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;
+ }
+
+} //QVTrelationCSTAdapterFactory
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceFactoryImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceFactoryImpl.java
new file mode 100644
index 000000000..24300d3d9
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceFactoryImpl.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSTResourceImpl
+ * @generated
+ */
+public class QVTrelationCSTResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ Resource result = new QVTrelationCSTResourceImpl(uri);
+ return result;
+ }
+
+} //QVTrelationCSTResourceFactoryImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceImpl.java
new file mode 100644
index 000000000..d73fe2b60
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSTResourceFactoryImpl
+ * @generated
+ */
+public class QVTrelationCSTResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public QVTrelationCSTResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //QVTrelationCSTResourceImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTSwitch.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTSwitch.java
new file mode 100644
index 000000000..738e48fa6
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTSwitch.java
@@ -0,0 +1,781 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.ocl.examples.pivot.util.Nameable;
+import org.eclipse.ocl.examples.pivot.util.Pivotable;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PivotableElementCS;
+
+import org.eclipse.ocl.examples.xtext.base.util.VisitableCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+import org.eclipse.qvtd.xtext.qvtrelationcst.*;
+
+/**
+ * <!-- 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.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage
+ * @generated
+ */
+public class QVTrelationCSTSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static QVTrelationCSTPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTSwitch() {
+ if (modelPackage == null) {
+ modelPackage = QVTrelationCSTPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * 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
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case QVTrelationCSTPackage.ABSTRACT_DOMAIN_CS: {
+ AbstractDomainCS abstractDomainCS = (AbstractDomainCS)theEObject;
+ T result = caseAbstractDomainCS(abstractDomainCS);
+ if (result == null) result = caseModelElementCS(abstractDomainCS);
+ if (result == null) result = caseNameable(abstractDomainCS);
+ if (result == null) result = casePivotableElementCS(abstractDomainCS);
+ if (result == null) result = caseElementCS(abstractDomainCS);
+ if (result == null) result = casePivotable(abstractDomainCS);
+ if (result == null) result = caseVisitableCS(abstractDomainCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.ANY_ELEMENT_CS: {
+ AnyElementCS anyElementCS = (AnyElementCS)theEObject;
+ T result = caseAnyElementCS(anyElementCS);
+ if (result == null) result = caseExpCS(anyElementCS);
+ if (result == null) result = caseModelElementCS(anyElementCS);
+ if (result == null) result = casePivotableElementCS(anyElementCS);
+ if (result == null) result = caseElementCS(anyElementCS);
+ if (result == null) result = casePivotable(anyElementCS);
+ if (result == null) result = caseVisitableCS(anyElementCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS: {
+ CollectionTemplateCS collectionTemplateCS = (CollectionTemplateCS)theEObject;
+ T result = caseCollectionTemplateCS(collectionTemplateCS);
+ if (result == null) result = caseTemplateCS(collectionTemplateCS);
+ if (result == null) result = caseTemplateVariableCS(collectionTemplateCS);
+ if (result == null) result = caseExpCS(collectionTemplateCS);
+ if (result == null) result = caseModelElementCS(collectionTemplateCS);
+ if (result == null) result = casePivotableElementCS(collectionTemplateCS);
+ if (result == null) result = caseElementCS(collectionTemplateCS);
+ if (result == null) result = casePivotable(collectionTemplateCS);
+ if (result == null) result = caseVisitableCS(collectionTemplateCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS: {
+ DefaultValueCS defaultValueCS = (DefaultValueCS)theEObject;
+ T result = caseDefaultValueCS(defaultValueCS);
+ if (result == null) result = caseElementCS(defaultValueCS);
+ if (result == null) result = caseVisitableCS(defaultValueCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.DOMAIN_CS: {
+ DomainCS domainCS = (DomainCS)theEObject;
+ T result = caseDomainCS(domainCS);
+ if (result == null) result = caseAbstractDomainCS(domainCS);
+ if (result == null) result = caseModelElementCS(domainCS);
+ if (result == null) result = caseNameable(domainCS);
+ if (result == null) result = casePivotableElementCS(domainCS);
+ if (result == null) result = caseElementCS(domainCS);
+ if (result == null) result = casePivotable(domainCS);
+ if (result == null) result = caseVisitableCS(domainCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.KEY_DECL_CS: {
+ KeyDeclCS keyDeclCS = (KeyDeclCS)theEObject;
+ T result = caseKeyDeclCS(keyDeclCS);
+ if (result == null) result = caseElementCS(keyDeclCS);
+ if (result == null) result = caseVisitableCS(keyDeclCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.MODEL_DECL_CS: {
+ ModelDeclCS modelDeclCS = (ModelDeclCS)theEObject;
+ T result = caseModelDeclCS(modelDeclCS);
+ if (result == null) result = caseNamedElementCS(modelDeclCS);
+ if (result == null) result = caseModelElementCS(modelDeclCS);
+ if (result == null) result = caseNameable(modelDeclCS);
+ if (result == null) result = casePivotableElementCS(modelDeclCS);
+ if (result == null) result = caseElementCS(modelDeclCS);
+ if (result == null) result = casePivotable(modelDeclCS);
+ if (result == null) result = caseVisitableCS(modelDeclCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS: {
+ ObjectTemplateCS objectTemplateCS = (ObjectTemplateCS)theEObject;
+ T result = caseObjectTemplateCS(objectTemplateCS);
+ if (result == null) result = caseTemplateCS(objectTemplateCS);
+ if (result == null) result = caseTemplateVariableCS(objectTemplateCS);
+ if (result == null) result = caseExpCS(objectTemplateCS);
+ if (result == null) result = caseModelElementCS(objectTemplateCS);
+ if (result == null) result = casePivotableElementCS(objectTemplateCS);
+ if (result == null) result = caseElementCS(objectTemplateCS);
+ if (result == null) result = casePivotable(objectTemplateCS);
+ if (result == null) result = caseVisitableCS(objectTemplateCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS: {
+ ParamDeclarationCS paramDeclarationCS = (ParamDeclarationCS)theEObject;
+ T result = caseParamDeclarationCS(paramDeclarationCS);
+ if (result == null) result = caseNamedElementCS(paramDeclarationCS);
+ if (result == null) result = caseModelElementCS(paramDeclarationCS);
+ if (result == null) result = caseNameable(paramDeclarationCS);
+ if (result == null) result = casePivotableElementCS(paramDeclarationCS);
+ if (result == null) result = caseElementCS(paramDeclarationCS);
+ if (result == null) result = casePivotable(paramDeclarationCS);
+ if (result == null) result = caseVisitableCS(paramDeclarationCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS: {
+ PrimitiveTypeDomainCS primitiveTypeDomainCS = (PrimitiveTypeDomainCS)theEObject;
+ T result = casePrimitiveTypeDomainCS(primitiveTypeDomainCS);
+ if (result == null) result = caseTemplateVariableCS(primitiveTypeDomainCS);
+ if (result == null) result = caseAbstractDomainCS(primitiveTypeDomainCS);
+ if (result == null) result = caseModelElementCS(primitiveTypeDomainCS);
+ if (result == null) result = caseNameable(primitiveTypeDomainCS);
+ if (result == null) result = casePivotableElementCS(primitiveTypeDomainCS);
+ if (result == null) result = caseElementCS(primitiveTypeDomainCS);
+ if (result == null) result = casePivotable(primitiveTypeDomainCS);
+ if (result == null) result = caseVisitableCS(primitiveTypeDomainCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS: {
+ PropertyTemplateCS propertyTemplateCS = (PropertyTemplateCS)theEObject;
+ T result = casePropertyTemplateCS(propertyTemplateCS);
+ if (result == null) result = caseElementCS(propertyTemplateCS);
+ if (result == null) result = caseVisitableCS(propertyTemplateCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.QUERY_CS: {
+ QueryCS queryCS = (QueryCS)theEObject;
+ T result = caseQueryCS(queryCS);
+ if (result == null) result = caseModelElementCS(queryCS);
+ if (result == null) result = caseNameable(queryCS);
+ if (result == null) result = casePivotableElementCS(queryCS);
+ if (result == null) result = caseElementCS(queryCS);
+ if (result == null) result = casePivotable(queryCS);
+ if (result == null) result = caseVisitableCS(queryCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.RELATION_CS: {
+ RelationCS relationCS = (RelationCS)theEObject;
+ T result = caseRelationCS(relationCS);
+ if (result == null) result = caseNamedElementCS(relationCS);
+ if (result == null) result = caseModelElementCS(relationCS);
+ if (result == null) result = caseNameable(relationCS);
+ if (result == null) result = casePivotableElementCS(relationCS);
+ if (result == null) result = caseElementCS(relationCS);
+ if (result == null) result = casePivotable(relationCS);
+ if (result == null) result = caseVisitableCS(relationCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.TEMPLATE_CS: {
+ TemplateCS templateCS = (TemplateCS)theEObject;
+ T result = caseTemplateCS(templateCS);
+ if (result == null) result = caseTemplateVariableCS(templateCS);
+ if (result == null) result = caseExpCS(templateCS);
+ if (result == null) result = caseModelElementCS(templateCS);
+ if (result == null) result = casePivotableElementCS(templateCS);
+ if (result == null) result = caseElementCS(templateCS);
+ if (result == null) result = casePivotable(templateCS);
+ if (result == null) result = caseVisitableCS(templateCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS: {
+ TemplateVariableCS templateVariableCS = (TemplateVariableCS)theEObject;
+ T result = caseTemplateVariableCS(templateVariableCS);
+ if (result == null) result = caseModelElementCS(templateVariableCS);
+ if (result == null) result = casePivotableElementCS(templateVariableCS);
+ if (result == null) result = caseElementCS(templateVariableCS);
+ if (result == null) result = casePivotable(templateVariableCS);
+ if (result == null) result = caseVisitableCS(templateVariableCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.TOP_LEVEL_CS: {
+ TopLevelCS topLevelCS = (TopLevelCS)theEObject;
+ T result = caseTopLevelCS(topLevelCS);
+ if (result == null) result = caseElementCS(topLevelCS);
+ if (result == null) result = caseVisitableCS(topLevelCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.TRANSFORMATION_CS: {
+ TransformationCS transformationCS = (TransformationCS)theEObject;
+ T result = caseTransformationCS(transformationCS);
+ if (result == null) result = caseNamedElementCS(transformationCS);
+ if (result == null) result = caseModelElementCS(transformationCS);
+ if (result == null) result = caseNameable(transformationCS);
+ if (result == null) result = casePivotableElementCS(transformationCS);
+ if (result == null) result = caseElementCS(transformationCS);
+ if (result == null) result = casePivotable(transformationCS);
+ if (result == null) result = caseVisitableCS(transformationCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.UNIT_CS: {
+ UnitCS unitCS = (UnitCS)theEObject;
+ T result = caseUnitCS(unitCS);
+ if (result == null) result = caseElementCS(unitCS);
+ if (result == null) result = caseVisitableCS(unitCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS: {
+ VarDeclarationCS varDeclarationCS = (VarDeclarationCS)theEObject;
+ T result = caseVarDeclarationCS(varDeclarationCS);
+ if (result == null) result = caseElementCS(varDeclarationCS);
+ if (result == null) result = caseVisitableCS(varDeclarationCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.WHEN_CS: {
+ WhenCS whenCS = (WhenCS)theEObject;
+ T result = caseWhenCS(whenCS);
+ if (result == null) result = caseElementCS(whenCS);
+ if (result == null) result = caseVisitableCS(whenCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.WHERE_CS: {
+ WhereCS whereCS = (WhereCS)theEObject;
+ T result = caseWhereCS(whereCS);
+ if (result == null) result = caseElementCS(whereCS);
+ if (result == null) result = caseVisitableCS(whereCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Domain CS</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>Abstract Domain CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractDomainCS(AbstractDomainCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Any Element CS</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>Any Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnyElementCS(AnyElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Collection Template CS</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>Collection Template CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCollectionTemplateCS(CollectionTemplateCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Default Value CS</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>Default Value CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDefaultValueCS(DefaultValueCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Domain CS</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>Domain CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDomainCS(DomainCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Key Decl CS</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>Key Decl CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseKeyDeclCS(KeyDeclCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Decl CS</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>Model Decl CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelDeclCS(ModelDeclCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Object Template CS</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>Object Template CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseObjectTemplateCS(ObjectTemplateCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Param Declaration CS</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>Param Declaration CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParamDeclarationCS(ParamDeclarationCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Primitive Type Domain CS</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>Primitive Type Domain CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePrimitiveTypeDomainCS(PrimitiveTypeDomainCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Property Template CS</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>Property Template CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePropertyTemplateCS(PropertyTemplateCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query CS</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>Query CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryCS(QueryCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relation CS</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>Relation CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelationCS(RelationCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Template CS</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>Template CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTemplateCS(TemplateCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Template Variable CS</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>Template Variable CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTemplateVariableCS(TemplateVariableCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Top Level CS</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>Top Level CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTopLevelCS(TopLevelCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Transformation CS</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>Transformation CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTransformationCS(TransformationCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unit CS</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>Unit CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUnitCS(UnitCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Var Declaration CS</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>Var Declaration CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVarDeclarationCS(VarDeclarationCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>When CS</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>When CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWhenCS(WhenCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Where CS</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>Where CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWhereCS(WhereCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Visitable CS</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>Visitable CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVisitableCS(VisitableCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element CS</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>Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementCS(ElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Pivotable</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>Pivotable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePivotable(Pivotable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Pivotable Element CS</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>Pivotable Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePivotableElementCS(PivotableElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Element CS</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>Model Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelElementCS(ModelElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Nameable</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>Nameable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNameable(Nameable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Exp CS</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>Exp CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExpCS(ExpCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Element CS</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>Named Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedElementCS(NamedElementCS 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
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //QVTrelationCSTSwitch
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTXMLProcessor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTXMLProcessor.java
new file mode 100644
index 000000000..58ceb1019
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTXMLProcessor.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QVTrelationCSTXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ QVTrelationCSTPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the QVTrelationCSTResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new QVTrelationCSTResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new QVTrelationCSTResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //QVTrelationCSTXMLProcessor
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSVisitor.java
new file mode 100644
index 000000000..f711ec718
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSVisitor.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ */
+public interface QVTrelationCSVisitor<R, C> extends org.eclipse.ocl.examples.xtext.essentialocl.util.EssentialOCLCSVisitor<R, C>
+{
+ R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object);
+ R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object);
+ R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object);
+ R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object);
+ R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object);
+ R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object);
+ R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object);
+ R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object);
+ R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object);
+ R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object);
+ R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object);
+ R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object);
+ R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object);
+ R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object);
+ R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object);
+ R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object);
+ R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object);
+ R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object);
+ R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object);
+ R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object);
+ R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object);
+}

Back to the top