Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2017-07-18 16:08:22 +0000
committerEd Willink2017-08-04 14:18:04 +0000
commit7a342222fa723e4a8d6ef7fbcae693e8bf836e90 (patch)
treedaac805cd3da0dc261c41b3b8c3063d16483fb7f
parent53e7c9e76fb365eba050a33f048838a9abd36618 (diff)
downloadorg.eclipse.qvtd-7a342222fa723e4a8d6ef7fbcae693e8bf836e90.tar.gz
org.eclipse.qvtd-7a342222fa723e4a8d6ef7fbcae693e8bf836e90.tar.xz
org.eclipse.qvtd-7a342222fa723e4a8d6ef7fbcae693e8bf836e90.zip
[unrelated] Add two missing QVTr container relationships
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/DomainPattern.java30
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationPackage.java66
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationTables.java12
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomain.java9
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomainAssignment.java30
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/DomainPatternImpl.java88
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/QVTrelationPackageImpl.java40
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainAssignmentImpl.java88
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainImpl.java23
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore14
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.genmodel2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelationStructural.ecore14
12 files changed, 379 insertions, 37 deletions
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/DomainPattern.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/DomainPattern.java
index d23090e96..ab7212f56 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/DomainPattern.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/DomainPattern.java
@@ -22,6 +22,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
* The following features are supported:
* </p>
* <ul>
+ * <li>{@link org.eclipse.qvtd.pivot.qvtrelation.DomainPattern#getRelationDomain <em>Relation Domain</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.qvtrelation.DomainPattern#getTemplateExpression <em>Template Expression</em>}</li>
* </ul>
*
@@ -31,6 +32,35 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
*/
public interface DomainPattern extends Pattern {
/**
+ * Returns the value of the '<em><b>Relation Domain</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomain#getPattern <em>Pattern</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Relation Domain</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Relation Domain</em>' container reference.
+ * @see #setRelationDomain(RelationDomain)
+ * @see org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage#getDomainPattern_RelationDomain()
+ * @see org.eclipse.qvtd.pivot.qvtrelation.RelationDomain#getPattern
+ * @model opposite="pattern" required="true" transient="false"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvt/2015/QVTrelation!DomainPattern!relationDomain'"
+ * @generated
+ */
+ RelationDomain getRelationDomain();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.pivot.qvtrelation.DomainPattern#getRelationDomain <em>Relation Domain</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Relation Domain</em>' container reference.
+ * @see #getRelationDomain()
+ * @generated
+ */
+ void setRelationDomain(RelationDomain value);
+
+ /**
* Returns the value of the '<em><b>Template Expression</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationPackage.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationPackage.java
index 1f0bb7b37..ad2078e15 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationPackage.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationPackage.java
@@ -140,13 +140,22 @@ public interface QVTrelationPackage extends EPackage {
int DOMAIN_PATTERN__BINDS_TO = QVTbasePackage.PATTERN__BINDS_TO;
/**
+ * The feature id for the '<em><b>Relation Domain</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_PATTERN__RELATION_DOMAIN = QVTbasePackage.PATTERN_FEATURE_COUNT + 0;
+
+ /**
* The feature id for the '<em><b>Template Expression</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int DOMAIN_PATTERN__TEMPLATE_EXPRESSION = QVTbasePackage.PATTERN_FEATURE_COUNT + 0;
+ int DOMAIN_PATTERN__TEMPLATE_EXPRESSION = QVTbasePackage.PATTERN_FEATURE_COUNT + 1;
/**
* The number of structural features of the '<em>Domain Pattern</em>' class.
@@ -155,7 +164,7 @@ public interface QVTrelationPackage extends EPackage {
* @generated
* @ordered
*/
- int DOMAIN_PATTERN_FEATURE_COUNT = QVTbasePackage.PATTERN_FEATURE_COUNT + 1;
+ int DOMAIN_PATTERN_FEATURE_COUNT = QVTbasePackage.PATTERN_FEATURE_COUNT + 2;
/**
* The operation id for the '<em>All Owned Elements</em>' operation.
@@ -1027,13 +1036,22 @@ public interface QVTrelationPackage extends EPackage {
int RELATION_DOMAIN_ASSIGNMENT__OWNED_EXTENSIONS = PivotPackage.ELEMENT__OWNED_EXTENSIONS;
/**
+ * The feature id for the '<em><b>Owner</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_DOMAIN_ASSIGNMENT__OWNER = PivotPackage.ELEMENT_FEATURE_COUNT + 0;
+
+ /**
* The feature id for the '<em><b>Value Exp</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP = PivotPackage.ELEMENT_FEATURE_COUNT + 0;
+ int RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP = PivotPackage.ELEMENT_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Variable</b></em>' reference.
@@ -1042,7 +1060,7 @@ public interface QVTrelationPackage extends EPackage {
* @generated
* @ordered
*/
- int RELATION_DOMAIN_ASSIGNMENT__VARIABLE = PivotPackage.ELEMENT_FEATURE_COUNT + 1;
+ int RELATION_DOMAIN_ASSIGNMENT__VARIABLE = PivotPackage.ELEMENT_FEATURE_COUNT + 2;
/**
* The number of structural features of the '<em>Relation Domain Assignment</em>' class.
@@ -1051,7 +1069,7 @@ public interface QVTrelationPackage extends EPackage {
* @generated
* @ordered
*/
- int RELATION_DOMAIN_ASSIGNMENT_FEATURE_COUNT = PivotPackage.ELEMENT_FEATURE_COUNT + 2;
+ int RELATION_DOMAIN_ASSIGNMENT_FEATURE_COUNT = PivotPackage.ELEMENT_FEATURE_COUNT + 3;
/**
* The operation id for the '<em>All Owned Elements</em>' operation.
@@ -2132,6 +2150,17 @@ public interface QVTrelationPackage extends EPackage {
EClass getDomainPattern();
/**
+ * Returns the meta object for the container reference '{@link org.eclipse.qvtd.pivot.qvtrelation.DomainPattern#getRelationDomain <em>Relation Domain</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Relation Domain</em>'.
+ * @see org.eclipse.qvtd.pivot.qvtrelation.DomainPattern#getRelationDomain()
+ * @see #getDomainPattern()
+ * @generated
+ */
+ EReference getDomainPattern_RelationDomain();
+
+ /**
* Returns the meta object for the containment reference '{@link org.eclipse.qvtd.pivot.qvtrelation.DomainPattern#getTemplateExpression <em>Template Expression</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2467,6 +2496,17 @@ public interface QVTrelationPackage extends EPackage {
EClass getRelationDomainAssignment();
/**
+ * Returns the meta object for the container reference '{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getOwner <em>Owner</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Owner</em>'.
+ * @see org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getOwner()
+ * @see #getRelationDomainAssignment()
+ * @generated
+ */
+ EReference getRelationDomainAssignment_Owner();
+
+ /**
* Returns the meta object for the containment reference '{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getValueExp <em>Value Exp</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2635,6 +2675,14 @@ public interface QVTrelationPackage extends EPackage {
EClass DOMAIN_PATTERN = eINSTANCE.getDomainPattern();
/**
+ * The meta object literal for the '<em><b>Relation Domain</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_PATTERN__RELATION_DOMAIN = eINSTANCE.getDomainPattern_RelationDomain();
+
+ /**
* The meta object literal for the '<em><b>Template Expression</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2901,6 +2949,14 @@ public interface QVTrelationPackage extends EPackage {
EClass RELATION_DOMAIN_ASSIGNMENT = eINSTANCE.getRelationDomainAssignment();
/**
+ * The meta object literal for the '<em><b>Owner</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_DOMAIN_ASSIGNMENT__OWNER = eINSTANCE.getRelationDomainAssignment_Owner();
+
+ /**
* The meta object literal for the '<em><b>Value Exp</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationTables.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationTables.java
index 5392a645a..21c3d5a74 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationTables.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/QVTrelationTables.java
@@ -371,8 +371,8 @@ public class QVTrelationTables
Operations.init();
}
- public static final @NonNull ExecutorProperty _DomainPattern__templateExpression = new EcoreExecutorProperty(QVTrelationPackage.Literals.DOMAIN_PATTERN__TEMPLATE_EXPRESSION, Types._DomainPattern, 0);
- public static final @NonNull ExecutorProperty _DomainPattern__RelationDomain__pattern = new ExecutorPropertyWithImplementation("RelationDomain", Types._DomainPattern, 1, new EcoreLibraryOppositeProperty(QVTrelationPackage.Literals.RELATION_DOMAIN__PATTERN));
+ public static final @NonNull ExecutorProperty _DomainPattern__relationDomain = new EcoreExecutorProperty(QVTrelationPackage.Literals.DOMAIN_PATTERN__RELATION_DOMAIN, Types._DomainPattern, 0);
+ public static final @NonNull ExecutorProperty _DomainPattern__templateExpression = new EcoreExecutorProperty(QVTrelationPackage.Literals.DOMAIN_PATTERN__TEMPLATE_EXPRESSION, Types._DomainPattern, 1);
public static final @NonNull ExecutorProperty _Key__identifies = new EcoreExecutorProperty(QVTrelationPackage.Literals.KEY__IDENTIFIES, Types._Key, 0);
public static final @NonNull ExecutorProperty _Key__oppositePart = new EcoreExecutorProperty(QVTrelationPackage.Literals.KEY__OPPOSITE_PART, Types._Key, 1);
@@ -393,9 +393,9 @@ public class QVTrelationTables
public static final @NonNull ExecutorProperty _RelationDomain__pattern = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_DOMAIN__PATTERN, Types._RelationDomain, 1);
public static final @NonNull ExecutorProperty _RelationDomain__rootVariable = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_DOMAIN__ROOT_VARIABLE, Types._RelationDomain, 2);
- public static final @NonNull ExecutorProperty _RelationDomainAssignment__valueExp = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP, Types._RelationDomainAssignment, 0);
- public static final @NonNull ExecutorProperty _RelationDomainAssignment__variable = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_DOMAIN_ASSIGNMENT__VARIABLE, Types._RelationDomainAssignment, 1);
- public static final @NonNull ExecutorProperty _RelationDomainAssignment__owner__defaultAssignment = new ExecutorPropertyWithImplementation("owner", Types._RelationDomainAssignment, 2, new EcoreLibraryOppositeProperty(QVTrelationPackage.Literals.RELATION_DOMAIN__DEFAULT_ASSIGNMENT));
+ public static final @NonNull ExecutorProperty _RelationDomainAssignment__owner = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_DOMAIN_ASSIGNMENT__OWNER, Types._RelationDomainAssignment, 0);
+ public static final @NonNull ExecutorProperty _RelationDomainAssignment__valueExp = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP, Types._RelationDomainAssignment, 1);
+ public static final @NonNull ExecutorProperty _RelationDomainAssignment__variable = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_DOMAIN_ASSIGNMENT__VARIABLE, Types._RelationDomainAssignment, 2);
public static final @NonNull ExecutorProperty _RelationImplementation__impl = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_IMPLEMENTATION__IMPL, Types._RelationImplementation, 0);
public static final @NonNull ExecutorProperty _RelationImplementation__inDirectionOf = new EcoreExecutorProperty(QVTrelationPackage.Literals.RELATION_IMPLEMENTATION__IN_DIRECTION_OF, Types._RelationImplementation, 1);
@@ -1144,6 +1144,7 @@ public class QVTrelationTables
}
private static final @NonNull ExecutorProperty @NonNull [] _DomainPattern = {
+ QVTrelationTables.Properties._DomainPattern__relationDomain,
QVTrelationTables.Properties._DomainPattern__templateExpression
};
@@ -1174,6 +1175,7 @@ public class QVTrelationTables
};
private static final @NonNull ExecutorProperty @NonNull [] _RelationDomainAssignment = {
+ QVTrelationTables.Properties._RelationDomainAssignment__owner,
QVTrelationTables.Properties._RelationDomainAssignment__valueExp,
QVTrelationTables.Properties._RelationDomainAssignment__variable
};
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomain.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomain.java
index 34f470408..4695bf1e6 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomain.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomain.java
@@ -39,6 +39,7 @@ public interface RelationDomain extends Domain {
/**
* Returns the value of the '<em><b>Default Assignment</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getOwner <em>Owner</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Default Assignment</em>' containment reference list isn't clear,
@@ -47,8 +48,8 @@ public interface RelationDomain extends Domain {
* <!-- end-user-doc -->
* @return the value of the '<em>Default Assignment</em>' containment reference list.
* @see org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage#getRelationDomain_DefaultAssignment()
- * @model containment="true" ordered="false"
- * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='owner'"
+ * @see org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getOwner
+ * @model opposite="owner" containment="true" ordered="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvt/2015/QVTrelation!RelationDomain!defaultAssignment'"
* @generated
*/
@@ -57,6 +58,7 @@ public interface RelationDomain extends Domain {
/**
* Returns the value of the '<em><b>Pattern</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.qvtd.pivot.qvtrelation.DomainPattern}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.qvtrelation.DomainPattern#getRelationDomain <em>Relation Domain</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Pattern</em>' containment reference isn't clear,
@@ -65,7 +67,8 @@ public interface RelationDomain extends Domain {
* <!-- end-user-doc -->
* @return the value of the '<em>Pattern</em>' containment reference list.
* @see org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage#getRelationDomain_Pattern()
- * @model containment="true"
+ * @see org.eclipse.qvtd.pivot.qvtrelation.DomainPattern#getRelationDomain
+ * @model opposite="relationDomain" containment="true"
* annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvt/2015/QVTrelation!RelationDomain!pattern'"
* @generated
*/
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomainAssignment.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomainAssignment.java
index a2d8b4108..be10f6656 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomainAssignment.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/RelationDomainAssignment.java
@@ -25,6 +25,7 @@ import org.eclipse.ocl.pivot.Variable;
* The following features are supported:
* </p>
* <ul>
+ * <li>{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getOwner <em>Owner</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getValueExp <em>Value Exp</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getVariable <em>Variable</em>}</li>
* </ul>
@@ -35,6 +36,35 @@ import org.eclipse.ocl.pivot.Variable;
*/
public interface RelationDomainAssignment extends Element {
/**
+ * Returns the value of the '<em><b>Owner</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomain#getDefaultAssignment <em>Default Assignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owner</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owner</em>' container reference.
+ * @see #setOwner(RelationDomain)
+ * @see org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage#getRelationDomainAssignment_Owner()
+ * @see org.eclipse.qvtd.pivot.qvtrelation.RelationDomain#getDefaultAssignment
+ * @model opposite="defaultAssignment" required="true" transient="false"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvt/2015/QVTrelation!RelationDomainAssignment!owner'"
+ * @generated
+ */
+ RelationDomain getOwner();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment#getOwner <em>Owner</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owner</em>' container reference.
+ * @see #getOwner()
+ * @generated
+ */
+ void setOwner(RelationDomain value);
+
+ /**
* Returns the value of the '<em><b>Value Exp</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/DomainPatternImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/DomainPatternImpl.java
index fa612b4a2..4975b50ec 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/DomainPatternImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/DomainPatternImpl.java
@@ -15,11 +15,13 @@ import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.ocl.pivot.util.Visitor;
import org.eclipse.qvtd.pivot.qvtbase.impl.PatternImpl;
import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern;
import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage;
+import org.eclipse.qvtd.pivot.qvtrelation.RelationDomain;
import org.eclipse.qvtd.pivot.qvtrelation.util.QVTrelationVisitor;
import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
@@ -31,6 +33,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.qvtd.pivot.qvtrelation.impl.DomainPatternImpl#getRelationDomain <em>Relation Domain</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.qvtrelation.impl.DomainPatternImpl#getTemplateExpression <em>Template Expression</em>}</li>
* </ul>
*
@@ -72,6 +75,49 @@ public class DomainPatternImpl extends PatternImpl implements DomainPattern {
* @generated
*/
@Override
+ public RelationDomain getRelationDomain() {
+ if (eContainerFeatureID() != QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN) return null;
+ return (RelationDomain)eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRelationDomain(RelationDomain newRelationDomain, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newRelationDomain, QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setRelationDomain(RelationDomain newRelationDomain) {
+ if (newRelationDomain != eInternalContainer() || (eContainerFeatureID() != QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN && newRelationDomain != null)) {
+ if (EcoreUtil.isAncestor(this, newRelationDomain))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newRelationDomain != null)
+ msgs = ((InternalEObject)newRelationDomain).eInverseAdd(this, QVTrelationPackage.RELATION_DOMAIN__PATTERN, RelationDomain.class, msgs);
+ msgs = basicSetRelationDomain(newRelationDomain, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN, newRelationDomain, newRelationDomain));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public TemplateExp getTemplateExpression() {
return templateExpression;
}
@@ -117,8 +163,26 @@ public class DomainPatternImpl extends PatternImpl implements DomainPattern {
* @generated
*/
@Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetRelationDomain((RelationDomain)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN:
+ return basicSetRelationDomain(null, msgs);
case QVTrelationPackage.DOMAIN_PATTERN__TEMPLATE_EXPRESSION:
return basicSetTemplateExpression(null, msgs);
}
@@ -131,8 +195,24 @@ public class DomainPatternImpl extends PatternImpl implements DomainPattern {
* @generated
*/
@Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN:
+ return eInternalContainer().eInverseRemove(this, QVTrelationPackage.RELATION_DOMAIN__PATTERN, RelationDomain.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN:
+ return getRelationDomain();
case QVTrelationPackage.DOMAIN_PATTERN__TEMPLATE_EXPRESSION:
return getTemplateExpression();
}
@@ -147,6 +227,9 @@ public class DomainPatternImpl extends PatternImpl implements DomainPattern {
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN:
+ setRelationDomain((RelationDomain)newValue);
+ return;
case QVTrelationPackage.DOMAIN_PATTERN__TEMPLATE_EXPRESSION:
setTemplateExpression((TemplateExp)newValue);
return;
@@ -162,6 +245,9 @@ public class DomainPatternImpl extends PatternImpl implements DomainPattern {
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN:
+ setRelationDomain((RelationDomain)null);
+ return;
case QVTrelationPackage.DOMAIN_PATTERN__TEMPLATE_EXPRESSION:
setTemplateExpression((TemplateExp)null);
return;
@@ -177,6 +263,8 @@ public class DomainPatternImpl extends PatternImpl implements DomainPattern {
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN:
+ return getRelationDomain() != null;
case QVTrelationPackage.DOMAIN_PATTERN__TEMPLATE_EXPRESSION:
return templateExpression != null;
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/QVTrelationPackageImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/QVTrelationPackageImpl.java
index d7be740e3..49f1cf270 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/QVTrelationPackageImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/QVTrelationPackageImpl.java
@@ -213,7 +213,7 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
* @generated
*/
@Override
- public EReference getDomainPattern_TemplateExpression() {
+ public EReference getDomainPattern_RelationDomain() {
return (EReference)domainPatternEClass.getEStructuralFeatures().get(0);
}
@@ -223,6 +223,16 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
* @generated
*/
@Override
+ public EReference getDomainPattern_TemplateExpression() {
+ return (EReference)domainPatternEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public EClass getKey() {
return keyEClass;
}
@@ -533,7 +543,7 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
* @generated
*/
@Override
- public EReference getRelationDomainAssignment_ValueExp() {
+ public EReference getRelationDomainAssignment_Owner() {
return (EReference)relationDomainAssignmentEClass.getEStructuralFeatures().get(0);
}
@@ -543,7 +553,7 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
* @generated
*/
@Override
- public EReference getRelationDomainAssignment_Variable() {
+ public EReference getRelationDomainAssignment_ValueExp() {
return (EReference)relationDomainAssignmentEClass.getEStructuralFeatures().get(1);
}
@@ -553,6 +563,16 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
* @generated
*/
@Override
+ public EReference getRelationDomainAssignment_Variable() {
+ return (EReference)relationDomainAssignmentEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public EOperation getRelationDomainAssignment__ValidateCompatibleTypeForValue__DiagnosticChain_Map() {
return relationDomainAssignmentEClass.getEOperations().get(0);
}
@@ -687,6 +707,7 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
// Create classes and their features
domainPatternEClass = createEClass(DOMAIN_PATTERN);
+ createEReference(domainPatternEClass, DOMAIN_PATTERN__RELATION_DOMAIN);
createEReference(domainPatternEClass, DOMAIN_PATTERN__TEMPLATE_EXPRESSION);
keyEClass = createEClass(KEY);
@@ -724,6 +745,7 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
createEOperation(relationDomainEClass, RELATION_DOMAIN___VALIDATE_RELATION_DOMAIN_ASSIGNMENTS_ARE_UNIQUE__DIAGNOSTICCHAIN_MAP);
relationDomainAssignmentEClass = createEClass(RELATION_DOMAIN_ASSIGNMENT);
+ createEReference(relationDomainAssignmentEClass, RELATION_DOMAIN_ASSIGNMENT__OWNER);
createEReference(relationDomainAssignmentEClass, RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP);
createEReference(relationDomainAssignmentEClass, RELATION_DOMAIN_ASSIGNMENT__VARIABLE);
createEOperation(relationDomainAssignmentEClass, RELATION_DOMAIN_ASSIGNMENT___VALIDATE_COMPATIBLE_TYPE_FOR_VALUE__DIAGNOSTICCHAIN_MAP);
@@ -791,6 +813,7 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
// Initialize classes, features, and operations; add parameters
initEClass(domainPatternEClass, DomainPattern.class, "DomainPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDomainPattern_RelationDomain(), this.getRelationDomain(), this.getRelationDomain_Pattern(), "relationDomain", null, 1, 1, DomainPattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDomainPattern_TemplateExpression(), theQVTtemplatePackage.getTemplateExp(), null, "templateExpression", null, 0, 1, DomainPattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(keyEClass, Key.class, "Key", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -910,8 +933,8 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(relationDomainEClass, RelationDomain.class, "RelationDomain", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getRelationDomain_DefaultAssignment(), this.getRelationDomainAssignment(), null, "defaultAssignment", null, 0, -1, RelationDomain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
- initEReference(getRelationDomain_Pattern(), this.getDomainPattern(), null, "pattern", null, 0, -1, RelationDomain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationDomain_DefaultAssignment(), this.getRelationDomainAssignment(), this.getRelationDomainAssignment_Owner(), "defaultAssignment", null, 0, -1, RelationDomain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRelationDomain_Pattern(), this.getDomainPattern(), this.getDomainPattern_RelationDomain(), "pattern", null, 0, -1, RelationDomain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelationDomain_RootVariable(), thePivotPackage.getVariable(), null, "rootVariable", null, 1, -1, RelationDomain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
op = initEOperation(getRelationDomain__ValidateRelationDomainAssignmentsAreUnique__DiagnosticChain_Map(), ecorePackage.getEBoolean(), "validateRelationDomainAssignmentsAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -924,6 +947,7 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(relationDomainAssignmentEClass, RelationDomainAssignment.class, "RelationDomainAssignment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRelationDomainAssignment_Owner(), this.getRelationDomain(), this.getRelationDomain_DefaultAssignment(), "owner", null, 1, 1, RelationDomainAssignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelationDomainAssignment_ValueExp(), thePivotPackage.getOCLExpression(), null, "valueExp", null, 1, 1, RelationDomainAssignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelationDomainAssignment_Variable(), thePivotPackage.getVariable(), null, "variable", null, 1, 1, RelationDomainAssignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1037,12 +1061,6 @@ public class QVTrelationPackageImpl extends EPackageImpl implements QVTrelationP
"body", "relationCallExp"
});
addAnnotation
- (getRelationDomain_DefaultAssignment(),
- source,
- new String[] {
- "body", "owner"
- });
- addAnnotation
(getRelationDomainAssignment_ValueExp(),
source,
new String[] {
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainAssignmentImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainAssignmentImpl.java
index e40511ae6..a5b5493f4 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainAssignmentImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainAssignmentImpl.java
@@ -19,6 +19,7 @@ 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.EcoreUtil;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.OCLExpression;
@@ -34,6 +35,7 @@ import org.eclipse.ocl.pivot.util.Visitor;
import org.eclipse.ocl.pivot.utilities.ValueUtil;
import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage;
import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables;
+import org.eclipse.qvtd.pivot.qvtrelation.RelationDomain;
import org.eclipse.qvtd.pivot.qvtrelation.RelationDomainAssignment;
import org.eclipse.qvtd.pivot.qvtrelation.util.QVTrelationVisitor;
@@ -45,6 +47,7 @@ import org.eclipse.qvtd.pivot.qvtrelation.util.QVTrelationVisitor;
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.qvtd.pivot.qvtrelation.impl.RelationDomainAssignmentImpl#getOwner <em>Owner</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.qvtrelation.impl.RelationDomainAssignmentImpl#getValueExp <em>Value Exp</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.qvtrelation.impl.RelationDomainAssignmentImpl#getVariable <em>Variable</em>}</li>
* </ul>
@@ -97,6 +100,49 @@ public class RelationDomainAssignmentImpl extends ElementImpl implements Relatio
* @generated
*/
@Override
+ public RelationDomain getOwner() {
+ if (eContainerFeatureID() != QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER) return null;
+ return (RelationDomain)eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwner(RelationDomain newOwner, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newOwner, QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setOwner(RelationDomain newOwner) {
+ if (newOwner != eInternalContainer() || (eContainerFeatureID() != QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER && newOwner != null)) {
+ if (EcoreUtil.isAncestor(this, newOwner))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newOwner != null)
+ msgs = ((InternalEObject)newOwner).eInverseAdd(this, QVTrelationPackage.RELATION_DOMAIN__DEFAULT_ASSIGNMENT, RelationDomain.class, msgs);
+ msgs = basicSetOwner(newOwner, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER, newOwner, newOwner));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public OCLExpression getValueExp() {
return valueExp;
}
@@ -232,8 +278,26 @@ public class RelationDomainAssignmentImpl extends ElementImpl implements Relatio
* @generated
*/
@Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwner((RelationDomain)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER:
+ return basicSetOwner(null, msgs);
case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP:
return basicSetValueExp(null, msgs);
}
@@ -246,8 +310,24 @@ public class RelationDomainAssignmentImpl extends ElementImpl implements Relatio
* @generated
*/
@Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER:
+ return eInternalContainer().eInverseRemove(this, QVTrelationPackage.RELATION_DOMAIN__DEFAULT_ASSIGNMENT, RelationDomain.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER:
+ return getOwner();
case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP:
return getValueExp();
case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__VARIABLE:
@@ -265,6 +345,9 @@ public class RelationDomainAssignmentImpl extends ElementImpl implements Relatio
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER:
+ setOwner((RelationDomain)newValue);
+ return;
case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP:
setValueExp((OCLExpression)newValue);
return;
@@ -283,6 +366,9 @@ public class RelationDomainAssignmentImpl extends ElementImpl implements Relatio
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER:
+ setOwner((RelationDomain)null);
+ return;
case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP:
setValueExp((OCLExpression)null);
return;
@@ -301,6 +387,8 @@ public class RelationDomainAssignmentImpl extends ElementImpl implements Relatio
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER:
+ return getOwner() != null;
case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__VALUE_EXP:
return valueExp != null;
case QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__VARIABLE:
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainImpl.java
index 987247cf2..f224fa165 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/RelationDomainImpl.java
@@ -20,7 +20,7 @@ import org.eclipse.emf.common.util.DiagnosticChain;
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.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jdt.annotation.NonNull;
@@ -115,7 +115,7 @@ public class RelationDomainImpl extends DomainImpl implements RelationDomain {
@Override
public @NonNull EList<RelationDomainAssignment> getDefaultAssignment() {
if (defaultAssignment == null) {
- defaultAssignment = new EObjectContainmentEList<RelationDomainAssignment>(RelationDomainAssignment.class, this, QVTrelationPackage.RELATION_DOMAIN__DEFAULT_ASSIGNMENT);
+ defaultAssignment = new EObjectContainmentWithInverseEList<RelationDomainAssignment>(RelationDomainAssignment.class, this, QVTrelationPackage.RELATION_DOMAIN__DEFAULT_ASSIGNMENT, QVTrelationPackage.RELATION_DOMAIN_ASSIGNMENT__OWNER);
}
return defaultAssignment;
}
@@ -129,7 +129,7 @@ public class RelationDomainImpl extends DomainImpl implements RelationDomain {
@Override
public @NonNull EList<DomainPattern> getPattern() {
if (pattern == null) {
- pattern = new EObjectContainmentEList<DomainPattern>(DomainPattern.class, this, QVTrelationPackage.RELATION_DOMAIN__PATTERN);
+ pattern = new EObjectContainmentWithInverseEList<DomainPattern>(DomainPattern.class, this, QVTrelationPackage.RELATION_DOMAIN__PATTERN, QVTrelationPackage.DOMAIN_PATTERN__RELATION_DOMAIN);
}
return pattern;
}
@@ -215,6 +215,23 @@ public class RelationDomainImpl extends DomainImpl implements RelationDomain {
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationPackage.RELATION_DOMAIN__DEFAULT_ASSIGNMENT:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getDefaultAssignment()).basicAdd(otherEnd, msgs);
+ case QVTrelationPackage.RELATION_DOMAIN__PATTERN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getPattern()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore b/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore
index 4d8d77fc4..0ba47eee6 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore
@@ -9,6 +9,9 @@
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtrelation-DomainPattern" name="DomainPattern"
eSuperTypes="../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore#T-qvtbase-Pattern">
+ <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtrelation-DomainPattern-relationDomain"
+ name="relationDomain" lowerBound="1" eType="#T-qvtrelation-RelationDomain"
+ eOpposite="#F-qvtrelation-RelationDomain-pattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtrelation-DomainPattern-templateExpression"
name="templateExpression" eType="ecore:EClass ../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore#T-qvttemplate-TemplateExp"
containment="true"/>
@@ -261,13 +264,10 @@
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtrelation-RelationDomain-defaultAssignment"
name="defaultAssignment" ordered="false" upperBound="-1" eType="#T-qvtrelation-RelationDomainAssignment"
- containment="true">
- <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
- <details key="body" value="owner"/>
- </eAnnotations>
- </eStructuralFeatures>
+ containment="true" eOpposite="#F-qvtrelation-RelationDomainAssignment-owner"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtrelation-RelationDomain-pattern"
- name="pattern" upperBound="-1" eType="#T-qvtrelation-DomainPattern" containment="true"/>
+ name="pattern" upperBound="-1" eType="#T-qvtrelation-DomainPattern" containment="true"
+ eOpposite="#F-qvtrelation-DomainPattern-relationDomain"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtrelation-RelationDomain-rootVariable"
name="rootVariable" lowerBound="1" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Variable"/>
</eClassifiers>
@@ -288,6 +288,8 @@
</eGenericType>
</eParameters>
</eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtrelation-RelationDomainAssignment-owner"
+ name="owner" lowerBound="1" eType="#T-qvtrelation-RelationDomain" eOpposite="#F-qvtrelation-RelationDomain-defaultAssignment"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtrelation-RelationDomainAssignment-valueExp"
name="valueExp" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression"
containment="true">
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.genmodel b/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.genmodel
index 62dcd5e46..1f16298d6 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.genmodel
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.genmodel
@@ -18,6 +18,7 @@
contentTypeIdentifier="org.eclipse.qvtd.qvtrelation" fileExtensions="qvtras"
ecorePackage="QVTrelation.ecore#P-qvtrelation">
<genClasses ecoreClass="QVTrelation.ecore#T-qvtrelation-DomainPattern">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference QVTrelation.ecore#F-qvtrelation-DomainPattern-relationDomain"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference QVTrelation.ecore#F-qvtrelation-DomainPattern-templateExpression"/>
</genClasses>
<genClasses ecoreClass="QVTrelation.ecore#T-qvtrelation-Key">
@@ -91,6 +92,7 @@
</genOperations>
</genClasses>
<genClasses ecoreClass="QVTrelation.ecore#T-qvtrelation-RelationDomainAssignment">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference QVTrelation.ecore#F-qvtrelation-RelationDomainAssignment-owner"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference QVTrelation.ecore#F-qvtrelation-RelationDomainAssignment-valueExp"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference QVTrelation.ecore#F-qvtrelation-RelationDomainAssignment-variable"/>
<genOperations ecoreOperation="QVTrelation.ecore#//RelationDomainAssignment/validateCompatibleTypeForValue">
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelationStructural.ecore b/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelationStructural.ecore
index 8f53e25e7..a9afc566f 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelationStructural.ecore
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelationStructural.ecore
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmi:id="P.qvtrelation" name="qvtrelation" nsURI="http://www.eclipse.org/qvt/2015/QVTrelation" nsPrefix="qvtr">
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmi:id="P.qvtrelation" name="qvtrelation" nsURI="http://www.eclipse.org/qvt/2015/QVTrelation"
+ nsPrefix="qvtr">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
@@ -8,6 +9,8 @@
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" xmi:id="T.qvtrelation.DomainPattern" name="DomainPattern"
eSuperTypes="../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore#T-qvtbase-Pattern">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="relationDomain" lowerBound="1"
+ eType="#T.qvtrelation.RelationDomain" eOpposite="#p.qvtrelation.RelationDomain.pattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="p.qvtrelation.DomainPattern.templateExpression"
name="templateExpression" eType="ecore:EClass ../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore#T-qvttemplate-TemplateExp"
containment="true"/>
@@ -80,18 +83,21 @@
eSuperTypes="../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore#T-qvtbase-Domain">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="p.qvtrelation.RelationDomain.defaultAssignment"
name="defaultAssignment" ordered="false" upperBound="-1" eType="#T.qvtrelation.RelationDomainAssignment"
- containment="true">
+ containment="true" eOpposite="#//RelationDomainAssignment/owner">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="owner"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="p.qvtrelation.RelationDomain.pattern"
- name="pattern" upperBound="-1" eType="#T.qvtrelation.DomainPattern" containment="true"/>
+ name="pattern" upperBound="-1" eType="#T.qvtrelation.DomainPattern" containment="true"
+ eOpposite="#//DomainPattern/relationDomain"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="p.qvtrelation.RelationDomain.rootVariable"
name="rootVariable" lowerBound="1" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Variable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="T.qvtrelation.RelationDomainAssignment"
name="RelationDomainAssignment" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#T.qvtrelation.RelationDomain"
+ eOpposite="#p.qvtrelation.RelationDomain.defaultAssignment"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="p.qvtrelation.RelationDomainAssignment.valueExp"
name="valueExp" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression"
containment="true">

Back to the top