Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2016-10-29 17:48:19 +0000
committerEd Willink2016-10-29 17:59:21 +0000
commit454a9a2c25dd624b72fc080619499533446800cf (patch)
tree5f5fbc8122d08066d620a547a0a0fa3ac15548bc /plugins
parentc8d6d6edcfde9da7637996777cc99571bb8bff9f (diff)
downloadorg.eclipse.qvtd-454a9a2c25dd624b72fc080619499533446800cf.tar.gz
org.eclipse.qvtd-454a9a2c25dd624b72fc080619499533446800cf.tar.xz
org.eclipse.qvtd-454a9a2c25dd624b72fc080619499533446800cf.zip
[506716] Regenerate without obsolete schedule model content
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/.classpath1
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/build.properties3
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractAction.java228
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractDatum.java135
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ClassDatum.java69
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/DataParameter.java118
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/InputAction.java27
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/MappingAction.java73
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/OutputAction.java27
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ParameterDerivation.java116
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/PropertyDatum.java18
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/Schedule.java30
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleElement.java37
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleFactory.java45
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SchedulePackage.java1377
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SecondaryParameter.java145
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractActionImpl.java604
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractDatumImpl.java293
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ClassDatumImpl.java178
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/DataParameterImpl.java383
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/InputActionImpl.java57
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/MappingActionImpl.java199
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/OutputActionImpl.java57
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ParameterDerivationImpl.java350
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/PropertyDatumImpl.java51
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleElementImpl.java61
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleFactoryImpl.java60
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleImpl.java36
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SchedulePackageImpl.java470
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SecondaryParameterImpl.java438
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractExtendingScheduleVisitor.java101
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractNonNullExtendingScheduleVisitor.java127
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractScheduleVisitor.java80
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleAdapterFactory.java126
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleSwitch.java161
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleVisitor.java57
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/DependencyUtil.java248
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/MultiValueKey.java29
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/MutiNamedElementKeyImpl.java117
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/ScheduleToCallGraph.java212
-rw-r--r--plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/ScheduleToDependencyGraphVisitor.java343
41 files changed, 706 insertions, 6581 deletions
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/.classpath b/plugins/org.eclipse.qvtd.pivot.schedule/.classpath
index 2e398fae8..ffb0862f7 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/.classpath
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/.classpath
@@ -11,6 +11,5 @@
</attributes>
</classpathentry>
<classpathentry kind="src" path="emf-gen"/>
- <classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/build.properties b/plugins/org.eclipse.qvtd.pivot.schedule/build.properties
index b991e444c..d3637e169 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/build.properties
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/build.properties
@@ -19,7 +19,6 @@ bin.includes = .,\
about.html,\
build.properties
jars.compile.order = .
-source.. = src/,\
- emf-gen/
+source.. = emf-gen/
output.. = bin/
src.includes = about.html
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractAction.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractAction.java
deleted file mode 100644
index 8bafb45f4..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractAction.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Abstract Action</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getProductions <em>Productions</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getRequisites <em>Requisites</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParameterDerivations <em>Parameter Derivations</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getOrder <em>Order</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParameters <em>Parameters</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getResults <em>Results</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getSchedule <em>Schedule</em>}</li>
- * </ul>
- *
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction()
- * @model abstract="true"
- * @generated
- */
-public interface AbstractAction extends ScheduleElement {
- /**
- * Returns the value of the '<em><b>Productions</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractDatum}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getProducedBy <em>Produced By</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Productions</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>Productions</em>' reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_Productions()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getProducedBy
- * @model opposite="producedBy"
- * @generated
- */
- EList<AbstractDatum> getProductions();
-
- /**
- * Returns the value of the '<em><b>Requisites</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractDatum}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getRequiredBy <em>Required By</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Requisites</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>Requisites</em>' reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_Requisites()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getRequiredBy
- * @model opposite="requiredBy"
- * @generated
- */
- EList<AbstractDatum> getRequisites();
-
- /**
- * Returns the value of the '<em><b>Parameter Derivations</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getTarget <em>Target</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parameter Derivations</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>Parameter Derivations</em>' containment reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_ParameterDerivations()
- * @see org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getTarget
- * @model opposite="target" containment="true"
- * @generated
- */
- EList<ParameterDerivation> getParameterDerivations();
-
- /**
- * Returns the value of the '<em><b>Order</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Order</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Order</em>' attribute.
- * @see #setOrder(int)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_Order()
- * @model
- * @generated
- */
- int getOrder();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getOrder <em>Order</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Order</em>' attribute.
- * @see #getOrder()
- * @generated
- */
- void setOrder(int value);
-
- /**
- * Returns the value of the '<em><b>Parent</b></em>' reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getChildren <em>Children</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parent</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Parent</em>' reference.
- * @see #setParent(AbstractAction)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_Parent()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getChildren
- * @model opposite="children"
- * @generated
- */
- AbstractAction getParent();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParent <em>Parent</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Parent</em>' reference.
- * @see #getParent()
- * @generated
- */
- void setParent(AbstractAction value);
-
- /**
- * Returns the value of the '<em><b>Children</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractAction}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParent <em>Parent</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Children</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>Children</em>' reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_Children()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getParent
- * @model opposite="parent"
- * @generated
- */
- EList<AbstractAction> getChildren();
-
- /**
- * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.DataParameter}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parameters</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>Parameters</em>' containment reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_Parameters()
- * @model containment="true"
- * @generated
- */
- EList<DataParameter> getParameters();
-
- /**
- * Returns the value of the '<em><b>Results</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.DataParameter}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Results</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>Results</em>' containment reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_Results()
- * @model containment="true"
- * @generated
- */
- EList<DataParameter> getResults();
-
- /**
- * Returns the value of the '<em><b>Schedule</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.Schedule#getActions <em>Actions</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Schedule</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>Schedule</em>' container reference.
- * @see #setSchedule(Schedule)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractAction_Schedule()
- * @see org.eclipse.qvtd.pivot.schedule.Schedule#getActions
- * @model opposite="actions" transient="false"
- * @generated
- */
- Schedule getSchedule();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getSchedule <em>Schedule</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Schedule</em>' container reference.
- * @see #getSchedule()
- * @generated
- */
- void setSchedule(Schedule value);
-
-} // AbstractAction
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractDatum.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractDatum.java
index 480104067..d95ce7328 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractDatum.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/AbstractDatum.java
@@ -13,8 +13,8 @@
package org.eclipse.qvtd.pivot.schedule;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
-import org.eclipse.qvtd.pivot.qvtcore.CoreDomain;
/**
* <!-- begin-user-doc -->
@@ -25,13 +25,8 @@ import org.eclipse.qvtd.pivot.qvtcore.CoreDomain;
* The following features are supported:
* </p>
* <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSuper <em>Super</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSub <em>Sub</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDomain <em>Domain</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getProducedBy <em>Produced By</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getRequiredBy <em>Required By</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSchedule <em>Schedule</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDataParameter <em>Data Parameter</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getTypedModel <em>Typed Model</em>}</li>
* </ul>
*
@@ -39,69 +34,7 @@ import org.eclipse.qvtd.pivot.qvtcore.CoreDomain;
* @model abstract="true"
* @generated
*/
-public interface AbstractDatum extends ScheduleElement {
- /**
- * Returns the value of the '<em><b>Super</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractDatum}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSub <em>Sub</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Super</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>Super</em>' reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractDatum_Super()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSub
- * @model opposite="sub"
- * @generated
- */
- EList<AbstractDatum> getSuper();
-
- /**
- * Returns the value of the '<em><b>Sub</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractDatum}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSuper <em>Super</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Sub</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>Sub</em>' reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractDatum_Sub()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSuper
- * @model opposite="super"
- * @generated
- */
- EList<AbstractDatum> getSub();
-
- /**
- * Returns the value of the '<em><b>Domain</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>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>Domain</em>' reference.
- * @see #setDomain(CoreDomain)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractDatum_Domain()
- * @model
- * @generated
- */
- CoreDomain getDomain();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDomain <em>Domain</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Domain</em>' reference.
- * @see #getDomain()
- * @generated
- */
- void setDomain(CoreDomain value);
-
+public interface AbstractDatum extends EObject {
/**
* Returns the value of the '<em><b>Typed Model</b></em>' reference.
* <!-- begin-user-doc -->
@@ -113,7 +46,7 @@ public interface AbstractDatum extends ScheduleElement {
* @return the value of the '<em>Typed Model</em>' reference.
* @see #setTypedModel(TypedModel)
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractDatum_TypedModel()
- * @model
+ * @model required="true"
* @generated
*/
TypedModel getTypedModel();
@@ -130,8 +63,8 @@ public interface AbstractDatum extends ScheduleElement {
/**
* Returns the value of the '<em><b>Produced By</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractAction}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getProductions <em>Productions</em>}'.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.MappingAction}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getProductions <em>Productions</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Produced By</em>' reference list isn't clear,
@@ -140,16 +73,16 @@ public interface AbstractDatum extends ScheduleElement {
* <!-- end-user-doc -->
* @return the value of the '<em>Produced By</em>' reference list.
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractDatum_ProducedBy()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getProductions
+ * @see org.eclipse.qvtd.pivot.schedule.MappingAction#getProductions
* @model opposite="productions"
* @generated
*/
- EList<AbstractAction> getProducedBy();
+ EList<MappingAction> getProducedBy();
/**
* Returns the value of the '<em><b>Required By</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractAction}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getRequisites <em>Requisites</em>}'.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.MappingAction}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getRequisites <em>Requisites</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Required By</em>' reference list isn't clear,
@@ -158,56 +91,10 @@ public interface AbstractDatum extends ScheduleElement {
* <!-- end-user-doc -->
* @return the value of the '<em>Required By</em>' reference list.
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractDatum_RequiredBy()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getRequisites
+ * @see org.eclipse.qvtd.pivot.schedule.MappingAction#getRequisites
* @model opposite="requisites" derived="true"
* @generated
*/
- EList<AbstractAction> getRequiredBy();
-
- /**
- * Returns the value of the '<em><b>Schedule</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.Schedule#getDatums <em>Datums</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Schedule</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>Schedule</em>' container reference.
- * @see #setSchedule(Schedule)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractDatum_Schedule()
- * @see org.eclipse.qvtd.pivot.schedule.Schedule#getDatums
- * @model opposite="datums" transient="false"
- * @generated
- */
- Schedule getSchedule();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSchedule <em>Schedule</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Schedule</em>' container reference.
- * @see #getSchedule()
- * @generated
- */
- void setSchedule(Schedule value);
-
- /**
- * Returns the value of the '<em><b>Data Parameter</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.DataParameter}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getDatum <em>Datum</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Data Parameter</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>Data Parameter</em>' reference list.
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getAbstractDatum_DataParameter()
- * @see org.eclipse.qvtd.pivot.schedule.DataParameter#getDatum
- * @model opposite="datum"
- * @generated
- */
- EList<DataParameter> getDataParameter();
+ EList<MappingAction> getRequiredBy();
} // AbstractDatum
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ClassDatum.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ClassDatum.java
index d44628ab7..161f3bcf4 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ClassDatum.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ClassDatum.java
@@ -13,6 +13,7 @@
package org.eclipse.qvtd.pivot.schedule;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.ocl.pivot.CompleteClass;
/**
* <!-- begin-user-doc -->
@@ -23,8 +24,10 @@ import org.eclipse.emf.common.util.EList;
* The following features are supported:
* </p>
* <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getCompleteClass <em>Complete Class</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getPropertyDatums <em>Property Datums</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getSchedule <em>Schedule</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getSuper <em>Super</em>}</li>
* </ul>
*
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getClassDatum()
@@ -33,30 +36,30 @@ import org.eclipse.emf.common.util.EList;
*/
public interface ClassDatum extends AbstractDatum {
/**
- * Returns the value of the '<em><b>Type</b></em>' reference.
+ * Returns the value of the '<em><b>Complete Class</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Type</em>' reference isn't clear,
+ * If the meaning of the '<em>Complete Class</em>' 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>' reference.
- * @see #setType(org.eclipse.ocl.pivot.Class)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getClassDatum_Type()
+ * @return the value of the '<em>Complete Class</em>' reference.
+ * @see #setCompleteClass(CompleteClass)
+ * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getClassDatum_CompleteClass()
* @model required="true" derived="true"
* @generated
*/
- org.eclipse.ocl.pivot.Class getType();
+ CompleteClass getCompleteClass();
/**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getType <em>Type</em>}' reference.
+ * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getCompleteClass <em>Complete Class</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' reference.
- * @see #getType()
+ * @param value the new value of the '<em>Complete Class</em>' reference.
+ * @see #getCompleteClass()
* @generated
*/
- void setType(org.eclipse.ocl.pivot.Class value);
+ void setCompleteClass(CompleteClass value);
/**
* Returns the value of the '<em><b>Property Datums</b></em>' containment reference list.
@@ -76,4 +79,48 @@ public interface ClassDatum extends AbstractDatum {
*/
EList<PropertyDatum> getPropertyDatums();
+ /**
+ * Returns the value of the '<em><b>Schedule</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.Schedule#getDatums <em>Datums</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Schedule</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>Schedule</em>' container reference.
+ * @see #setSchedule(Schedule)
+ * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getClassDatum_Schedule()
+ * @see org.eclipse.qvtd.pivot.schedule.Schedule#getDatums
+ * @model opposite="datums" required="true" transient="false"
+ * @generated
+ */
+ Schedule getSchedule();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getSchedule <em>Schedule</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Schedule</em>' container reference.
+ * @see #getSchedule()
+ * @generated
+ */
+ void setSchedule(Schedule value);
+
+ /**
+ * Returns the value of the '<em><b>Super</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.ClassDatum}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Super</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>Super</em>' reference list.
+ * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getClassDatum_Super()
+ * @model
+ * @generated
+ */
+ EList<ClassDatum> getSuper();
+
} // ClassDatum
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/DataParameter.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/DataParameter.java
deleted file mode 100644
index b4db9e3b1..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/DataParameter.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule;
-
-import org.eclipse.ocl.pivot.Variable;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Data Parameter</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getVariable <em>Variable</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getSecondaryParameter <em>Secondary Parameter</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getDatum <em>Datum</em>}</li>
- * </ul>
- *
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getDataParameter()
- * @model
- * @generated
- */
-public interface DataParameter extends ScheduleElement {
- /**
- * Returns the value of the '<em><b>Variable</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Variable</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Variable</em>' reference.
- * @see #setVariable(Variable)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getDataParameter_Variable()
- * @model required="true"
- * @generated
- */
- Variable getVariable();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getVariable <em>Variable</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Variable</em>' reference.
- * @see #getVariable()
- * @generated
- */
- void setVariable(Variable value);
-
- /**
- * Returns the value of the '<em><b>Secondary Parameter</b></em>' reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDataParameter <em>Data Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Secondary Parameter</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Secondary Parameter</em>' reference.
- * @see #setSecondaryParameter(SecondaryParameter)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getDataParameter_SecondaryParameter()
- * @see org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDataParameter
- * @model opposite="dataParameter"
- * @generated
- */
- SecondaryParameter getSecondaryParameter();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getSecondaryParameter <em>Secondary Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Secondary Parameter</em>' reference.
- * @see #getSecondaryParameter()
- * @generated
- */
- void setSecondaryParameter(SecondaryParameter value);
-
- /**
- * Returns the value of the '<em><b>Datum</b></em>' reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDataParameter <em>Data Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Datum</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Datum</em>' reference.
- * @see #setDatum(AbstractDatum)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getDataParameter_Datum()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDataParameter
- * @model opposite="dataParameter" required="true"
- * @generated
- */
- AbstractDatum getDatum();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getDatum <em>Datum</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Datum</em>' reference.
- * @see #getDatum()
- * @generated
- */
- void setDatum(AbstractDatum value);
-
-} // DataParameter
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/InputAction.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/InputAction.java
deleted file mode 100644
index 56058ab7b..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/InputAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Input Action</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getInputAction()
- * @model
- * @generated
- */
-public interface InputAction extends AbstractAction {
-} // InputAction
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/MappingAction.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/MappingAction.java
index b990869c0..6c1d6de16 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/MappingAction.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/MappingAction.java
@@ -12,6 +12,8 @@
*/
package org.eclipse.qvtd.pivot.schedule;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.qvtd.pivot.qvtcore.Mapping;
/**
@@ -24,13 +26,16 @@ import org.eclipse.qvtd.pivot.qvtcore.Mapping;
* </p>
* <ul>
* <li>{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getMapping <em>Mapping</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getProductions <em>Productions</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getRequisites <em>Requisites</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getSchedule <em>Schedule</em>}</li>
* </ul>
*
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getMappingAction()
* @model
* @generated
*/
-public interface MappingAction extends AbstractAction {
+public interface MappingAction extends EObject {
/**
* Returns the value of the '<em><b>Mapping</b></em>' reference.
* <!-- begin-user-doc -->
@@ -42,7 +47,7 @@ public interface MappingAction extends AbstractAction {
* @return the value of the '<em>Mapping</em>' reference.
* @see #setMapping(Mapping)
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getMappingAction_Mapping()
- * @model
+ * @model required="true"
* @generated
*/
Mapping getMapping();
@@ -57,4 +62,68 @@ public interface MappingAction extends AbstractAction {
*/
void setMapping(Mapping value);
+ /**
+ * Returns the value of the '<em><b>Productions</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractDatum}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getProducedBy <em>Produced By</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Productions</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>Productions</em>' reference list.
+ * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getMappingAction_Productions()
+ * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getProducedBy
+ * @model opposite="producedBy"
+ * @generated
+ */
+ EList<AbstractDatum> getProductions();
+
+ /**
+ * Returns the value of the '<em><b>Requisites</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractDatum}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getRequiredBy <em>Required By</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Requisites</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>Requisites</em>' reference list.
+ * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getMappingAction_Requisites()
+ * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getRequiredBy
+ * @model opposite="requiredBy"
+ * @generated
+ */
+ EList<AbstractDatum> getRequisites();
+
+ /**
+ * Returns the value of the '<em><b>Schedule</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.Schedule#getActions <em>Actions</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Schedule</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>Schedule</em>' container reference.
+ * @see #setSchedule(Schedule)
+ * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getMappingAction_Schedule()
+ * @see org.eclipse.qvtd.pivot.schedule.Schedule#getActions
+ * @model opposite="actions" required="true" transient="false"
+ * @generated
+ */
+ Schedule getSchedule();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getSchedule <em>Schedule</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Schedule</em>' container reference.
+ * @see #getSchedule()
+ * @generated
+ */
+ void setSchedule(Schedule value);
+
} // MappingAction
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/OutputAction.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/OutputAction.java
deleted file mode 100644
index 5b5982bbd..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/OutputAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Output Action</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getOutputAction()
- * @model
- * @generated
- */
-public interface OutputAction extends AbstractAction {
-} // OutputAction
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ParameterDerivation.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ParameterDerivation.java
deleted file mode 100644
index fdf273055..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ParameterDerivation.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parameter Derivation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getTarget <em>Target</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getPrimaryParameter <em>Primary Parameter</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getSecondaryParameter <em>Secondary Parameter</em>}</li>
- * </ul>
- *
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getParameterDerivation()
- * @model
- * @generated
- */
-public interface ParameterDerivation extends ScheduleElement {
- /**
- * Returns the value of the '<em><b>Target</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParameterDerivations <em>Parameter Derivations</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Target</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>Target</em>' container reference.
- * @see #setTarget(AbstractAction)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getParameterDerivation_Target()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getParameterDerivations
- * @model opposite="parameterDerivations" transient="false"
- * @generated
- */
- AbstractAction getTarget();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getTarget <em>Target</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Target</em>' container reference.
- * @see #getTarget()
- * @generated
- */
- void setTarget(AbstractAction value);
-
- /**
- * Returns the value of the '<em><b>Primary Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Primary Parameter</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Primary Parameter</em>' reference.
- * @see #setPrimaryParameter(DataParameter)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getParameterDerivation_PrimaryParameter()
- * @model
- * @generated
- */
- DataParameter getPrimaryParameter();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getPrimaryParameter <em>Primary Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Primary Parameter</em>' reference.
- * @see #getPrimaryParameter()
- * @generated
- */
- void setPrimaryParameter(DataParameter value);
-
- /**
- * Returns the value of the '<em><b>Secondary Parameter</b></em>' containment reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivation <em>Derivation</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Secondary Parameter</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>Secondary Parameter</em>' containment reference.
- * @see #setSecondaryParameter(SecondaryParameter)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getParameterDerivation_SecondaryParameter()
- * @see org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivation
- * @model opposite="derivation" containment="true"
- * @generated
- */
- SecondaryParameter getSecondaryParameter();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getSecondaryParameter <em>Secondary Parameter</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Secondary Parameter</em>' containment reference.
- * @see #getSecondaryParameter()
- * @generated
- */
- void setSecondaryParameter(SecondaryParameter value);
-
-} // ParameterDerivation
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/PropertyDatum.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/PropertyDatum.java
index e7ce89472..cc8b8f383 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/PropertyDatum.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/PropertyDatum.java
@@ -12,6 +12,7 @@
*/
package org.eclipse.qvtd.pivot.schedule;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.ocl.pivot.Property;
/**
@@ -26,6 +27,7 @@ import org.eclipse.ocl.pivot.Property;
* <li>{@link org.eclipse.qvtd.pivot.schedule.PropertyDatum#getProperty <em>Property</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.PropertyDatum#getClassDatum <em>Class Datum</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.PropertyDatum#getOpposite <em>Opposite</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.PropertyDatum#getSuper <em>Super</em>}</li>
* </ul>
*
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getPropertyDatum()
@@ -113,4 +115,20 @@ public interface PropertyDatum extends AbstractDatum {
*/
void setOpposite(PropertyDatum value);
+ /**
+ * Returns the value of the '<em><b>Super</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.PropertyDatum}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Super</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>Super</em>' reference list.
+ * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getPropertyDatum_Super()
+ * @model
+ * @generated
+ */
+ EList<PropertyDatum> getSuper();
+
} // PropertyDatum
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/Schedule.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/Schedule.java
index 9b3e87c2b..9f98fda2e 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/Schedule.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/Schedule.java
@@ -13,9 +13,7 @@
package org.eclipse.qvtd.pivot.schedule;
import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
+import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
@@ -34,11 +32,11 @@ import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
* @model
* @generated
*/
-public interface Schedule extends ScheduleElement {
+public interface Schedule extends EObject {
/**
* Returns the value of the '<em><b>Datums</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractDatum}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSchedule <em>Schedule</em>}'.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.ClassDatum}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getSchedule <em>Schedule</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Datums</em>' containment reference list isn't clear,
@@ -47,16 +45,16 @@ public interface Schedule extends ScheduleElement {
* <!-- end-user-doc -->
* @return the value of the '<em>Datums</em>' containment reference list.
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getSchedule_Datums()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSchedule
+ * @see org.eclipse.qvtd.pivot.schedule.ClassDatum#getSchedule
* @model opposite="schedule" containment="true"
* @generated
*/
- EList<AbstractDatum> getDatums();
+ EList<ClassDatum> getDatums();
/**
* Returns the value of the '<em><b>Actions</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.AbstractAction}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getSchedule <em>Schedule</em>}'.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.schedule.MappingAction}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getSchedule <em>Schedule</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Actions</em>' containment reference list isn't clear,
@@ -65,18 +63,10 @@ public interface Schedule extends ScheduleElement {
* <!-- end-user-doc -->
* @return the value of the '<em>Actions</em>' containment reference list.
* @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getSchedule_Actions()
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getSchedule
+ * @see org.eclipse.qvtd.pivot.schedule.MappingAction#getSchedule
* @model opposite="schedule" containment="true"
* @generated
*/
- EList<AbstractAction> getActions();
-
- /**
- * Accept a visit from a visitor and return the result of a call to the derived type-specific visitXXX in the visitor.
- * @generated
- */
- // Generated from org.eclipse.ocl.examples.build/templates/model/Class/insert.javajetinc
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor);
+ EList<MappingAction> getActions();
} // Schedule
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleElement.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleElement.java
deleted file mode 100644
index c6b2d6e45..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleElement.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Element</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getScheduleElement()
- * @model abstract="true"
- * @generated
- */
-public interface ScheduleElement extends EObject {
- /**
- * Accept a visit from a visitor and return the result of a call to the derived type-specific visitXXX in the visitor.
- * @generated
- */
- // Generated from org.eclipse.ocl.examples.build/templates/model/Class/insert.javajetinc
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor);
-} // ScheduleElement
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleFactory.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleFactory.java
index b143b6e6d..7faad286f 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleFactory.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/ScheduleFactory.java
@@ -42,24 +42,6 @@ public interface ScheduleFactory extends EFactory {
@NonNull ClassDatum createClassDatum();
/**
- * Returns a new object of class '<em>Data Parameter</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Data Parameter</em>'.
- * @generated
- */
- @NonNull DataParameter createDataParameter();
-
- /**
- * Returns a new object of class '<em>Input Action</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Input Action</em>'.
- * @generated
- */
- @NonNull InputAction createInputAction();
-
- /**
* Returns a new object of class '<em>Mapping Action</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -69,24 +51,6 @@ public interface ScheduleFactory extends EFactory {
@NonNull MappingAction createMappingAction();
/**
- * Returns a new object of class '<em>Output Action</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Output Action</em>'.
- * @generated
- */
- @NonNull OutputAction createOutputAction();
-
- /**
- * Returns a new object of class '<em>Parameter Derivation</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Parameter Derivation</em>'.
- * @generated
- */
- @NonNull ParameterDerivation createParameterDerivation();
-
- /**
* Returns a new object of class '<em>Property Datum</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -105,15 +69,6 @@ public interface ScheduleFactory extends EFactory {
@NonNull Schedule createSchedule();
/**
- * Returns a new object of class '<em>Secondary Parameter</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Secondary Parameter</em>'.
- * @generated
- */
- @NonNull SecondaryParameter createSecondaryParameter();
-
- /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SchedulePackage.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SchedulePackage.java
index 48a682b2f..8a9fa79cc 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SchedulePackage.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SchedulePackage.java
@@ -12,7 +12,6 @@
*/
package org.eclipse.qvtd.pivot.schedule;
-import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
@@ -67,34 +66,6 @@ public interface SchedulePackage extends EPackage {
SchedulePackage eINSTANCE = org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl.init();
/**
- * The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.ScheduleElementImpl <em>Element</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.ScheduleElementImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getScheduleElement()
- * @generated
- */
- int SCHEDULE_ELEMENT = 10;
-
- /**
- * The number of structural features of the '<em>Element</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SCHEDULE_ELEMENT_FEATURE_COUNT = 0;
-
- /**
- * The number of operations of the '<em>Element</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SCHEDULE_ELEMENT_OPERATION_COUNT = 0;
-
- /**
* The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl <em>Abstract Datum</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -105,40 +76,13 @@ public interface SchedulePackage extends EPackage {
int ABSTRACT_DATUM = 0;
/**
- * The feature id for the '<em><b>Super</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_DATUM__SUPER = SCHEDULE_ELEMENT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Sub</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_DATUM__SUB = SCHEDULE_ELEMENT_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Domain</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_DATUM__DOMAIN = SCHEDULE_ELEMENT_FEATURE_COUNT + 2;
-
- /**
* The feature id for the '<em><b>Produced By</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int ABSTRACT_DATUM__PRODUCED_BY = SCHEDULE_ELEMENT_FEATURE_COUNT + 3;
+ int ABSTRACT_DATUM__PRODUCED_BY = 0;
/**
* The feature id for the '<em><b>Required By</b></em>' reference list.
@@ -147,25 +91,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int ABSTRACT_DATUM__REQUIRED_BY = SCHEDULE_ELEMENT_FEATURE_COUNT + 4;
-
- /**
- * The feature id for the '<em><b>Schedule</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_DATUM__SCHEDULE = SCHEDULE_ELEMENT_FEATURE_COUNT + 5;
-
- /**
- * The feature id for the '<em><b>Data Parameter</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_DATUM__DATA_PARAMETER = SCHEDULE_ELEMENT_FEATURE_COUNT + 6;
+ int ABSTRACT_DATUM__REQUIRED_BY = 1;
/**
* The feature id for the '<em><b>Typed Model</b></em>' reference.
@@ -174,7 +100,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int ABSTRACT_DATUM__TYPED_MODEL = SCHEDULE_ELEMENT_FEATURE_COUNT + 7;
+ int ABSTRACT_DATUM__TYPED_MODEL = 2;
/**
* The number of structural features of the '<em>Abstract Datum</em>' class.
@@ -183,7 +109,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int ABSTRACT_DATUM_FEATURE_COUNT = SCHEDULE_ELEMENT_FEATURE_COUNT + 8;
+ int ABSTRACT_DATUM_FEATURE_COUNT = 3;
/**
* The number of operations of the '<em>Abstract Datum</em>' class.
@@ -192,116 +118,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int ABSTRACT_DATUM_OPERATION_COUNT = SCHEDULE_ELEMENT_OPERATION_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl <em>Abstract Action</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getAbstractAction()
- * @generated
- */
- int ABSTRACT_ACTION = 1;
-
- /**
- * The feature id for the '<em><b>Productions</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__PRODUCTIONS = SCHEDULE_ELEMENT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Requisites</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__REQUISITES = SCHEDULE_ELEMENT_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Parameter Derivations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__PARAMETER_DERIVATIONS = SCHEDULE_ELEMENT_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Order</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__ORDER = SCHEDULE_ELEMENT_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>Parent</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__PARENT = SCHEDULE_ELEMENT_FEATURE_COUNT + 4;
-
- /**
- * The feature id for the '<em><b>Children</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__CHILDREN = SCHEDULE_ELEMENT_FEATURE_COUNT + 5;
-
- /**
- * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__PARAMETERS = SCHEDULE_ELEMENT_FEATURE_COUNT + 6;
-
- /**
- * The feature id for the '<em><b>Results</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__RESULTS = SCHEDULE_ELEMENT_FEATURE_COUNT + 7;
-
- /**
- * The feature id for the '<em><b>Schedule</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION__SCHEDULE = SCHEDULE_ELEMENT_FEATURE_COUNT + 8;
-
- /**
- * The number of structural features of the '<em>Abstract Action</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION_FEATURE_COUNT = SCHEDULE_ELEMENT_FEATURE_COUNT + 9;
-
- /**
- * The number of operations of the '<em>Abstract Action</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ABSTRACT_ACTION_OPERATION_COUNT = SCHEDULE_ELEMENT_OPERATION_COUNT + 0;
+ int ABSTRACT_DATUM_OPERATION_COUNT = 0;
/**
* The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.ClassDatumImpl <em>Class Datum</em>}' class.
@@ -311,34 +128,7 @@ public interface SchedulePackage extends EPackage {
* @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getClassDatum()
* @generated
*/
- int CLASS_DATUM = 2;
-
- /**
- * The feature id for the '<em><b>Super</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_DATUM__SUPER = ABSTRACT_DATUM__SUPER;
-
- /**
- * The feature id for the '<em><b>Sub</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_DATUM__SUB = ABSTRACT_DATUM__SUB;
-
- /**
- * The feature id for the '<em><b>Domain</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_DATUM__DOMAIN = ABSTRACT_DATUM__DOMAIN;
+ int CLASS_DATUM = 1;
/**
* The feature id for the '<em><b>Produced By</b></em>' reference list.
@@ -359,24 +149,6 @@ public interface SchedulePackage extends EPackage {
int CLASS_DATUM__REQUIRED_BY = ABSTRACT_DATUM__REQUIRED_BY;
/**
- * The feature id for the '<em><b>Schedule</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_DATUM__SCHEDULE = ABSTRACT_DATUM__SCHEDULE;
-
- /**
- * The feature id for the '<em><b>Data Parameter</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_DATUM__DATA_PARAMETER = ABSTRACT_DATUM__DATA_PARAMETER;
-
- /**
* The feature id for the '<em><b>Typed Model</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -386,13 +158,13 @@ public interface SchedulePackage extends EPackage {
int CLASS_DATUM__TYPED_MODEL = ABSTRACT_DATUM__TYPED_MODEL;
/**
- * The feature id for the '<em><b>Type</b></em>' reference.
+ * The feature id for the '<em><b>Complete Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CLASS_DATUM__TYPE = ABSTRACT_DATUM_FEATURE_COUNT + 0;
+ int CLASS_DATUM__COMPLETE_CLASS = ABSTRACT_DATUM_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Property Datums</b></em>' containment reference list.
@@ -404,186 +176,40 @@ public interface SchedulePackage extends EPackage {
int CLASS_DATUM__PROPERTY_DATUMS = ABSTRACT_DATUM_FEATURE_COUNT + 1;
/**
- * The number of structural features of the '<em>Class Datum</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_DATUM_FEATURE_COUNT = ABSTRACT_DATUM_FEATURE_COUNT + 2;
-
- /**
- * The number of operations of the '<em>Class Datum</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_DATUM_OPERATION_COUNT = ABSTRACT_DATUM_OPERATION_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.DataParameterImpl <em>Data Parameter</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.DataParameterImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getDataParameter()
- * @generated
- */
- int DATA_PARAMETER = 3;
-
- /**
- * The feature id for the '<em><b>Variable</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_PARAMETER__VARIABLE = SCHEDULE_ELEMENT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Secondary Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_PARAMETER__SECONDARY_PARAMETER = SCHEDULE_ELEMENT_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Datum</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_PARAMETER__DATUM = SCHEDULE_ELEMENT_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>Data Parameter</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_PARAMETER_FEATURE_COUNT = SCHEDULE_ELEMENT_FEATURE_COUNT + 3;
-
- /**
- * The number of operations of the '<em>Data Parameter</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DATA_PARAMETER_OPERATION_COUNT = SCHEDULE_ELEMENT_OPERATION_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.InputActionImpl <em>Input Action</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.InputActionImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getInputAction()
- * @generated
- */
- int INPUT_ACTION = 4;
-
- /**
- * The feature id for the '<em><b>Productions</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INPUT_ACTION__PRODUCTIONS = ABSTRACT_ACTION__PRODUCTIONS;
-
- /**
- * The feature id for the '<em><b>Requisites</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INPUT_ACTION__REQUISITES = ABSTRACT_ACTION__REQUISITES;
-
- /**
- * The feature id for the '<em><b>Parameter Derivations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INPUT_ACTION__PARAMETER_DERIVATIONS = ABSTRACT_ACTION__PARAMETER_DERIVATIONS;
-
- /**
- * The feature id for the '<em><b>Order</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INPUT_ACTION__ORDER = ABSTRACT_ACTION__ORDER;
-
- /**
- * The feature id for the '<em><b>Parent</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INPUT_ACTION__PARENT = ABSTRACT_ACTION__PARENT;
-
- /**
- * The feature id for the '<em><b>Children</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INPUT_ACTION__CHILDREN = ABSTRACT_ACTION__CHILDREN;
-
- /**
- * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INPUT_ACTION__PARAMETERS = ABSTRACT_ACTION__PARAMETERS;
-
- /**
- * The feature id for the '<em><b>Results</b></em>' containment reference list.
+ * The feature id for the '<em><b>Schedule</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INPUT_ACTION__RESULTS = ABSTRACT_ACTION__RESULTS;
+ int CLASS_DATUM__SCHEDULE = ABSTRACT_DATUM_FEATURE_COUNT + 2;
/**
- * The feature id for the '<em><b>Schedule</b></em>' container reference.
+ * The feature id for the '<em><b>Super</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INPUT_ACTION__SCHEDULE = ABSTRACT_ACTION__SCHEDULE;
+ int CLASS_DATUM__SUPER = ABSTRACT_DATUM_FEATURE_COUNT + 3;
/**
- * The number of structural features of the '<em>Input Action</em>' class.
+ * The number of structural features of the '<em>Class Datum</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INPUT_ACTION_FEATURE_COUNT = ABSTRACT_ACTION_FEATURE_COUNT + 0;
+ int CLASS_DATUM_FEATURE_COUNT = ABSTRACT_DATUM_FEATURE_COUNT + 4;
/**
- * The number of operations of the '<em>Input Action</em>' class.
+ * The number of operations of the '<em>Class Datum</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INPUT_ACTION_OPERATION_COUNT = ABSTRACT_ACTION_OPERATION_COUNT + 0;
+ int CLASS_DATUM_OPERATION_COUNT = ABSTRACT_DATUM_OPERATION_COUNT + 0;
/**
* The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.MappingActionImpl <em>Mapping Action</em>}' class.
@@ -593,88 +219,7 @@ public interface SchedulePackage extends EPackage {
* @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getMappingAction()
* @generated
*/
- int MAPPING_ACTION = 5;
-
- /**
- * The feature id for the '<em><b>Productions</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__PRODUCTIONS = ABSTRACT_ACTION__PRODUCTIONS;
-
- /**
- * The feature id for the '<em><b>Requisites</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__REQUISITES = ABSTRACT_ACTION__REQUISITES;
-
- /**
- * The feature id for the '<em><b>Parameter Derivations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__PARAMETER_DERIVATIONS = ABSTRACT_ACTION__PARAMETER_DERIVATIONS;
-
- /**
- * The feature id for the '<em><b>Order</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__ORDER = ABSTRACT_ACTION__ORDER;
-
- /**
- * The feature id for the '<em><b>Parent</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__PARENT = ABSTRACT_ACTION__PARENT;
-
- /**
- * The feature id for the '<em><b>Children</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__CHILDREN = ABSTRACT_ACTION__CHILDREN;
-
- /**
- * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__PARAMETERS = ABSTRACT_ACTION__PARAMETERS;
-
- /**
- * The feature id for the '<em><b>Results</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__RESULTS = ABSTRACT_ACTION__RESULTS;
-
- /**
- * The feature id for the '<em><b>Schedule</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION__SCHEDULE = ABSTRACT_ACTION__SCHEDULE;
+ int MAPPING_ACTION = 2;
/**
* The feature id for the '<em><b>Mapping</b></em>' reference.
@@ -683,35 +228,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int MAPPING_ACTION__MAPPING = ABSTRACT_ACTION_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>Mapping Action</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION_FEATURE_COUNT = ABSTRACT_ACTION_FEATURE_COUNT + 1;
-
- /**
- * The number of operations of the '<em>Mapping Action</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MAPPING_ACTION_OPERATION_COUNT = ABSTRACT_ACTION_OPERATION_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.OutputActionImpl <em>Output Action</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.OutputActionImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getOutputAction()
- * @generated
- */
- int OUTPUT_ACTION = 6;
+ int MAPPING_ACTION__MAPPING = 0;
/**
* The feature id for the '<em><b>Productions</b></em>' reference list.
@@ -720,7 +237,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int OUTPUT_ACTION__PRODUCTIONS = ABSTRACT_ACTION__PRODUCTIONS;
+ int MAPPING_ACTION__PRODUCTIONS = 1;
/**
* The feature id for the '<em><b>Requisites</b></em>' reference list.
@@ -729,61 +246,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int OUTPUT_ACTION__REQUISITES = ABSTRACT_ACTION__REQUISITES;
-
- /**
- * The feature id for the '<em><b>Parameter Derivations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OUTPUT_ACTION__PARAMETER_DERIVATIONS = ABSTRACT_ACTION__PARAMETER_DERIVATIONS;
-
- /**
- * The feature id for the '<em><b>Order</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OUTPUT_ACTION__ORDER = ABSTRACT_ACTION__ORDER;
-
- /**
- * The feature id for the '<em><b>Parent</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OUTPUT_ACTION__PARENT = ABSTRACT_ACTION__PARENT;
-
- /**
- * The feature id for the '<em><b>Children</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OUTPUT_ACTION__CHILDREN = ABSTRACT_ACTION__CHILDREN;
-
- /**
- * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OUTPUT_ACTION__PARAMETERS = ABSTRACT_ACTION__PARAMETERS;
-
- /**
- * The feature id for the '<em><b>Results</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OUTPUT_ACTION__RESULTS = ABSTRACT_ACTION__RESULTS;
+ int MAPPING_ACTION__REQUISITES = 2;
/**
* The feature id for the '<em><b>Schedule</b></em>' container reference.
@@ -792,80 +255,25 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int OUTPUT_ACTION__SCHEDULE = ABSTRACT_ACTION__SCHEDULE;
+ int MAPPING_ACTION__SCHEDULE = 3;
/**
- * The number of structural features of the '<em>Output Action</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OUTPUT_ACTION_FEATURE_COUNT = ABSTRACT_ACTION_FEATURE_COUNT + 0;
-
- /**
- * The number of operations of the '<em>Output Action</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OUTPUT_ACTION_OPERATION_COUNT = ABSTRACT_ACTION_OPERATION_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.ParameterDerivationImpl <em>Parameter Derivation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.ParameterDerivationImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getParameterDerivation()
- * @generated
- */
- int PARAMETER_DERIVATION = 7;
-
- /**
- * The feature id for the '<em><b>Target</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DERIVATION__TARGET = SCHEDULE_ELEMENT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Primary Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DERIVATION__PRIMARY_PARAMETER = SCHEDULE_ELEMENT_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Secondary Parameter</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DERIVATION__SECONDARY_PARAMETER = SCHEDULE_ELEMENT_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>Parameter Derivation</em>' class.
+ * The number of structural features of the '<em>Mapping Action</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int PARAMETER_DERIVATION_FEATURE_COUNT = SCHEDULE_ELEMENT_FEATURE_COUNT + 3;
+ int MAPPING_ACTION_FEATURE_COUNT = 4;
/**
- * The number of operations of the '<em>Parameter Derivation</em>' class.
+ * The number of operations of the '<em>Mapping Action</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int PARAMETER_DERIVATION_OPERATION_COUNT = SCHEDULE_ELEMENT_OPERATION_COUNT + 0;
+ int MAPPING_ACTION_OPERATION_COUNT = 0;
/**
* The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.PropertyDatumImpl <em>Property Datum</em>}' class.
@@ -875,34 +283,7 @@ public interface SchedulePackage extends EPackage {
* @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getPropertyDatum()
* @generated
*/
- int PROPERTY_DATUM = 8;
-
- /**
- * The feature id for the '<em><b>Super</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DATUM__SUPER = ABSTRACT_DATUM__SUPER;
-
- /**
- * The feature id for the '<em><b>Sub</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DATUM__SUB = ABSTRACT_DATUM__SUB;
-
- /**
- * The feature id for the '<em><b>Domain</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DATUM__DOMAIN = ABSTRACT_DATUM__DOMAIN;
+ int PROPERTY_DATUM = 3;
/**
* The feature id for the '<em><b>Produced By</b></em>' reference list.
@@ -923,24 +304,6 @@ public interface SchedulePackage extends EPackage {
int PROPERTY_DATUM__REQUIRED_BY = ABSTRACT_DATUM__REQUIRED_BY;
/**
- * The feature id for the '<em><b>Schedule</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DATUM__SCHEDULE = ABSTRACT_DATUM__SCHEDULE;
-
- /**
- * The feature id for the '<em><b>Data Parameter</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DATUM__DATA_PARAMETER = ABSTRACT_DATUM__DATA_PARAMETER;
-
- /**
* The feature id for the '<em><b>Typed Model</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -977,13 +340,22 @@ public interface SchedulePackage extends EPackage {
int PROPERTY_DATUM__OPPOSITE = ABSTRACT_DATUM_FEATURE_COUNT + 2;
/**
+ * The feature id for the '<em><b>Super</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DATUM__SUPER = ABSTRACT_DATUM_FEATURE_COUNT + 3;
+
+ /**
* The number of structural features of the '<em>Property Datum</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int PROPERTY_DATUM_FEATURE_COUNT = ABSTRACT_DATUM_FEATURE_COUNT + 3;
+ int PROPERTY_DATUM_FEATURE_COUNT = ABSTRACT_DATUM_FEATURE_COUNT + 4;
/**
* The number of operations of the '<em>Property Datum</em>' class.
@@ -1002,7 +374,7 @@ public interface SchedulePackage extends EPackage {
* @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getSchedule()
* @generated
*/
- int SCHEDULE = 9;
+ int SCHEDULE = 4;
/**
* The feature id for the '<em><b>Datums</b></em>' containment reference list.
@@ -1011,7 +383,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int SCHEDULE__DATUMS = SCHEDULE_ELEMENT_FEATURE_COUNT + 0;
+ int SCHEDULE__DATUMS = 0;
/**
* The feature id for the '<em><b>Actions</b></em>' containment reference list.
@@ -1020,7 +392,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int SCHEDULE__ACTIONS = SCHEDULE_ELEMENT_FEATURE_COUNT + 1;
+ int SCHEDULE__ACTIONS = 1;
/**
* The number of structural features of the '<em>Schedule</em>' class.
@@ -1029,7 +401,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int SCHEDULE_FEATURE_COUNT = SCHEDULE_ELEMENT_FEATURE_COUNT + 2;
+ int SCHEDULE_FEATURE_COUNT = 2;
/**
* The number of operations of the '<em>Schedule</em>' class.
@@ -1038,72 +410,7 @@ public interface SchedulePackage extends EPackage {
* @generated
* @ordered
*/
- int SCHEDULE_OPERATION_COUNT = SCHEDULE_ELEMENT_OPERATION_COUNT + 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.qvtd.pivot.schedule.impl.SecondaryParameterImpl <em>Secondary Parameter</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.SecondaryParameterImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getSecondaryParameter()
- * @generated
- */
- int SECONDARY_PARAMETER = 11;
-
- /**
- * The feature id for the '<em><b>Is Loop</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECONDARY_PARAMETER__IS_LOOP = SCHEDULE_ELEMENT_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Data Parameter</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECONDARY_PARAMETER__DATA_PARAMETER = SCHEDULE_ELEMENT_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Derivation Property</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECONDARY_PARAMETER__DERIVATION_PROPERTY = SCHEDULE_ELEMENT_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Derivation</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECONDARY_PARAMETER__DERIVATION = SCHEDULE_ELEMENT_FEATURE_COUNT + 3;
-
- /**
- * The number of structural features of the '<em>Secondary Parameter</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECONDARY_PARAMETER_FEATURE_COUNT = SCHEDULE_ELEMENT_FEATURE_COUNT + 4;
-
- /**
- * The number of operations of the '<em>Secondary Parameter</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECONDARY_PARAMETER_OPERATION_COUNT = SCHEDULE_ELEMENT_OPERATION_COUNT + 0;
-
+ int SCHEDULE_OPERATION_COUNT = 0;
/**
* Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum <em>Abstract Datum</em>}'.
@@ -1116,39 +423,6 @@ public interface SchedulePackage extends EPackage {
EClass getAbstractDatum();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSuper <em>Super</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Super</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSuper()
- * @see #getAbstractDatum()
- * @generated
- */
- EReference getAbstractDatum_Super();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSub <em>Sub</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Sub</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSub()
- * @see #getAbstractDatum()
- * @generated
- */
- EReference getAbstractDatum_Sub();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDomain <em>Domain</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Domain</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDomain()
- * @see #getAbstractDatum()
- * @generated
- */
- EReference getAbstractDatum_Domain();
-
- /**
* Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getTypedModel <em>Typed Model</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1182,137 +456,6 @@ public interface SchedulePackage extends EPackage {
EReference getAbstractDatum_RequiredBy();
/**
- * Returns the meta object for the container reference '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSchedule <em>Schedule</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the container reference '<em>Schedule</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getSchedule()
- * @see #getAbstractDatum()
- * @generated
- */
- EReference getAbstractDatum_Schedule();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDataParameter <em>Data Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Data Parameter</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractDatum#getDataParameter()
- * @see #getAbstractDatum()
- * @generated
- */
- EReference getAbstractDatum_DataParameter();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction <em>Abstract Action</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Abstract Action</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction
- * @generated
- */
- EClass getAbstractAction();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getProductions <em>Productions</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Productions</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getProductions()
- * @see #getAbstractAction()
- * @generated
- */
- EReference getAbstractAction_Productions();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getRequisites <em>Requisites</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Requisites</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getRequisites()
- * @see #getAbstractAction()
- * @generated
- */
- EReference getAbstractAction_Requisites();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParameterDerivations <em>Parameter Derivations</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Parameter Derivations</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getParameterDerivations()
- * @see #getAbstractAction()
- * @generated
- */
- EReference getAbstractAction_ParameterDerivations();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getOrder <em>Order</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Order</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getOrder()
- * @see #getAbstractAction()
- * @generated
- */
- EAttribute getAbstractAction_Order();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParent <em>Parent</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Parent</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getParent()
- * @see #getAbstractAction()
- * @generated
- */
- EReference getAbstractAction_Parent();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getChildren <em>Children</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Children</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getChildren()
- * @see #getAbstractAction()
- * @generated
- */
- EReference getAbstractAction_Children();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getParameters <em>Parameters</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Parameters</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getParameters()
- * @see #getAbstractAction()
- * @generated
- */
- EReference getAbstractAction_Parameters();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getResults <em>Results</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Results</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getResults()
- * @see #getAbstractAction()
- * @generated
- */
- EReference getAbstractAction_Results();
-
- /**
- * Returns the meta object for the container reference '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction#getSchedule <em>Schedule</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the container reference '<em>Schedule</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.AbstractAction#getSchedule()
- * @see #getAbstractAction()
- * @generated
- */
- EReference getAbstractAction_Schedule();
-
- /**
* Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum <em>Class Datum</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1323,15 +466,15 @@ public interface SchedulePackage extends EPackage {
EClass getClassDatum();
/**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getType <em>Type</em>}'.
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getCompleteClass <em>Complete Class</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Type</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.ClassDatum#getType()
+ * @return the meta object for the reference '<em>Complete Class</em>'.
+ * @see org.eclipse.qvtd.pivot.schedule.ClassDatum#getCompleteClass()
* @see #getClassDatum()
* @generated
*/
- EReference getClassDatum_Type();
+ EReference getClassDatum_CompleteClass();
/**
* Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getPropertyDatums <em>Property Datums</em>}'.
@@ -1345,57 +488,26 @@ public interface SchedulePackage extends EPackage {
EReference getClassDatum_PropertyDatums();
/**
- * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.DataParameter <em>Data Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Data Parameter</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.DataParameter
- * @generated
- */
- EClass getDataParameter();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getVariable <em>Variable</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Variable</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.DataParameter#getVariable()
- * @see #getDataParameter()
- * @generated
- */
- EReference getDataParameter_Variable();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getSecondaryParameter <em>Secondary Parameter</em>}'.
+ * Returns the meta object for the container reference '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getSchedule <em>Schedule</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Secondary Parameter</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.DataParameter#getSecondaryParameter()
- * @see #getDataParameter()
- * @generated
- */
- EReference getDataParameter_SecondaryParameter();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getDatum <em>Datum</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Datum</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.DataParameter#getDatum()
- * @see #getDataParameter()
+ * @return the meta object for the container reference '<em>Schedule</em>'.
+ * @see org.eclipse.qvtd.pivot.schedule.ClassDatum#getSchedule()
+ * @see #getClassDatum()
* @generated
*/
- EReference getDataParameter_Datum();
+ EReference getClassDatum_Schedule();
/**
- * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.InputAction <em>Input Action</em>}'.
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum#getSuper <em>Super</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for class '<em>Input Action</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.InputAction
+ * @return the meta object for the reference list '<em>Super</em>'.
+ * @see org.eclipse.qvtd.pivot.schedule.ClassDatum#getSuper()
+ * @see #getClassDatum()
* @generated
*/
- EClass getInputAction();
+ EReference getClassDatum_Super();
/**
* Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.MappingAction <em>Mapping Action</em>}'.
@@ -1419,57 +531,37 @@ public interface SchedulePackage extends EPackage {
EReference getMappingAction_Mapping();
/**
- * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.OutputAction <em>Output Action</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Output Action</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.OutputAction
- * @generated
- */
- EClass getOutputAction();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation <em>Parameter Derivation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Parameter Derivation</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.ParameterDerivation
- * @generated
- */
- EClass getParameterDerivation();
-
- /**
- * Returns the meta object for the container reference '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getTarget <em>Target</em>}'.
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getProductions <em>Productions</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the container reference '<em>Target</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getTarget()
- * @see #getParameterDerivation()
+ * @return the meta object for the reference list '<em>Productions</em>'.
+ * @see org.eclipse.qvtd.pivot.schedule.MappingAction#getProductions()
+ * @see #getMappingAction()
* @generated
*/
- EReference getParameterDerivation_Target();
+ EReference getMappingAction_Productions();
/**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getPrimaryParameter <em>Primary Parameter</em>}'.
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getRequisites <em>Requisites</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Primary Parameter</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getPrimaryParameter()
- * @see #getParameterDerivation()
+ * @return the meta object for the reference list '<em>Requisites</em>'.
+ * @see org.eclipse.qvtd.pivot.schedule.MappingAction#getRequisites()
+ * @see #getMappingAction()
* @generated
*/
- EReference getParameterDerivation_PrimaryParameter();
+ EReference getMappingAction_Requisites();
/**
- * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getSecondaryParameter <em>Secondary Parameter</em>}'.
+ * Returns the meta object for the container reference '{@link org.eclipse.qvtd.pivot.schedule.MappingAction#getSchedule <em>Schedule</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Secondary Parameter</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getSecondaryParameter()
- * @see #getParameterDerivation()
+ * @return the meta object for the container reference '<em>Schedule</em>'.
+ * @see org.eclipse.qvtd.pivot.schedule.MappingAction#getSchedule()
+ * @see #getMappingAction()
* @generated
*/
- EReference getParameterDerivation_SecondaryParameter();
+ EReference getMappingAction_Schedule();
/**
* Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.PropertyDatum <em>Property Datum</em>}'.
@@ -1515,6 +607,17 @@ public interface SchedulePackage extends EPackage {
EReference getPropertyDatum_Opposite();
/**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.pivot.schedule.PropertyDatum#getSuper <em>Super</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Super</em>'.
+ * @see org.eclipse.qvtd.pivot.schedule.PropertyDatum#getSuper()
+ * @see #getPropertyDatum()
+ * @generated
+ */
+ EReference getPropertyDatum_Super();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.Schedule <em>Schedule</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1547,70 +650,6 @@ public interface SchedulePackage extends EPackage {
EReference getSchedule_Actions();
/**
- * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.ScheduleElement <em>Element</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Element</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.ScheduleElement
- * @generated
- */
- EClass getScheduleElement();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter <em>Secondary Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Secondary Parameter</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.SecondaryParameter
- * @generated
- */
- EClass getSecondaryParameter();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#isIsLoop <em>Is Loop</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Is Loop</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.SecondaryParameter#isIsLoop()
- * @see #getSecondaryParameter()
- * @generated
- */
- EAttribute getSecondaryParameter_IsLoop();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDataParameter <em>Data Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Data Parameter</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDataParameter()
- * @see #getSecondaryParameter()
- * @generated
- */
- EReference getSecondaryParameter_DataParameter();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivationProperty <em>Derivation Property</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Derivation Property</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivationProperty()
- * @see #getSecondaryParameter()
- * @generated
- */
- EReference getSecondaryParameter_DerivationProperty();
-
- /**
- * Returns the meta object for the container reference '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivation <em>Derivation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the container reference '<em>Derivation</em>'.
- * @see org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivation()
- * @see #getSecondaryParameter()
- * @generated
- */
- EReference getSecondaryParameter_Derivation();
-
- /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1644,30 +683,6 @@ public interface SchedulePackage extends EPackage {
EClass ABSTRACT_DATUM = eINSTANCE.getAbstractDatum();
/**
- * The meta object literal for the '<em><b>Super</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_DATUM__SUPER = eINSTANCE.getAbstractDatum_Super();
-
- /**
- * The meta object literal for the '<em><b>Sub</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_DATUM__SUB = eINSTANCE.getAbstractDatum_Sub();
-
- /**
- * The meta object literal for the '<em><b>Domain</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_DATUM__DOMAIN = eINSTANCE.getAbstractDatum_Domain();
-
- /**
* The meta object literal for the '<em><b>Typed Model</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1692,104 +707,6 @@ public interface SchedulePackage extends EPackage {
EReference ABSTRACT_DATUM__REQUIRED_BY = eINSTANCE.getAbstractDatum_RequiredBy();
/**
- * The meta object literal for the '<em><b>Schedule</b></em>' container reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_DATUM__SCHEDULE = eINSTANCE.getAbstractDatum_Schedule();
-
- /**
- * The meta object literal for the '<em><b>Data Parameter</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_DATUM__DATA_PARAMETER = eINSTANCE.getAbstractDatum_DataParameter();
-
- /**
- * The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl <em>Abstract Action</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getAbstractAction()
- * @generated
- */
- EClass ABSTRACT_ACTION = eINSTANCE.getAbstractAction();
-
- /**
- * The meta object literal for the '<em><b>Productions</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_ACTION__PRODUCTIONS = eINSTANCE.getAbstractAction_Productions();
-
- /**
- * The meta object literal for the '<em><b>Requisites</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_ACTION__REQUISITES = eINSTANCE.getAbstractAction_Requisites();
-
- /**
- * The meta object literal for the '<em><b>Parameter Derivations</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_ACTION__PARAMETER_DERIVATIONS = eINSTANCE.getAbstractAction_ParameterDerivations();
-
- /**
- * The meta object literal for the '<em><b>Order</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ABSTRACT_ACTION__ORDER = eINSTANCE.getAbstractAction_Order();
-
- /**
- * The meta object literal for the '<em><b>Parent</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_ACTION__PARENT = eINSTANCE.getAbstractAction_Parent();
-
- /**
- * The meta object literal for the '<em><b>Children</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_ACTION__CHILDREN = eINSTANCE.getAbstractAction_Children();
-
- /**
- * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_ACTION__PARAMETERS = eINSTANCE.getAbstractAction_Parameters();
-
- /**
- * The meta object literal for the '<em><b>Results</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_ACTION__RESULTS = eINSTANCE.getAbstractAction_Results();
-
- /**
- * The meta object literal for the '<em><b>Schedule</b></em>' container reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ABSTRACT_ACTION__SCHEDULE = eINSTANCE.getAbstractAction_Schedule();
-
- /**
* The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.ClassDatumImpl <em>Class Datum</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1800,12 +717,12 @@ public interface SchedulePackage extends EPackage {
EClass CLASS_DATUM = eINSTANCE.getClassDatum();
/**
- * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Complete Class</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference CLASS_DATUM__TYPE = eINSTANCE.getClassDatum_Type();
+ EReference CLASS_DATUM__COMPLETE_CLASS = eINSTANCE.getClassDatum_CompleteClass();
/**
* The meta object literal for the '<em><b>Property Datums</b></em>' containment reference list feature.
@@ -1816,48 +733,20 @@ public interface SchedulePackage extends EPackage {
EReference CLASS_DATUM__PROPERTY_DATUMS = eINSTANCE.getClassDatum_PropertyDatums();
/**
- * The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.DataParameterImpl <em>Data Parameter</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.DataParameterImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getDataParameter()
- * @generated
- */
- EClass DATA_PARAMETER = eINSTANCE.getDataParameter();
-
- /**
- * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DATA_PARAMETER__VARIABLE = eINSTANCE.getDataParameter_Variable();
-
- /**
- * The meta object literal for the '<em><b>Secondary Parameter</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DATA_PARAMETER__SECONDARY_PARAMETER = eINSTANCE.getDataParameter_SecondaryParameter();
-
- /**
- * The meta object literal for the '<em><b>Datum</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Schedule</b></em>' container reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference DATA_PARAMETER__DATUM = eINSTANCE.getDataParameter_Datum();
+ EReference CLASS_DATUM__SCHEDULE = eINSTANCE.getClassDatum_Schedule();
/**
- * The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.InputActionImpl <em>Input Action</em>}' class.
+ * The meta object literal for the '<em><b>Super</b></em>' reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.InputActionImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getInputAction()
* @generated
*/
- EClass INPUT_ACTION = eINSTANCE.getInputAction();
+ EReference CLASS_DATUM__SUPER = eINSTANCE.getClassDatum_Super();
/**
* The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.MappingActionImpl <em>Mapping Action</em>}' class.
@@ -1878,48 +767,28 @@ public interface SchedulePackage extends EPackage {
EReference MAPPING_ACTION__MAPPING = eINSTANCE.getMappingAction_Mapping();
/**
- * The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.OutputActionImpl <em>Output Action</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.OutputActionImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getOutputAction()
- * @generated
- */
- EClass OUTPUT_ACTION = eINSTANCE.getOutputAction();
-
- /**
- * The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.ParameterDerivationImpl <em>Parameter Derivation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.ParameterDerivationImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getParameterDerivation()
- * @generated
- */
- EClass PARAMETER_DERIVATION = eINSTANCE.getParameterDerivation();
-
- /**
- * The meta object literal for the '<em><b>Target</b></em>' container reference feature.
+ * The meta object literal for the '<em><b>Productions</b></em>' reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference PARAMETER_DERIVATION__TARGET = eINSTANCE.getParameterDerivation_Target();
+ EReference MAPPING_ACTION__PRODUCTIONS = eINSTANCE.getMappingAction_Productions();
/**
- * The meta object literal for the '<em><b>Primary Parameter</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Requisites</b></em>' reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference PARAMETER_DERIVATION__PRIMARY_PARAMETER = eINSTANCE.getParameterDerivation_PrimaryParameter();
+ EReference MAPPING_ACTION__REQUISITES = eINSTANCE.getMappingAction_Requisites();
/**
- * The meta object literal for the '<em><b>Secondary Parameter</b></em>' containment reference feature.
+ * The meta object literal for the '<em><b>Schedule</b></em>' container reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference PARAMETER_DERIVATION__SECONDARY_PARAMETER = eINSTANCE.getParameterDerivation_SecondaryParameter();
+ EReference MAPPING_ACTION__SCHEDULE = eINSTANCE.getMappingAction_Schedule();
/**
* The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.PropertyDatumImpl <em>Property Datum</em>}' class.
@@ -1956,6 +825,14 @@ public interface SchedulePackage extends EPackage {
EReference PROPERTY_DATUM__OPPOSITE = eINSTANCE.getPropertyDatum_Opposite();
/**
+ * The meta object literal for the '<em><b>Super</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY_DATUM__SUPER = eINSTANCE.getPropertyDatum_Super();
+
+ /**
* The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.ScheduleImpl <em>Schedule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1981,58 +858,6 @@ public interface SchedulePackage extends EPackage {
*/
EReference SCHEDULE__ACTIONS = eINSTANCE.getSchedule_Actions();
- /**
- * The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.ScheduleElementImpl <em>Element</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.ScheduleElementImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getScheduleElement()
- * @generated
- */
- EClass SCHEDULE_ELEMENT = eINSTANCE.getScheduleElement();
-
- /**
- * The meta object literal for the '{@link org.eclipse.qvtd.pivot.schedule.impl.SecondaryParameterImpl <em>Secondary Parameter</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.pivot.schedule.impl.SecondaryParameterImpl
- * @see org.eclipse.qvtd.pivot.schedule.impl.SchedulePackageImpl#getSecondaryParameter()
- * @generated
- */
- EClass SECONDARY_PARAMETER = eINSTANCE.getSecondaryParameter();
-
- /**
- * The meta object literal for the '<em><b>Is Loop</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute SECONDARY_PARAMETER__IS_LOOP = eINSTANCE.getSecondaryParameter_IsLoop();
-
- /**
- * The meta object literal for the '<em><b>Data Parameter</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SECONDARY_PARAMETER__DATA_PARAMETER = eINSTANCE.getSecondaryParameter_DataParameter();
-
- /**
- * The meta object literal for the '<em><b>Derivation Property</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SECONDARY_PARAMETER__DERIVATION_PROPERTY = eINSTANCE.getSecondaryParameter_DerivationProperty();
-
- /**
- * The meta object literal for the '<em><b>Derivation</b></em>' container reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SECONDARY_PARAMETER__DERIVATION = eINSTANCE.getSecondaryParameter_Derivation();
-
}
} //SchedulePackage
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SecondaryParameter.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SecondaryParameter.java
deleted file mode 100644
index 6b7266548..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/SecondaryParameter.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule;
-
-import org.eclipse.ocl.pivot.Property;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Secondary Parameter</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#isIsLoop <em>Is Loop</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDataParameter <em>Data Parameter</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivationProperty <em>Derivation Property</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivation <em>Derivation</em>}</li>
- * </ul>
- *
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getSecondaryParameter()
- * @model
- * @generated
- */
-public interface SecondaryParameter extends ScheduleElement {
- /**
- * Returns the value of the '<em><b>Is Loop</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Is Loop</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Is Loop</em>' attribute.
- * @see #setIsLoop(boolean)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getSecondaryParameter_IsLoop()
- * @model
- * @generated
- */
- boolean isIsLoop();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#isIsLoop <em>Is Loop</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Is Loop</em>' attribute.
- * @see #isIsLoop()
- * @generated
- */
- void setIsLoop(boolean value);
-
- /**
- * Returns the value of the '<em><b>Data Parameter</b></em>' reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.DataParameter#getSecondaryParameter <em>Secondary Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Data Parameter</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Data Parameter</em>' reference.
- * @see #setDataParameter(DataParameter)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getSecondaryParameter_DataParameter()
- * @see org.eclipse.qvtd.pivot.schedule.DataParameter#getSecondaryParameter
- * @model opposite="secondaryParameter" required="true"
- * @generated
- */
- DataParameter getDataParameter();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDataParameter <em>Data Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Data Parameter</em>' reference.
- * @see #getDataParameter()
- * @generated
- */
- void setDataParameter(DataParameter value);
-
- /**
- * Returns the value of the '<em><b>Derivation Property</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Derivation Property</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Derivation Property</em>' reference.
- * @see #setDerivationProperty(Property)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getSecondaryParameter_DerivationProperty()
- * @model
- * @generated
- */
- Property getDerivationProperty();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivationProperty <em>Derivation Property</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Derivation Property</em>' reference.
- * @see #getDerivationProperty()
- * @generated
- */
- void setDerivationProperty(Property value);
-
- /**
- * Returns the value of the '<em><b>Derivation</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getSecondaryParameter <em>Secondary Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Derivation</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>Derivation</em>' container reference.
- * @see #setDerivation(ParameterDerivation)
- * @see org.eclipse.qvtd.pivot.schedule.SchedulePackage#getSecondaryParameter_Derivation()
- * @see org.eclipse.qvtd.pivot.schedule.ParameterDerivation#getSecondaryParameter
- * @model opposite="secondaryParameter" transient="false"
- * @generated
- */
- ParameterDerivation getDerivation();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter#getDerivation <em>Derivation</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Derivation</em>' container reference.
- * @see #getDerivation()
- * @generated
- */
- void setDerivation(ParameterDerivation value);
-
-} // SecondaryParameter
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractActionImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractActionImpl.java
deleted file mode 100644
index be6f9bf03..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractActionImpl.java
+++ /dev/null
@@ -1,604 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule.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.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.qvtd.pivot.schedule.AbstractAction;
-import org.eclipse.qvtd.pivot.schedule.AbstractDatum;
-import org.eclipse.qvtd.pivot.schedule.DataParameter;
-import org.eclipse.qvtd.pivot.schedule.ParameterDerivation;
-import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.Schedule;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Abstract Action</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getProductions <em>Productions</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getRequisites <em>Requisites</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getParameterDerivations <em>Parameter Derivations</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getOrder <em>Order</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getParameters <em>Parameters</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getResults <em>Results</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractActionImpl#getSchedule <em>Schedule</em>}</li>
- * </ul>
- *
- * @generated
- */
-public abstract class AbstractActionImpl extends ScheduleElementImpl implements AbstractAction {
- /**
- * The cached value of the '{@link #getProductions() <em>Productions</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getProductions()
- * @generated
- * @ordered
- */
- protected EList<AbstractDatum> productions;
-
- /**
- * The cached value of the '{@link #getRequisites() <em>Requisites</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRequisites()
- * @generated
- * @ordered
- */
- protected EList<AbstractDatum> requisites;
-
- /**
- * The cached value of the '{@link #getParameterDerivations() <em>Parameter Derivations</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameterDerivations()
- * @generated
- * @ordered
- */
- protected EList<ParameterDerivation> parameterDerivations;
-
- /**
- * The default value of the '{@link #getOrder() <em>Order</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOrder()
- * @generated
- * @ordered
- */
- protected static final int ORDER_EDEFAULT = 0;
-
- /**
- * The cached value of the '{@link #getOrder() <em>Order</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOrder()
- * @generated
- * @ordered
- */
- protected int order = ORDER_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getParent() <em>Parent</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParent()
- * @generated
- * @ordered
- */
- protected AbstractAction parent;
-
- /**
- * The cached value of the '{@link #getChildren() <em>Children</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getChildren()
- * @generated
- * @ordered
- */
- protected EList<AbstractAction> children;
-
- /**
- * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameters()
- * @generated
- * @ordered
- */
- protected EList<DataParameter> parameters;
-
- /**
- * The cached value of the '{@link #getResults() <em>Results</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getResults()
- * @generated
- * @ordered
- */
- protected EList<DataParameter> results;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AbstractActionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return SchedulePackage.Literals.ABSTRACT_ACTION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<AbstractDatum> getProductions() {
- if (productions == null) {
- productions = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDatum>(AbstractDatum.class, this, SchedulePackage.ABSTRACT_ACTION__PRODUCTIONS, SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY);
- }
- return productions;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<AbstractDatum> getRequisites() {
- if (requisites == null) {
- requisites = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDatum>(AbstractDatum.class, this, SchedulePackage.ABSTRACT_ACTION__REQUISITES, SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY);
- }
- return requisites;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<ParameterDerivation> getParameterDerivations() {
- if (parameterDerivations == null) {
- parameterDerivations = new EObjectContainmentWithInverseEList<ParameterDerivation>(ParameterDerivation.class, this, SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS, SchedulePackage.PARAMETER_DERIVATION__TARGET);
- }
- return parameterDerivations;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public int getOrder() {
- return order;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setOrder(int newOrder) {
- int oldOrder = order;
- order = newOrder;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.ABSTRACT_ACTION__ORDER, oldOrder, order));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public AbstractAction getParent() {
- if (parent != null && parent.eIsProxy()) {
- InternalEObject oldParent = (InternalEObject)parent;
- parent = (AbstractAction)eResolveProxy(oldParent);
- if (parent != oldParent) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.ABSTRACT_ACTION__PARENT, oldParent, parent));
- }
- }
- return parent;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public AbstractAction basicGetParent() {
- return parent;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetParent(AbstractAction newParent, NotificationChain msgs) {
- AbstractAction oldParent = parent;
- parent = newParent;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SchedulePackage.ABSTRACT_ACTION__PARENT, oldParent, newParent);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setParent(AbstractAction newParent) {
- if (newParent != parent) {
- NotificationChain msgs = null;
- if (parent != null)
- msgs = ((InternalEObject)parent).eInverseRemove(this, SchedulePackage.ABSTRACT_ACTION__CHILDREN, AbstractAction.class, msgs);
- if (newParent != null)
- msgs = ((InternalEObject)newParent).eInverseAdd(this, SchedulePackage.ABSTRACT_ACTION__CHILDREN, AbstractAction.class, msgs);
- msgs = basicSetParent(newParent, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.ABSTRACT_ACTION__PARENT, newParent, newParent));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<AbstractAction> getChildren() {
- if (children == null) {
- children = new EObjectWithInverseResolvingEList<AbstractAction>(AbstractAction.class, this, SchedulePackage.ABSTRACT_ACTION__CHILDREN, SchedulePackage.ABSTRACT_ACTION__PARENT);
- }
- return children;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<DataParameter> getParameters() {
- if (parameters == null) {
- parameters = new EObjectContainmentEList<DataParameter>(DataParameter.class, this, SchedulePackage.ABSTRACT_ACTION__PARAMETERS);
- }
- return parameters;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<DataParameter> getResults() {
- if (results == null) {
- results = new EObjectContainmentEList<DataParameter>(DataParameter.class, this, SchedulePackage.ABSTRACT_ACTION__RESULTS);
- }
- return results;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Schedule getSchedule() {
- if (eContainerFeatureID() != SchedulePackage.ABSTRACT_ACTION__SCHEDULE) return null;
- return (Schedule)eInternalContainer();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetSchedule(Schedule newSchedule, NotificationChain msgs) {
- msgs = eBasicSetContainer((InternalEObject)newSchedule, SchedulePackage.ABSTRACT_ACTION__SCHEDULE, msgs);
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setSchedule(Schedule newSchedule) {
- if (newSchedule != eInternalContainer() || (eContainerFeatureID() != SchedulePackage.ABSTRACT_ACTION__SCHEDULE && newSchedule != null)) {
- if (EcoreUtil.isAncestor(this, newSchedule))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
- NotificationChain msgs = null;
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newSchedule != null)
- msgs = ((InternalEObject)newSchedule).eInverseAdd(this, SchedulePackage.SCHEDULE__ACTIONS, Schedule.class, msgs);
- msgs = basicSetSchedule(newSchedule, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.ABSTRACT_ACTION__SCHEDULE, newSchedule, newSchedule));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case SchedulePackage.ABSTRACT_ACTION__PRODUCTIONS:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getProductions()).basicAdd(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__REQUISITES:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getRequisites()).basicAdd(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getParameterDerivations()).basicAdd(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__PARENT:
- if (parent != null)
- msgs = ((InternalEObject)parent).eInverseRemove(this, SchedulePackage.ABSTRACT_ACTION__CHILDREN, AbstractAction.class, msgs);
- return basicSetParent((AbstractAction)otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__CHILDREN:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__SCHEDULE:
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return basicSetSchedule((Schedule)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 SchedulePackage.ABSTRACT_ACTION__PRODUCTIONS:
- return ((InternalEList<?>)getProductions()).basicRemove(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__REQUISITES:
- return ((InternalEList<?>)getRequisites()).basicRemove(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS:
- return ((InternalEList<?>)getParameterDerivations()).basicRemove(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__PARENT:
- return basicSetParent(null, msgs);
- case SchedulePackage.ABSTRACT_ACTION__CHILDREN:
- return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__PARAMETERS:
- return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__RESULTS:
- return ((InternalEList<?>)getResults()).basicRemove(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_ACTION__SCHEDULE:
- return basicSetSchedule(null, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
- switch (eContainerFeatureID()) {
- case SchedulePackage.ABSTRACT_ACTION__SCHEDULE:
- return eInternalContainer().eInverseRemove(this, SchedulePackage.SCHEDULE__ACTIONS, Schedule.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 SchedulePackage.ABSTRACT_ACTION__PRODUCTIONS:
- return getProductions();
- case SchedulePackage.ABSTRACT_ACTION__REQUISITES:
- return getRequisites();
- case SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS:
- return getParameterDerivations();
- case SchedulePackage.ABSTRACT_ACTION__ORDER:
- return getOrder();
- case SchedulePackage.ABSTRACT_ACTION__PARENT:
- if (resolve) return getParent();
- return basicGetParent();
- case SchedulePackage.ABSTRACT_ACTION__CHILDREN:
- return getChildren();
- case SchedulePackage.ABSTRACT_ACTION__PARAMETERS:
- return getParameters();
- case SchedulePackage.ABSTRACT_ACTION__RESULTS:
- return getResults();
- case SchedulePackage.ABSTRACT_ACTION__SCHEDULE:
- return getSchedule();
- }
- 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 SchedulePackage.ABSTRACT_ACTION__PRODUCTIONS:
- getProductions().clear();
- getProductions().addAll((Collection<? extends AbstractDatum>)newValue);
- return;
- case SchedulePackage.ABSTRACT_ACTION__REQUISITES:
- getRequisites().clear();
- getRequisites().addAll((Collection<? extends AbstractDatum>)newValue);
- return;
- case SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS:
- getParameterDerivations().clear();
- getParameterDerivations().addAll((Collection<? extends ParameterDerivation>)newValue);
- return;
- case SchedulePackage.ABSTRACT_ACTION__ORDER:
- setOrder((Integer)newValue);
- return;
- case SchedulePackage.ABSTRACT_ACTION__PARENT:
- setParent((AbstractAction)newValue);
- return;
- case SchedulePackage.ABSTRACT_ACTION__CHILDREN:
- getChildren().clear();
- getChildren().addAll((Collection<? extends AbstractAction>)newValue);
- return;
- case SchedulePackage.ABSTRACT_ACTION__PARAMETERS:
- getParameters().clear();
- getParameters().addAll((Collection<? extends DataParameter>)newValue);
- return;
- case SchedulePackage.ABSTRACT_ACTION__RESULTS:
- getResults().clear();
- getResults().addAll((Collection<? extends DataParameter>)newValue);
- return;
- case SchedulePackage.ABSTRACT_ACTION__SCHEDULE:
- setSchedule((Schedule)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case SchedulePackage.ABSTRACT_ACTION__PRODUCTIONS:
- getProductions().clear();
- return;
- case SchedulePackage.ABSTRACT_ACTION__REQUISITES:
- getRequisites().clear();
- return;
- case SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS:
- getParameterDerivations().clear();
- return;
- case SchedulePackage.ABSTRACT_ACTION__ORDER:
- setOrder(ORDER_EDEFAULT);
- return;
- case SchedulePackage.ABSTRACT_ACTION__PARENT:
- setParent((AbstractAction)null);
- return;
- case SchedulePackage.ABSTRACT_ACTION__CHILDREN:
- getChildren().clear();
- return;
- case SchedulePackage.ABSTRACT_ACTION__PARAMETERS:
- getParameters().clear();
- return;
- case SchedulePackage.ABSTRACT_ACTION__RESULTS:
- getResults().clear();
- return;
- case SchedulePackage.ABSTRACT_ACTION__SCHEDULE:
- setSchedule((Schedule)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case SchedulePackage.ABSTRACT_ACTION__PRODUCTIONS:
- return productions != null && !productions.isEmpty();
- case SchedulePackage.ABSTRACT_ACTION__REQUISITES:
- return requisites != null && !requisites.isEmpty();
- case SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS:
- return parameterDerivations != null && !parameterDerivations.isEmpty();
- case SchedulePackage.ABSTRACT_ACTION__ORDER:
- return order != ORDER_EDEFAULT;
- case SchedulePackage.ABSTRACT_ACTION__PARENT:
- return parent != null;
- case SchedulePackage.ABSTRACT_ACTION__CHILDREN:
- return children != null && !children.isEmpty();
- case SchedulePackage.ABSTRACT_ACTION__PARAMETERS:
- return parameters != null && !parameters.isEmpty();
- case SchedulePackage.ABSTRACT_ACTION__RESULTS:
- return results != null && !results.isEmpty();
- case SchedulePackage.ABSTRACT_ACTION__SCHEDULE:
- return getSchedule() != null;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (order: ");
- result.append(order);
- result.append(')');
- return result.toString();
- }
-} //AbstractActionImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractDatumImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractDatumImpl.java
index 77a0b972e..9337c0623 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractDatumImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/AbstractDatumImpl.java
@@ -20,15 +20,12 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
-import org.eclipse.qvtd.pivot.qvtcore.CoreDomain;
-import org.eclipse.qvtd.pivot.schedule.AbstractAction;
import org.eclipse.qvtd.pivot.schedule.AbstractDatum;
-import org.eclipse.qvtd.pivot.schedule.DataParameter;
-import org.eclipse.qvtd.pivot.schedule.Schedule;
+import org.eclipse.qvtd.pivot.schedule.MappingAction;
import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
/**
@@ -39,49 +36,14 @@ import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
* The following features are implemented:
* </p>
* <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl#getSuper <em>Super</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl#getSub <em>Sub</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl#getDomain <em>Domain</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl#getProducedBy <em>Produced By</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl#getRequiredBy <em>Required By</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl#getSchedule <em>Schedule</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl#getDataParameter <em>Data Parameter</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.impl.AbstractDatumImpl#getTypedModel <em>Typed Model</em>}</li>
* </ul>
*
* @generated
*/
-public abstract class AbstractDatumImpl extends ScheduleElementImpl implements AbstractDatum {
- /**
- * The cached value of the '{@link #getSuper() <em>Super</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSuper()
- * @generated
- * @ordered
- */
- protected EList<AbstractDatum> super_;
-
- /**
- * The cached value of the '{@link #getSub() <em>Sub</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSub()
- * @generated
- * @ordered
- */
- protected EList<AbstractDatum> sub;
-
- /**
- * The cached value of the '{@link #getDomain() <em>Domain</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDomain()
- * @generated
- * @ordered
- */
- protected CoreDomain domain;
-
+public abstract class AbstractDatumImpl extends MinimalEObjectImpl.Container implements AbstractDatum {
/**
* The cached value of the '{@link #getProducedBy() <em>Produced By</em>}' reference list.
* <!-- begin-user-doc -->
@@ -90,7 +52,7 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
* @generated
* @ordered
*/
- protected EList<AbstractAction> producedBy;
+ protected EList<MappingAction> producedBy;
/**
* The cached value of the '{@link #getRequiredBy() <em>Required By</em>}' reference list.
@@ -100,17 +62,7 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
* @generated
* @ordered
*/
- protected EList<AbstractAction> requiredBy;
-
- /**
- * The cached value of the '{@link #getDataParameter() <em>Data Parameter</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDataParameter()
- * @generated
- * @ordered
- */
- protected EList<DataParameter> dataParameter;
+ protected EList<MappingAction> requiredBy;
/**
* The cached value of the '{@link #getTypedModel() <em>Typed Model</em>}' reference.
@@ -147,87 +99,6 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
* @generated
*/
@Override
- public EList<AbstractDatum> getSuper() {
- if (super_ == null) {
- super_ = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDatum>(AbstractDatum.class, this, SchedulePackage.ABSTRACT_DATUM__SUPER, SchedulePackage.ABSTRACT_DATUM__SUB);
- }
- return super_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<AbstractDatum> getSub() {
- if (sub == null) {
- sub = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDatum>(AbstractDatum.class, this, SchedulePackage.ABSTRACT_DATUM__SUB, SchedulePackage.ABSTRACT_DATUM__SUPER);
- }
- return sub;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public CoreDomain getDomainGen() {
- if (domain != null && domain.eIsProxy()) {
- InternalEObject oldDomain = (InternalEObject)domain;
- domain = (CoreDomain)eResolveProxy(oldDomain);
- if (domain != oldDomain) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.ABSTRACT_DATUM__DOMAIN, oldDomain, domain));
- }
- }
- return domain;
- }
- @Override
- public CoreDomain getDomain() { // FIXME Eliminate domain altogether
- CoreDomain domainGen = getDomainGen();
- TypedModel typedModel2 = getTypedModel();
- if (domainGen == null) {
- assert typedModel2 == null;
- }
- else {
- assert domainGen.getTypedModel() == typedModel2;
- }
- return domainGen;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public CoreDomain basicGetDomain() {
- return domain;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDomainGen(CoreDomain newDomain) {
- CoreDomain oldDomain = domain;
- domain = newDomain;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.ABSTRACT_DATUM__DOMAIN, oldDomain, domain));
- }
- @Override
- public void setDomain(CoreDomain newDomain) {
- setDomainGen(newDomain);
- setTypedModel(newDomain != null ? newDomain.getTypedModel() : null);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
public TypedModel getTypedModel() {
if (typedModel != null && typedModel.eIsProxy()) {
InternalEObject oldTypedModel = (InternalEObject)typedModel;
@@ -268,9 +139,9 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
* @generated
*/
@Override
- public EList<AbstractAction> getProducedBy() {
+ public EList<MappingAction> getProducedBy() {
if (producedBy == null) {
- producedBy = new EObjectWithInverseResolvingEList.ManyInverse<AbstractAction>(AbstractAction.class, this, SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY, SchedulePackage.ABSTRACT_ACTION__PRODUCTIONS);
+ producedBy = new EObjectWithInverseResolvingEList.ManyInverse<MappingAction>(MappingAction.class, this, SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY, SchedulePackage.MAPPING_ACTION__PRODUCTIONS);
}
return producedBy;
}
@@ -281,9 +152,9 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
* @generated
*/
@Override
- public EList<AbstractAction> getRequiredBy() {
+ public EList<MappingAction> getRequiredBy() {
if (requiredBy == null) {
- requiredBy = new EObjectWithInverseResolvingEList.ManyInverse<AbstractAction>(AbstractAction.class, this, SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY, SchedulePackage.ABSTRACT_ACTION__REQUISITES);
+ requiredBy = new EObjectWithInverseResolvingEList.ManyInverse<MappingAction>(MappingAction.class, this, SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY, SchedulePackage.MAPPING_ACTION__REQUISITES);
}
return requiredBy;
}
@@ -293,80 +164,14 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
* <!-- end-user-doc -->
* @generated
*/
- @Override
- public Schedule getSchedule() {
- if (eContainerFeatureID() != SchedulePackage.ABSTRACT_DATUM__SCHEDULE) return null;
- return (Schedule)eInternalContainer();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetSchedule(Schedule newSchedule, NotificationChain msgs) {
- msgs = eBasicSetContainer((InternalEObject)newSchedule, SchedulePackage.ABSTRACT_DATUM__SCHEDULE, msgs);
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setSchedule(Schedule newSchedule) {
- if (newSchedule != eInternalContainer() || (eContainerFeatureID() != SchedulePackage.ABSTRACT_DATUM__SCHEDULE && newSchedule != null)) {
- if (EcoreUtil.isAncestor(this, newSchedule))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
- NotificationChain msgs = null;
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newSchedule != null)
- msgs = ((InternalEObject)newSchedule).eInverseAdd(this, SchedulePackage.SCHEDULE__DATUMS, Schedule.class, msgs);
- msgs = basicSetSchedule(newSchedule, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.ABSTRACT_DATUM__SCHEDULE, newSchedule, newSchedule));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<DataParameter> getDataParameter() {
- if (dataParameter == null) {
- dataParameter = new EObjectWithInverseResolvingEList<DataParameter>(DataParameter.class, this, SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER, SchedulePackage.DATA_PARAMETER__DATUM);
- }
- return dataParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
@SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
- case SchedulePackage.ABSTRACT_DATUM__SUPER:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getSuper()).basicAdd(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_DATUM__SUB:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getSub()).basicAdd(otherEnd, msgs);
case SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY:
return ((InternalEList<InternalEObject>)(InternalEList<?>)getProducedBy()).basicAdd(otherEnd, msgs);
case SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY:
return ((InternalEList<InternalEObject>)(InternalEList<?>)getRequiredBy()).basicAdd(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_DATUM__SCHEDULE:
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return basicSetSchedule((Schedule)otherEnd, msgs);
- case SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getDataParameter()).basicAdd(otherEnd, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}
@@ -379,18 +184,10 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
- case SchedulePackage.ABSTRACT_DATUM__SUPER:
- return ((InternalEList<?>)getSuper()).basicRemove(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_DATUM__SUB:
- return ((InternalEList<?>)getSub()).basicRemove(otherEnd, msgs);
case SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY:
return ((InternalEList<?>)getProducedBy()).basicRemove(otherEnd, msgs);
case SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY:
return ((InternalEList<?>)getRequiredBy()).basicRemove(otherEnd, msgs);
- case SchedulePackage.ABSTRACT_DATUM__SCHEDULE:
- return basicSetSchedule(null, msgs);
- case SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER:
- return ((InternalEList<?>)getDataParameter()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -401,37 +198,12 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
* @generated
*/
@Override
- public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
- switch (eContainerFeatureID()) {
- case SchedulePackage.ABSTRACT_DATUM__SCHEDULE:
- return eInternalContainer().eInverseRemove(this, SchedulePackage.SCHEDULE__DATUMS, Schedule.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 SchedulePackage.ABSTRACT_DATUM__SUPER:
- return getSuper();
- case SchedulePackage.ABSTRACT_DATUM__SUB:
- return getSub();
- case SchedulePackage.ABSTRACT_DATUM__DOMAIN:
- if (resolve) return getDomain();
- return basicGetDomain();
case SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY:
return getProducedBy();
case SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY:
return getRequiredBy();
- case SchedulePackage.ABSTRACT_DATUM__SCHEDULE:
- return getSchedule();
- case SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER:
- return getDataParameter();
case SchedulePackage.ABSTRACT_DATUM__TYPED_MODEL:
if (resolve) return getTypedModel();
return basicGetTypedModel();
@@ -448,31 +220,13 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
- case SchedulePackage.ABSTRACT_DATUM__SUPER:
- getSuper().clear();
- getSuper().addAll((Collection<? extends AbstractDatum>)newValue);
- return;
- case SchedulePackage.ABSTRACT_DATUM__SUB:
- getSub().clear();
- getSub().addAll((Collection<? extends AbstractDatum>)newValue);
- return;
- case SchedulePackage.ABSTRACT_DATUM__DOMAIN:
- setDomain((CoreDomain)newValue);
- return;
case SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY:
getProducedBy().clear();
- getProducedBy().addAll((Collection<? extends AbstractAction>)newValue);
+ getProducedBy().addAll((Collection<? extends MappingAction>)newValue);
return;
case SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY:
getRequiredBy().clear();
- getRequiredBy().addAll((Collection<? extends AbstractAction>)newValue);
- return;
- case SchedulePackage.ABSTRACT_DATUM__SCHEDULE:
- setSchedule((Schedule)newValue);
- return;
- case SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER:
- getDataParameter().clear();
- getDataParameter().addAll((Collection<? extends DataParameter>)newValue);
+ getRequiredBy().addAll((Collection<? extends MappingAction>)newValue);
return;
case SchedulePackage.ABSTRACT_DATUM__TYPED_MODEL:
setTypedModel((TypedModel)newValue);
@@ -489,27 +243,12 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
@Override
public void eUnset(int featureID) {
switch (featureID) {
- case SchedulePackage.ABSTRACT_DATUM__SUPER:
- getSuper().clear();
- return;
- case SchedulePackage.ABSTRACT_DATUM__SUB:
- getSub().clear();
- return;
- case SchedulePackage.ABSTRACT_DATUM__DOMAIN:
- setDomain((CoreDomain)null);
- return;
case SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY:
getProducedBy().clear();
return;
case SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY:
getRequiredBy().clear();
return;
- case SchedulePackage.ABSTRACT_DATUM__SCHEDULE:
- setSchedule((Schedule)null);
- return;
- case SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER:
- getDataParameter().clear();
- return;
case SchedulePackage.ABSTRACT_DATUM__TYPED_MODEL:
setTypedModel((TypedModel)null);
return;
@@ -525,20 +264,10 @@ public abstract class AbstractDatumImpl extends ScheduleElementImpl implements A
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
- case SchedulePackage.ABSTRACT_DATUM__SUPER:
- return super_ != null && !super_.isEmpty();
- case SchedulePackage.ABSTRACT_DATUM__SUB:
- return sub != null && !sub.isEmpty();
- case SchedulePackage.ABSTRACT_DATUM__DOMAIN:
- return domain != null;
case SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY:
return producedBy != null && !producedBy.isEmpty();
case SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY:
return requiredBy != null && !requiredBy.isEmpty();
- case SchedulePackage.ABSTRACT_DATUM__SCHEDULE:
- return getSchedule() != null;
- case SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER:
- return dataParameter != null && !dataParameter.isEmpty();
case SchedulePackage.ABSTRACT_DATUM__TYPED_MODEL:
return typedModel != null;
}
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ClassDatumImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ClassDatumImpl.java
index 5fa47b41a..ae73e8884 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ClassDatumImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ClassDatumImpl.java
@@ -21,12 +21,14 @@ 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.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.CompleteClass;
import org.eclipse.qvtd.pivot.schedule.ClassDatum;
import org.eclipse.qvtd.pivot.schedule.PropertyDatum;
+import org.eclipse.qvtd.pivot.schedule.Schedule;
import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
/**
* <!-- begin-user-doc -->
@@ -36,22 +38,24 @@ import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
* The following features are implemented:
* </p>
* <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.ClassDatumImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.ClassDatumImpl#getCompleteClass <em>Complete Class</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.impl.ClassDatumImpl#getPropertyDatums <em>Property Datums</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.ClassDatumImpl#getSchedule <em>Schedule</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.ClassDatumImpl#getSuper <em>Super</em>}</li>
* </ul>
*
* @generated
*/
public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
/**
- * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * The cached value of the '{@link #getCompleteClass() <em>Complete Class</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getType()
+ * @see #getCompleteClass()
* @generated
* @ordered
*/
- protected org.eclipse.ocl.pivot.Class type;
+ protected CompleteClass completeClass;
/**
* The cached value of the '{@link #getPropertyDatums() <em>Property Datums</em>}' containment reference list.
@@ -64,6 +68,16 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
protected EList<PropertyDatum> propertyDatums;
/**
+ * The cached value of the '{@link #getSuper() <em>Super</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuper()
+ * @generated
+ * @ordered
+ */
+ protected EList<ClassDatum> super_;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -88,16 +102,16 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
* @generated
*/
@Override
- public org.eclipse.ocl.pivot.Class getType() {
- if (type != null && type.eIsProxy()) {
- InternalEObject oldType = (InternalEObject)type;
- type = (org.eclipse.ocl.pivot.Class)eResolveProxy(oldType);
- if (type != oldType) {
+ public CompleteClass getCompleteClass() {
+ if (completeClass != null && completeClass.eIsProxy()) {
+ InternalEObject oldCompleteClass = (InternalEObject)completeClass;
+ completeClass = (CompleteClass)eResolveProxy(oldCompleteClass);
+ if (completeClass != oldCompleteClass) {
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.CLASS_DATUM__TYPE, oldType, type));
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.CLASS_DATUM__COMPLETE_CLASS, oldCompleteClass, completeClass));
}
}
- return type;
+ return completeClass;
}
/**
@@ -105,8 +119,8 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
* <!-- end-user-doc -->
* @generated
*/
- public org.eclipse.ocl.pivot.Class basicGetType() {
- return type;
+ public CompleteClass basicGetCompleteClass() {
+ return completeClass;
}
/**
@@ -115,11 +129,11 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
* @generated
*/
@Override
- public void setType(org.eclipse.ocl.pivot.Class newType) {
- org.eclipse.ocl.pivot.Class oldType = type;
- type = newType;
+ public void setCompleteClass(CompleteClass newCompleteClass) {
+ CompleteClass oldCompleteClass = completeClass;
+ completeClass = newCompleteClass;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.CLASS_DATUM__TYPE, oldType, type));
+ eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.CLASS_DATUM__COMPLETE_CLASS, oldCompleteClass, completeClass));
}
/**
@@ -140,12 +154,72 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
* <!-- end-user-doc -->
* @generated
*/
+ @Override
+ public Schedule getSchedule() {
+ if (eContainerFeatureID() != SchedulePackage.CLASS_DATUM__SCHEDULE) return null;
+ return (Schedule)eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSchedule(Schedule newSchedule, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newSchedule, SchedulePackage.CLASS_DATUM__SCHEDULE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setSchedule(Schedule newSchedule) {
+ if (newSchedule != eInternalContainer() || (eContainerFeatureID() != SchedulePackage.CLASS_DATUM__SCHEDULE && newSchedule != null)) {
+ if (EcoreUtil.isAncestor(this, newSchedule))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newSchedule != null)
+ msgs = ((InternalEObject)newSchedule).eInverseAdd(this, SchedulePackage.SCHEDULE__DATUMS, Schedule.class, msgs);
+ msgs = basicSetSchedule(newSchedule, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.CLASS_DATUM__SCHEDULE, newSchedule, newSchedule));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ClassDatum> getSuper() {
+ if (super_ == null) {
+ super_ = new EObjectResolvingEList<ClassDatum>(ClassDatum.class, this, SchedulePackage.CLASS_DATUM__SUPER);
+ }
+ return super_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case SchedulePackage.CLASS_DATUM__PROPERTY_DATUMS:
return ((InternalEList<InternalEObject>)(InternalEList<?>)getPropertyDatums()).basicAdd(otherEnd, msgs);
+ case SchedulePackage.CLASS_DATUM__SCHEDULE:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSchedule((Schedule)otherEnd, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}
@@ -160,6 +234,8 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
switch (featureID) {
case SchedulePackage.CLASS_DATUM__PROPERTY_DATUMS:
return ((InternalEList<?>)getPropertyDatums()).basicRemove(otherEnd, msgs);
+ case SchedulePackage.CLASS_DATUM__SCHEDULE:
+ return basicSetSchedule(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -170,13 +246,31 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
* @generated
*/
@Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case SchedulePackage.CLASS_DATUM__SCHEDULE:
+ return eInternalContainer().eInverseRemove(this, SchedulePackage.SCHEDULE__DATUMS, Schedule.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 SchedulePackage.CLASS_DATUM__TYPE:
- if (resolve) return getType();
- return basicGetType();
+ case SchedulePackage.CLASS_DATUM__COMPLETE_CLASS:
+ if (resolve) return getCompleteClass();
+ return basicGetCompleteClass();
case SchedulePackage.CLASS_DATUM__PROPERTY_DATUMS:
return getPropertyDatums();
+ case SchedulePackage.CLASS_DATUM__SCHEDULE:
+ return getSchedule();
+ case SchedulePackage.CLASS_DATUM__SUPER:
+ return getSuper();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -190,13 +284,20 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
- case SchedulePackage.CLASS_DATUM__TYPE:
- setType((org.eclipse.ocl.pivot.Class)newValue);
+ case SchedulePackage.CLASS_DATUM__COMPLETE_CLASS:
+ setCompleteClass((CompleteClass)newValue);
return;
case SchedulePackage.CLASS_DATUM__PROPERTY_DATUMS:
getPropertyDatums().clear();
getPropertyDatums().addAll((Collection<? extends PropertyDatum>)newValue);
return;
+ case SchedulePackage.CLASS_DATUM__SCHEDULE:
+ setSchedule((Schedule)newValue);
+ return;
+ case SchedulePackage.CLASS_DATUM__SUPER:
+ getSuper().clear();
+ getSuper().addAll((Collection<? extends ClassDatum>)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -209,12 +310,18 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
@Override
public void eUnset(int featureID) {
switch (featureID) {
- case SchedulePackage.CLASS_DATUM__TYPE:
- setType((org.eclipse.ocl.pivot.Class)null);
+ case SchedulePackage.CLASS_DATUM__COMPLETE_CLASS:
+ setCompleteClass((CompleteClass)null);
return;
case SchedulePackage.CLASS_DATUM__PROPERTY_DATUMS:
getPropertyDatums().clear();
return;
+ case SchedulePackage.CLASS_DATUM__SCHEDULE:
+ setSchedule((Schedule)null);
+ return;
+ case SchedulePackage.CLASS_DATUM__SUPER:
+ getSuper().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -227,26 +334,21 @@ public class ClassDatumImpl extends AbstractDatumImpl implements ClassDatum {
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
- case SchedulePackage.CLASS_DATUM__TYPE:
- return type != null;
+ case SchedulePackage.CLASS_DATUM__COMPLETE_CLASS:
+ return completeClass != null;
case SchedulePackage.CLASS_DATUM__PROPERTY_DATUMS:
return propertyDatums != null && !propertyDatums.isEmpty();
+ case SchedulePackage.CLASS_DATUM__SCHEDULE:
+ return getSchedule() != null;
+ case SchedulePackage.CLASS_DATUM__SUPER:
+ return super_ != null && !super_.isEmpty();
}
return super.eIsSet(featureID);
}
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitClassDatum(this);
- }
-
@Override
public String toString() {
- return type.toString();
+ return completeClass.toString();
}
} //ClassDatumImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/DataParameterImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/DataParameterImpl.java
deleted file mode 100644
index 47c500b04..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/DataParameterImpl.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule.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.jdt.annotation.NonNull;
-import org.eclipse.ocl.pivot.Variable;
-import org.eclipse.qvtd.pivot.schedule.AbstractDatum;
-import org.eclipse.qvtd.pivot.schedule.DataParameter;
-import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.SecondaryParameter;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Data Parameter</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.DataParameterImpl#getVariable <em>Variable</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.DataParameterImpl#getSecondaryParameter <em>Secondary Parameter</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.DataParameterImpl#getDatum <em>Datum</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DataParameterImpl extends ScheduleElementImpl implements DataParameter {
- /**
- * The cached value of the '{@link #getVariable() <em>Variable</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getVariable()
- * @generated
- * @ordered
- */
- protected Variable variable;
-
- /**
- * The cached value of the '{@link #getSecondaryParameter() <em>Secondary Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSecondaryParameter()
- * @generated
- * @ordered
- */
- protected SecondaryParameter secondaryParameter;
-
- /**
- * The cached value of the '{@link #getDatum() <em>Datum</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDatum()
- * @generated
- * @ordered
- */
- protected AbstractDatum datum;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DataParameterImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return SchedulePackage.Literals.DATA_PARAMETER;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Variable getVariable() {
- if (variable != null && variable.eIsProxy()) {
- InternalEObject oldVariable = (InternalEObject)variable;
- variable = (Variable)eResolveProxy(oldVariable);
- if (variable != oldVariable) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.DATA_PARAMETER__VARIABLE, oldVariable, variable));
- }
- }
- return variable;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Variable basicGetVariable() {
- return variable;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setVariable(Variable newVariable) {
- Variable oldVariable = variable;
- variable = newVariable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.DATA_PARAMETER__VARIABLE, oldVariable, variable));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public SecondaryParameter getSecondaryParameter() {
- if (secondaryParameter != null && secondaryParameter.eIsProxy()) {
- InternalEObject oldSecondaryParameter = (InternalEObject)secondaryParameter;
- secondaryParameter = (SecondaryParameter)eResolveProxy(oldSecondaryParameter);
- if (secondaryParameter != oldSecondaryParameter) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER, oldSecondaryParameter, secondaryParameter));
- }
- }
- return secondaryParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SecondaryParameter basicGetSecondaryParameter() {
- return secondaryParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetSecondaryParameter(SecondaryParameter newSecondaryParameter, NotificationChain msgs) {
- SecondaryParameter oldSecondaryParameter = secondaryParameter;
- secondaryParameter = newSecondaryParameter;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER, oldSecondaryParameter, newSecondaryParameter);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setSecondaryParameter(SecondaryParameter newSecondaryParameter) {
- if (newSecondaryParameter != secondaryParameter) {
- NotificationChain msgs = null;
- if (secondaryParameter != null)
- msgs = ((InternalEObject)secondaryParameter).eInverseRemove(this, SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER, SecondaryParameter.class, msgs);
- if (newSecondaryParameter != null)
- msgs = ((InternalEObject)newSecondaryParameter).eInverseAdd(this, SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER, SecondaryParameter.class, msgs);
- msgs = basicSetSecondaryParameter(newSecondaryParameter, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER, newSecondaryParameter, newSecondaryParameter));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public AbstractDatum getDatum() {
- if (datum != null && datum.eIsProxy()) {
- InternalEObject oldDatum = (InternalEObject)datum;
- datum = (AbstractDatum)eResolveProxy(oldDatum);
- if (datum != oldDatum) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.DATA_PARAMETER__DATUM, oldDatum, datum));
- }
- }
- return datum;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public AbstractDatum basicGetDatum() {
- return datum;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetDatum(AbstractDatum newDatum, NotificationChain msgs) {
- AbstractDatum oldDatum = datum;
- datum = newDatum;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SchedulePackage.DATA_PARAMETER__DATUM, oldDatum, newDatum);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setDatum(AbstractDatum newDatum) {
- if (newDatum != datum) {
- NotificationChain msgs = null;
- if (datum != null)
- msgs = ((InternalEObject)datum).eInverseRemove(this, SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER, AbstractDatum.class, msgs);
- if (newDatum != null)
- msgs = ((InternalEObject)newDatum).eInverseAdd(this, SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER, AbstractDatum.class, msgs);
- msgs = basicSetDatum(newDatum, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.DATA_PARAMETER__DATUM, newDatum, newDatum));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER:
- if (secondaryParameter != null)
- msgs = ((InternalEObject)secondaryParameter).eInverseRemove(this, SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER, SecondaryParameter.class, msgs);
- return basicSetSecondaryParameter((SecondaryParameter)otherEnd, msgs);
- case SchedulePackage.DATA_PARAMETER__DATUM:
- if (datum != null)
- msgs = ((InternalEObject)datum).eInverseRemove(this, SchedulePackage.ABSTRACT_DATUM__DATA_PARAMETER, AbstractDatum.class, msgs);
- return basicSetDatum((AbstractDatum)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 SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER:
- return basicSetSecondaryParameter(null, msgs);
- case SchedulePackage.DATA_PARAMETER__DATUM:
- return basicSetDatum(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 SchedulePackage.DATA_PARAMETER__VARIABLE:
- if (resolve) return getVariable();
- return basicGetVariable();
- case SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER:
- if (resolve) return getSecondaryParameter();
- return basicGetSecondaryParameter();
- case SchedulePackage.DATA_PARAMETER__DATUM:
- if (resolve) return getDatum();
- return basicGetDatum();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case SchedulePackage.DATA_PARAMETER__VARIABLE:
- setVariable((Variable)newValue);
- return;
- case SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER:
- setSecondaryParameter((SecondaryParameter)newValue);
- return;
- case SchedulePackage.DATA_PARAMETER__DATUM:
- setDatum((AbstractDatum)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case SchedulePackage.DATA_PARAMETER__VARIABLE:
- setVariable((Variable)null);
- return;
- case SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER:
- setSecondaryParameter((SecondaryParameter)null);
- return;
- case SchedulePackage.DATA_PARAMETER__DATUM:
- setDatum((AbstractDatum)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case SchedulePackage.DATA_PARAMETER__VARIABLE:
- return variable != null;
- case SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER:
- return secondaryParameter != null;
- case SchedulePackage.DATA_PARAMETER__DATUM:
- return datum != null;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitDataParameter(this);
- }
-
-} //DataParameterImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/InputActionImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/InputActionImpl.java
deleted file mode 100644
index 0496c8f12..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/InputActionImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.schedule.InputAction;
-import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Input Action</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class InputActionImpl extends AbstractActionImpl implements InputAction {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected InputActionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return SchedulePackage.Literals.INPUT_ACTION;
- }
-
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitInputAction(this);
- }
-
-} //InputActionImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/MappingActionImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/MappingActionImpl.java
index 102ca2ad4..3176bbd76 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/MappingActionImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/MappingActionImpl.java
@@ -12,15 +12,22 @@
*/
package org.eclipse.qvtd.pivot.schedule.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.jdt.annotation.NonNull;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.qvtd.pivot.qvtcore.Mapping;
+import org.eclipse.qvtd.pivot.schedule.AbstractDatum;
import org.eclipse.qvtd.pivot.schedule.MappingAction;
+import org.eclipse.qvtd.pivot.schedule.Schedule;
import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
/**
* <!-- begin-user-doc -->
@@ -31,11 +38,14 @@ import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
* </p>
* <ul>
* <li>{@link org.eclipse.qvtd.pivot.schedule.impl.MappingActionImpl#getMapping <em>Mapping</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.MappingActionImpl#getProductions <em>Productions</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.MappingActionImpl#getRequisites <em>Requisites</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.MappingActionImpl#getSchedule <em>Schedule</em>}</li>
* </ul>
*
* @generated
*/
-public class MappingActionImpl extends AbstractActionImpl implements MappingAction {
+public class MappingActionImpl extends MinimalEObjectImpl.Container implements MappingAction {
/**
* The cached value of the '{@link #getMapping() <em>Mapping</em>}' reference.
* <!-- begin-user-doc -->
@@ -47,6 +57,25 @@ public class MappingActionImpl extends AbstractActionImpl implements MappingActi
protected Mapping mapping;
/**
+ * The cached value of the '{@link #getProductions() <em>Productions</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProductions()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDatum> productions;
+ /**
+ * The cached value of the '{@link #getRequisites() <em>Requisites</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequisites()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDatum> requisites;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -111,11 +140,139 @@ public class MappingActionImpl extends AbstractActionImpl implements MappingActi
* @generated
*/
@Override
+ public EList<AbstractDatum> getProductions() {
+ if (productions == null) {
+ productions = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDatum>(AbstractDatum.class, this, SchedulePackage.MAPPING_ACTION__PRODUCTIONS, SchedulePackage.ABSTRACT_DATUM__PRODUCED_BY);
+ }
+ return productions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<AbstractDatum> getRequisites() {
+ if (requisites == null) {
+ requisites = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDatum>(AbstractDatum.class, this, SchedulePackage.MAPPING_ACTION__REQUISITES, SchedulePackage.ABSTRACT_DATUM__REQUIRED_BY);
+ }
+ return requisites;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Schedule getSchedule() {
+ if (eContainerFeatureID() != SchedulePackage.MAPPING_ACTION__SCHEDULE) return null;
+ return (Schedule)eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSchedule(Schedule newSchedule, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newSchedule, SchedulePackage.MAPPING_ACTION__SCHEDULE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setSchedule(Schedule newSchedule) {
+ if (newSchedule != eInternalContainer() || (eContainerFeatureID() != SchedulePackage.MAPPING_ACTION__SCHEDULE && newSchedule != null)) {
+ if (EcoreUtil.isAncestor(this, newSchedule))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newSchedule != null)
+ msgs = ((InternalEObject)newSchedule).eInverseAdd(this, SchedulePackage.SCHEDULE__ACTIONS, Schedule.class, msgs);
+ msgs = basicSetSchedule(newSchedule, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.MAPPING_ACTION__SCHEDULE, newSchedule, newSchedule));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SchedulePackage.MAPPING_ACTION__PRODUCTIONS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getProductions()).basicAdd(otherEnd, msgs);
+ case SchedulePackage.MAPPING_ACTION__REQUISITES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRequisites()).basicAdd(otherEnd, msgs);
+ case SchedulePackage.MAPPING_ACTION__SCHEDULE:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSchedule((Schedule)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 SchedulePackage.MAPPING_ACTION__PRODUCTIONS:
+ return ((InternalEList<?>)getProductions()).basicRemove(otherEnd, msgs);
+ case SchedulePackage.MAPPING_ACTION__REQUISITES:
+ return ((InternalEList<?>)getRequisites()).basicRemove(otherEnd, msgs);
+ case SchedulePackage.MAPPING_ACTION__SCHEDULE:
+ return basicSetSchedule(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case SchedulePackage.MAPPING_ACTION__SCHEDULE:
+ return eInternalContainer().eInverseRemove(this, SchedulePackage.SCHEDULE__ACTIONS, Schedule.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 SchedulePackage.MAPPING_ACTION__MAPPING:
if (resolve) return getMapping();
return basicGetMapping();
+ case SchedulePackage.MAPPING_ACTION__PRODUCTIONS:
+ return getProductions();
+ case SchedulePackage.MAPPING_ACTION__REQUISITES:
+ return getRequisites();
+ case SchedulePackage.MAPPING_ACTION__SCHEDULE:
+ return getSchedule();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -125,12 +282,24 @@ public class MappingActionImpl extends AbstractActionImpl implements MappingActi
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case SchedulePackage.MAPPING_ACTION__MAPPING:
setMapping((Mapping)newValue);
return;
+ case SchedulePackage.MAPPING_ACTION__PRODUCTIONS:
+ getProductions().clear();
+ getProductions().addAll((Collection<? extends AbstractDatum>)newValue);
+ return;
+ case SchedulePackage.MAPPING_ACTION__REQUISITES:
+ getRequisites().clear();
+ getRequisites().addAll((Collection<? extends AbstractDatum>)newValue);
+ return;
+ case SchedulePackage.MAPPING_ACTION__SCHEDULE:
+ setSchedule((Schedule)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -146,6 +315,15 @@ public class MappingActionImpl extends AbstractActionImpl implements MappingActi
case SchedulePackage.MAPPING_ACTION__MAPPING:
setMapping((Mapping)null);
return;
+ case SchedulePackage.MAPPING_ACTION__PRODUCTIONS:
+ getProductions().clear();
+ return;
+ case SchedulePackage.MAPPING_ACTION__REQUISITES:
+ getRequisites().clear();
+ return;
+ case SchedulePackage.MAPPING_ACTION__SCHEDULE:
+ setSchedule((Schedule)null);
+ return;
}
super.eUnset(featureID);
}
@@ -160,19 +338,16 @@ public class MappingActionImpl extends AbstractActionImpl implements MappingActi
switch (featureID) {
case SchedulePackage.MAPPING_ACTION__MAPPING:
return mapping != null;
+ case SchedulePackage.MAPPING_ACTION__PRODUCTIONS:
+ return productions != null && !productions.isEmpty();
+ case SchedulePackage.MAPPING_ACTION__REQUISITES:
+ return requisites != null && !requisites.isEmpty();
+ case SchedulePackage.MAPPING_ACTION__SCHEDULE:
+ return getSchedule() != null;
}
return super.eIsSet(featureID);
}
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitMappingAction(this);
- }
-
@Override
public String toString() {
return mapping.toString();
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/OutputActionImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/OutputActionImpl.java
deleted file mode 100644
index ff9ec1a51..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/OutputActionImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.schedule.OutputAction;
-import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Output Action</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class OutputActionImpl extends AbstractActionImpl implements OutputAction {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected OutputActionImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return SchedulePackage.Literals.OUTPUT_ACTION;
- }
-
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitOutputAction(this);
- }
-
-} //OutputActionImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ParameterDerivationImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ParameterDerivationImpl.java
deleted file mode 100644
index 23822c086..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ParameterDerivationImpl.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule.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.emf.ecore.util.EcoreUtil;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.schedule.AbstractAction;
-import org.eclipse.qvtd.pivot.schedule.DataParameter;
-import org.eclipse.qvtd.pivot.schedule.ParameterDerivation;
-import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.SecondaryParameter;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parameter Derivation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.ParameterDerivationImpl#getTarget <em>Target</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.ParameterDerivationImpl#getPrimaryParameter <em>Primary Parameter</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.ParameterDerivationImpl#getSecondaryParameter <em>Secondary Parameter</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class ParameterDerivationImpl extends ScheduleElementImpl implements ParameterDerivation {
- /**
- * The cached value of the '{@link #getPrimaryParameter() <em>Primary Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPrimaryParameter()
- * @generated
- * @ordered
- */
- protected DataParameter primaryParameter;
-
- /**
- * The cached value of the '{@link #getSecondaryParameter() <em>Secondary Parameter</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSecondaryParameter()
- * @generated
- * @ordered
- */
- protected SecondaryParameter secondaryParameter;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ParameterDerivationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return SchedulePackage.Literals.PARAMETER_DERIVATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public AbstractAction getTarget() {
- if (eContainerFeatureID() != SchedulePackage.PARAMETER_DERIVATION__TARGET) return null;
- return (AbstractAction)eInternalContainer();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetTarget(AbstractAction newTarget, NotificationChain msgs) {
- msgs = eBasicSetContainer((InternalEObject)newTarget, SchedulePackage.PARAMETER_DERIVATION__TARGET, msgs);
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setTarget(AbstractAction newTarget) {
- if (newTarget != eInternalContainer() || (eContainerFeatureID() != SchedulePackage.PARAMETER_DERIVATION__TARGET && newTarget != null)) {
- if (EcoreUtil.isAncestor(this, newTarget))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
- NotificationChain msgs = null;
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newTarget != null)
- msgs = ((InternalEObject)newTarget).eInverseAdd(this, SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS, AbstractAction.class, msgs);
- msgs = basicSetTarget(newTarget, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.PARAMETER_DERIVATION__TARGET, newTarget, newTarget));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public DataParameter getPrimaryParameter() {
- if (primaryParameter != null && primaryParameter.eIsProxy()) {
- InternalEObject oldPrimaryParameter = (InternalEObject)primaryParameter;
- primaryParameter = (DataParameter)eResolveProxy(oldPrimaryParameter);
- if (primaryParameter != oldPrimaryParameter) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.PARAMETER_DERIVATION__PRIMARY_PARAMETER, oldPrimaryParameter, primaryParameter));
- }
- }
- return primaryParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataParameter basicGetPrimaryParameter() {
- return primaryParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setPrimaryParameter(DataParameter newPrimaryParameter) {
- DataParameter oldPrimaryParameter = primaryParameter;
- primaryParameter = newPrimaryParameter;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.PARAMETER_DERIVATION__PRIMARY_PARAMETER, oldPrimaryParameter, primaryParameter));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public SecondaryParameter getSecondaryParameter() {
- return secondaryParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetSecondaryParameter(SecondaryParameter newSecondaryParameter, NotificationChain msgs) {
- SecondaryParameter oldSecondaryParameter = secondaryParameter;
- secondaryParameter = newSecondaryParameter;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER, oldSecondaryParameter, newSecondaryParameter);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setSecondaryParameter(SecondaryParameter newSecondaryParameter) {
- if (newSecondaryParameter != secondaryParameter) {
- NotificationChain msgs = null;
- if (secondaryParameter != null)
- msgs = ((InternalEObject)secondaryParameter).eInverseRemove(this, SchedulePackage.SECONDARY_PARAMETER__DERIVATION, SecondaryParameter.class, msgs);
- if (newSecondaryParameter != null)
- msgs = ((InternalEObject)newSecondaryParameter).eInverseAdd(this, SchedulePackage.SECONDARY_PARAMETER__DERIVATION, SecondaryParameter.class, msgs);
- msgs = basicSetSecondaryParameter(newSecondaryParameter, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER, newSecondaryParameter, newSecondaryParameter));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case SchedulePackage.PARAMETER_DERIVATION__TARGET:
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return basicSetTarget((AbstractAction)otherEnd, msgs);
- case SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER:
- if (secondaryParameter != null)
- msgs = ((InternalEObject)secondaryParameter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER, null, msgs);
- return basicSetSecondaryParameter((SecondaryParameter)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 SchedulePackage.PARAMETER_DERIVATION__TARGET:
- return basicSetTarget(null, msgs);
- case SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER:
- return basicSetSecondaryParameter(null, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
- switch (eContainerFeatureID()) {
- case SchedulePackage.PARAMETER_DERIVATION__TARGET:
- return eInternalContainer().eInverseRemove(this, SchedulePackage.ABSTRACT_ACTION__PARAMETER_DERIVATIONS, AbstractAction.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 SchedulePackage.PARAMETER_DERIVATION__TARGET:
- return getTarget();
- case SchedulePackage.PARAMETER_DERIVATION__PRIMARY_PARAMETER:
- if (resolve) return getPrimaryParameter();
- return basicGetPrimaryParameter();
- case SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER:
- return getSecondaryParameter();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case SchedulePackage.PARAMETER_DERIVATION__TARGET:
- setTarget((AbstractAction)newValue);
- return;
- case SchedulePackage.PARAMETER_DERIVATION__PRIMARY_PARAMETER:
- setPrimaryParameter((DataParameter)newValue);
- return;
- case SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER:
- setSecondaryParameter((SecondaryParameter)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case SchedulePackage.PARAMETER_DERIVATION__TARGET:
- setTarget((AbstractAction)null);
- return;
- case SchedulePackage.PARAMETER_DERIVATION__PRIMARY_PARAMETER:
- setPrimaryParameter((DataParameter)null);
- return;
- case SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER:
- setSecondaryParameter((SecondaryParameter)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case SchedulePackage.PARAMETER_DERIVATION__TARGET:
- return getTarget() != null;
- case SchedulePackage.PARAMETER_DERIVATION__PRIMARY_PARAMETER:
- return primaryParameter != null;
- case SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER:
- return secondaryParameter != null;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitParameterDerivation(this);
- }
-
-} //ParameterDerivationImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/PropertyDatumImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/PropertyDatumImpl.java
index 6bf86e0ad..eb78a169a 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/PropertyDatumImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/PropertyDatumImpl.java
@@ -12,18 +12,20 @@
*/
package org.eclipse.qvtd.pivot.schedule.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.emf.ecore.util.EcoreUtil;
-import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.ocl.pivot.Property;
import org.eclipse.qvtd.pivot.schedule.ClassDatum;
import org.eclipse.qvtd.pivot.schedule.PropertyDatum;
import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
/**
* <!-- begin-user-doc -->
@@ -36,6 +38,7 @@ import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
* <li>{@link org.eclipse.qvtd.pivot.schedule.impl.PropertyDatumImpl#getProperty <em>Property</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.impl.PropertyDatumImpl#getClassDatum <em>Class Datum</em>}</li>
* <li>{@link org.eclipse.qvtd.pivot.schedule.impl.PropertyDatumImpl#getOpposite <em>Opposite</em>}</li>
+ * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.PropertyDatumImpl#getSuper <em>Super</em>}</li>
* </ul>
*
* @generated
@@ -62,6 +65,16 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu
protected PropertyDatum opposite;
/**
+ * The cached value of the '{@link #getSuper() <em>Super</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuper()
+ * @generated
+ * @ordered
+ */
+ protected EList<PropertyDatum> super_;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -209,6 +222,19 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu
* @generated
*/
@Override
+ public EList<PropertyDatum> getSuper() {
+ if (super_ == null) {
+ super_ = new EObjectResolvingEList<PropertyDatum>(PropertyDatum.class, this, SchedulePackage.PROPERTY_DATUM__SUPER);
+ }
+ return super_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case SchedulePackage.PROPERTY_DATUM__CLASS_DATUM:
@@ -263,6 +289,8 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu
case SchedulePackage.PROPERTY_DATUM__OPPOSITE:
if (resolve) return getOpposite();
return basicGetOpposite();
+ case SchedulePackage.PROPERTY_DATUM__SUPER:
+ return getSuper();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -272,6 +300,7 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
@@ -284,6 +313,10 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu
case SchedulePackage.PROPERTY_DATUM__OPPOSITE:
setOpposite((PropertyDatum)newValue);
return;
+ case SchedulePackage.PROPERTY_DATUM__SUPER:
+ getSuper().clear();
+ getSuper().addAll((Collection<? extends PropertyDatum>)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -305,6 +338,9 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu
case SchedulePackage.PROPERTY_DATUM__OPPOSITE:
setOpposite((PropertyDatum)null);
return;
+ case SchedulePackage.PROPERTY_DATUM__SUPER:
+ getSuper().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -323,19 +359,12 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu
return getClassDatum() != null;
case SchedulePackage.PROPERTY_DATUM__OPPOSITE:
return opposite != null;
+ case SchedulePackage.PROPERTY_DATUM__SUPER:
+ return super_ != null && !super_.isEmpty();
}
return super.eIsSet(featureID);
}
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitPropertyDatum(this);
- }
-
@Override
public String toString() {
return String.valueOf(getClassDatum()) + "::" + (property != null ? property.getName() : "<null>");
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleElementImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleElementImpl.java
deleted file mode 100644
index 9ac8551a7..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleElementImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule.impl;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.schedule.ScheduleElement;
-import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Element</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public abstract class ScheduleElementImpl extends MinimalEObjectImpl.Container implements ScheduleElement {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ScheduleElementImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return SchedulePackage.Literals.SCHEDULE_ELEMENT;
- }
-
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitScheduleElement(this);
- }
-
-} //ScheduleElementImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleFactoryImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleFactoryImpl.java
index 2e8920cfc..298ea43f7 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleFactoryImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleFactoryImpl.java
@@ -65,14 +65,9 @@ public class ScheduleFactoryImpl extends EFactoryImpl implements ScheduleFactory
public EObject create(EClass eClass) {
switch (eClass.getClassifierID()) {
case SchedulePackage.CLASS_DATUM: return createClassDatum();
- case SchedulePackage.DATA_PARAMETER: return createDataParameter();
- case SchedulePackage.INPUT_ACTION: return createInputAction();
case SchedulePackage.MAPPING_ACTION: return createMappingAction();
- case SchedulePackage.OUTPUT_ACTION: return createOutputAction();
- case SchedulePackage.PARAMETER_DERIVATION: return createParameterDerivation();
case SchedulePackage.PROPERTY_DATUM: return createPropertyDatum();
case SchedulePackage.SCHEDULE: return createSchedule();
- case SchedulePackage.SECONDARY_PARAMETER: return createSecondaryParameter();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -95,28 +90,6 @@ public class ScheduleFactoryImpl extends EFactoryImpl implements ScheduleFactory
* @generated
*/
@Override
- public @NonNull DataParameter createDataParameter() {
- DataParameterImpl dataParameter = new DataParameterImpl();
- return dataParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public @NonNull InputAction createInputAction() {
- InputActionImpl inputAction = new InputActionImpl();
- return inputAction;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
public @NonNull MappingAction createMappingAction() {
MappingActionImpl mappingAction = new MappingActionImpl();
return mappingAction;
@@ -128,28 +101,6 @@ public class ScheduleFactoryImpl extends EFactoryImpl implements ScheduleFactory
* @generated
*/
@Override
- public @NonNull OutputAction createOutputAction() {
- OutputActionImpl outputAction = new OutputActionImpl();
- return outputAction;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public @NonNull ParameterDerivation createParameterDerivation() {
- ParameterDerivationImpl parameterDerivation = new ParameterDerivationImpl();
- return parameterDerivation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
public @NonNull PropertyDatum createPropertyDatum() {
PropertyDatumImpl propertyDatum = new PropertyDatumImpl();
return propertyDatum;
@@ -172,17 +123,6 @@ public class ScheduleFactoryImpl extends EFactoryImpl implements ScheduleFactory
* @generated
*/
@Override
- public @NonNull SecondaryParameter createSecondaryParameter() {
- SecondaryParameterImpl secondaryParameter = new SecondaryParameterImpl();
- return secondaryParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
public SchedulePackage getSchedulePackage() {
return (SchedulePackage)getEPackage();
}
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleImpl.java
index 9e21d437e..806e7d960 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/ScheduleImpl.java
@@ -18,14 +18,13 @@ 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.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.schedule.AbstractAction;
-import org.eclipse.qvtd.pivot.schedule.AbstractDatum;
-import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
+import org.eclipse.qvtd.pivot.schedule.ClassDatum;
+import org.eclipse.qvtd.pivot.schedule.MappingAction;
import org.eclipse.qvtd.pivot.schedule.Schedule;
+import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
/**
* <!-- begin-user-doc -->
@@ -41,7 +40,7 @@ import org.eclipse.qvtd.pivot.schedule.Schedule;
*
* @generated
*/
-public class ScheduleImpl extends ScheduleElementImpl implements Schedule {
+public class ScheduleImpl extends MinimalEObjectImpl.Container implements Schedule {
/**
* The cached value of the '{@link #getDatums() <em>Datums</em>}' containment reference list.
* <!-- begin-user-doc -->
@@ -50,7 +49,7 @@ public class ScheduleImpl extends ScheduleElementImpl implements Schedule {
* @generated
* @ordered
*/
- protected EList<AbstractDatum> datums;
+ protected EList<ClassDatum> datums;
/**
* The cached value of the '{@link #getActions() <em>Actions</em>}' containment reference list.
@@ -60,7 +59,7 @@ public class ScheduleImpl extends ScheduleElementImpl implements Schedule {
* @generated
* @ordered
*/
- protected EList<AbstractAction> actions;
+ protected EList<MappingAction> actions;
/**
* <!-- begin-user-doc -->
@@ -87,9 +86,9 @@ public class ScheduleImpl extends ScheduleElementImpl implements Schedule {
* @generated
*/
@Override
- public EList<AbstractDatum> getDatums() {
+ public EList<ClassDatum> getDatums() {
if (datums == null) {
- datums = new EObjectContainmentWithInverseEList<AbstractDatum>(AbstractDatum.class, this, SchedulePackage.SCHEDULE__DATUMS, SchedulePackage.ABSTRACT_DATUM__SCHEDULE);
+ datums = new EObjectContainmentWithInverseEList<ClassDatum>(ClassDatum.class, this, SchedulePackage.SCHEDULE__DATUMS, SchedulePackage.CLASS_DATUM__SCHEDULE);
}
return datums;
}
@@ -100,9 +99,9 @@ public class ScheduleImpl extends ScheduleElementImpl implements Schedule {
* @generated
*/
@Override
- public EList<AbstractAction> getActions() {
+ public EList<MappingAction> getActions() {
if (actions == null) {
- actions = new EObjectContainmentWithInverseEList<AbstractAction>(AbstractAction.class, this, SchedulePackage.SCHEDULE__ACTIONS, SchedulePackage.ABSTRACT_ACTION__SCHEDULE);
+ actions = new EObjectContainmentWithInverseEList<MappingAction>(MappingAction.class, this, SchedulePackage.SCHEDULE__ACTIONS, SchedulePackage.MAPPING_ACTION__SCHEDULE);
}
return actions;
}
@@ -167,11 +166,11 @@ public class ScheduleImpl extends ScheduleElementImpl implements Schedule {
switch (featureID) {
case SchedulePackage.SCHEDULE__DATUMS:
getDatums().clear();
- getDatums().addAll((Collection<? extends AbstractDatum>)newValue);
+ getDatums().addAll((Collection<? extends ClassDatum>)newValue);
return;
case SchedulePackage.SCHEDULE__ACTIONS:
getActions().clear();
- getActions().addAll((Collection<? extends AbstractAction>)newValue);
+ getActions().addAll((Collection<? extends MappingAction>)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -211,13 +210,4 @@ public class ScheduleImpl extends ScheduleElementImpl implements Schedule {
return super.eIsSet(featureID);
}
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitSchedule(this);
- }
-
} //ScheduleImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SchedulePackageImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SchedulePackageImpl.java
index 9c1c41951..71919b122 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SchedulePackageImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SchedulePackageImpl.java
@@ -12,7 +12,6 @@
*/
package org.eclipse.qvtd.pivot.schedule.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;
@@ -20,20 +19,13 @@ import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.ocl.pivot.PivotPackage;
import org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage;
import org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage;
-import org.eclipse.qvtd.pivot.schedule.AbstractAction;
import org.eclipse.qvtd.pivot.schedule.AbstractDatum;
import org.eclipse.qvtd.pivot.schedule.ClassDatum;
-import org.eclipse.qvtd.pivot.schedule.DataParameter;
-import org.eclipse.qvtd.pivot.schedule.InputAction;
import org.eclipse.qvtd.pivot.schedule.MappingAction;
-import org.eclipse.qvtd.pivot.schedule.OutputAction;
-import org.eclipse.qvtd.pivot.schedule.ParameterDerivation;
import org.eclipse.qvtd.pivot.schedule.PropertyDatum;
import org.eclipse.qvtd.pivot.schedule.Schedule;
-import org.eclipse.qvtd.pivot.schedule.ScheduleElement;
import org.eclipse.qvtd.pivot.schedule.ScheduleFactory;
import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.SecondaryParameter;
/**
* <!-- begin-user-doc -->
@@ -54,13 +46,6 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* <!-- end-user-doc -->
* @generated
*/
- private EClass abstractActionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
private EClass classDatumEClass = null;
/**
@@ -68,20 +53,6 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* <!-- end-user-doc -->
* @generated
*/
- private EClass dataParameterEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass inputActionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
private EClass mappingActionEClass = null;
/**
@@ -89,20 +60,6 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* <!-- end-user-doc -->
* @generated
*/
- private EClass outputActionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass parameterDerivationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
private EClass propertyDatumEClass = null;
/**
@@ -113,20 +70,6 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
private EClass scheduleEClass = null;
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass scheduleElementEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass secondaryParameterEClass = 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.
@@ -154,7 +97,7 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
/**
* 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 SchedulePackage#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 -->
@@ -185,7 +128,7 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
// Mark meta-data to indicate it can't be changed
theSchedulePackage.freeze();
-
+
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(SchedulePackage.eNS_URI, theSchedulePackage);
return theSchedulePackage;
@@ -207,38 +150,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EReference getAbstractDatum_Super() {
- return (EReference)abstractDatumEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractDatum_Sub() {
- return (EReference)abstractDatumEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractDatum_Domain() {
- return (EReference)abstractDatumEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
public EReference getAbstractDatum_TypedModel() {
- return (EReference)abstractDatumEClass.getEStructuralFeatures().get(7);
+ return (EReference)abstractDatumEClass.getEStructuralFeatures().get(2);
}
/**
@@ -248,7 +161,7 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
*/
@Override
public EReference getAbstractDatum_ProducedBy() {
- return (EReference)abstractDatumEClass.getEStructuralFeatures().get(3);
+ return (EReference)abstractDatumEClass.getEStructuralFeatures().get(0);
}
/**
@@ -258,127 +171,7 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
*/
@Override
public EReference getAbstractDatum_RequiredBy() {
- return (EReference)abstractDatumEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractDatum_Schedule() {
- return (EReference)abstractDatumEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractDatum_DataParameter() {
- return (EReference)abstractDatumEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EClass getAbstractAction() {
- return abstractActionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractAction_Productions() {
- return (EReference)abstractActionEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractAction_Requisites() {
- return (EReference)abstractActionEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractAction_ParameterDerivations() {
- return (EReference)abstractActionEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EAttribute getAbstractAction_Order() {
- return (EAttribute)abstractActionEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractAction_Parent() {
- return (EReference)abstractActionEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractAction_Children() {
- return (EReference)abstractActionEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractAction_Parameters() {
- return (EReference)abstractActionEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractAction_Results() {
- return (EReference)abstractActionEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getAbstractAction_Schedule() {
- return (EReference)abstractActionEClass.getEStructuralFeatures().get(8);
+ return (EReference)abstractDatumEClass.getEStructuralFeatures().get(1);
}
/**
@@ -397,7 +190,7 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EReference getClassDatum_Type() {
+ public EReference getClassDatum_CompleteClass() {
return (EReference)classDatumEClass.getEStructuralFeatures().get(0);
}
@@ -417,8 +210,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EClass getDataParameter() {
- return dataParameterEClass;
+ public EReference getClassDatum_Schedule() {
+ return (EReference)classDatumEClass.getEStructuralFeatures().get(2);
}
/**
@@ -427,38 +220,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EReference getDataParameter_Variable() {
- return (EReference)dataParameterEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getDataParameter_SecondaryParameter() {
- return (EReference)dataParameterEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getDataParameter_Datum() {
- return (EReference)dataParameterEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EClass getInputAction() {
- return inputActionEClass;
+ public EReference getClassDatum_Super() {
+ return (EReference)classDatumEClass.getEStructuralFeatures().get(3);
}
/**
@@ -487,28 +250,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EClass getOutputAction() {
- return outputActionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EClass getParameterDerivation() {
- return parameterDerivationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getParameterDerivation_Target() {
- return (EReference)parameterDerivationEClass.getEStructuralFeatures().get(0);
+ public EReference getMappingAction_Productions() {
+ return (EReference)mappingActionEClass.getEStructuralFeatures().get(1);
}
/**
@@ -517,8 +260,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EReference getParameterDerivation_PrimaryParameter() {
- return (EReference)parameterDerivationEClass.getEStructuralFeatures().get(1);
+ public EReference getMappingAction_Requisites() {
+ return (EReference)mappingActionEClass.getEStructuralFeatures().get(2);
}
/**
@@ -527,8 +270,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EReference getParameterDerivation_SecondaryParameter() {
- return (EReference)parameterDerivationEClass.getEStructuralFeatures().get(2);
+ public EReference getMappingAction_Schedule() {
+ return (EReference)mappingActionEClass.getEStructuralFeatures().get(3);
}
/**
@@ -577,18 +320,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EClass getSchedule() {
- return scheduleEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getSchedule_Datums() {
- return (EReference)scheduleEClass.getEStructuralFeatures().get(0);
+ public EReference getPropertyDatum_Super() {
+ return (EReference)propertyDatumEClass.getEStructuralFeatures().get(3);
}
/**
@@ -597,48 +330,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EReference getSchedule_Actions() {
- return (EReference)scheduleEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EClass getScheduleElement() {
- return scheduleElementEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EClass getSecondaryParameter() {
- return secondaryParameterEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EAttribute getSecondaryParameter_IsLoop() {
- return (EAttribute)secondaryParameterEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getSecondaryParameter_DataParameter() {
- return (EReference)secondaryParameterEClass.getEStructuralFeatures().get(1);
+ public EClass getSchedule() {
+ return scheduleEClass;
}
/**
@@ -647,8 +340,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EReference getSecondaryParameter_DerivationProperty() {
- return (EReference)secondaryParameterEClass.getEStructuralFeatures().get(2);
+ public EReference getSchedule_Datums() {
+ return (EReference)scheduleEClass.getEStructuralFeatures().get(0);
}
/**
@@ -657,8 +350,8 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
* @generated
*/
@Override
- public EReference getSecondaryParameter_Derivation() {
- return (EReference)secondaryParameterEClass.getEStructuralFeatures().get(3);
+ public EReference getSchedule_Actions() {
+ return (EReference)scheduleEClass.getEStructuralFeatures().get(1);
}
/**
@@ -691,63 +384,31 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
// Create classes and their features
abstractDatumEClass = createEClass(ABSTRACT_DATUM);
- createEReference(abstractDatumEClass, ABSTRACT_DATUM__SUPER);
- createEReference(abstractDatumEClass, ABSTRACT_DATUM__SUB);
- createEReference(abstractDatumEClass, ABSTRACT_DATUM__DOMAIN);
createEReference(abstractDatumEClass, ABSTRACT_DATUM__PRODUCED_BY);
createEReference(abstractDatumEClass, ABSTRACT_DATUM__REQUIRED_BY);
- createEReference(abstractDatumEClass, ABSTRACT_DATUM__SCHEDULE);
- createEReference(abstractDatumEClass, ABSTRACT_DATUM__DATA_PARAMETER);
createEReference(abstractDatumEClass, ABSTRACT_DATUM__TYPED_MODEL);
- abstractActionEClass = createEClass(ABSTRACT_ACTION);
- createEReference(abstractActionEClass, ABSTRACT_ACTION__PRODUCTIONS);
- createEReference(abstractActionEClass, ABSTRACT_ACTION__REQUISITES);
- createEReference(abstractActionEClass, ABSTRACT_ACTION__PARAMETER_DERIVATIONS);
- createEAttribute(abstractActionEClass, ABSTRACT_ACTION__ORDER);
- createEReference(abstractActionEClass, ABSTRACT_ACTION__PARENT);
- createEReference(abstractActionEClass, ABSTRACT_ACTION__CHILDREN);
- createEReference(abstractActionEClass, ABSTRACT_ACTION__PARAMETERS);
- createEReference(abstractActionEClass, ABSTRACT_ACTION__RESULTS);
- createEReference(abstractActionEClass, ABSTRACT_ACTION__SCHEDULE);
-
classDatumEClass = createEClass(CLASS_DATUM);
- createEReference(classDatumEClass, CLASS_DATUM__TYPE);
+ createEReference(classDatumEClass, CLASS_DATUM__COMPLETE_CLASS);
createEReference(classDatumEClass, CLASS_DATUM__PROPERTY_DATUMS);
-
- dataParameterEClass = createEClass(DATA_PARAMETER);
- createEReference(dataParameterEClass, DATA_PARAMETER__VARIABLE);
- createEReference(dataParameterEClass, DATA_PARAMETER__SECONDARY_PARAMETER);
- createEReference(dataParameterEClass, DATA_PARAMETER__DATUM);
-
- inputActionEClass = createEClass(INPUT_ACTION);
+ createEReference(classDatumEClass, CLASS_DATUM__SCHEDULE);
+ createEReference(classDatumEClass, CLASS_DATUM__SUPER);
mappingActionEClass = createEClass(MAPPING_ACTION);
createEReference(mappingActionEClass, MAPPING_ACTION__MAPPING);
-
- outputActionEClass = createEClass(OUTPUT_ACTION);
-
- parameterDerivationEClass = createEClass(PARAMETER_DERIVATION);
- createEReference(parameterDerivationEClass, PARAMETER_DERIVATION__TARGET);
- createEReference(parameterDerivationEClass, PARAMETER_DERIVATION__PRIMARY_PARAMETER);
- createEReference(parameterDerivationEClass, PARAMETER_DERIVATION__SECONDARY_PARAMETER);
+ createEReference(mappingActionEClass, MAPPING_ACTION__PRODUCTIONS);
+ createEReference(mappingActionEClass, MAPPING_ACTION__REQUISITES);
+ createEReference(mappingActionEClass, MAPPING_ACTION__SCHEDULE);
propertyDatumEClass = createEClass(PROPERTY_DATUM);
createEReference(propertyDatumEClass, PROPERTY_DATUM__PROPERTY);
createEReference(propertyDatumEClass, PROPERTY_DATUM__CLASS_DATUM);
createEReference(propertyDatumEClass, PROPERTY_DATUM__OPPOSITE);
+ createEReference(propertyDatumEClass, PROPERTY_DATUM__SUPER);
scheduleEClass = createEClass(SCHEDULE);
createEReference(scheduleEClass, SCHEDULE__DATUMS);
createEReference(scheduleEClass, SCHEDULE__ACTIONS);
-
- scheduleElementEClass = createEClass(SCHEDULE_ELEMENT);
-
- secondaryParameterEClass = createEClass(SECONDARY_PARAMETER);
- createEAttribute(secondaryParameterEClass, SECONDARY_PARAMETER__IS_LOOP);
- createEReference(secondaryParameterEClass, SECONDARY_PARAMETER__DATA_PARAMETER);
- createEReference(secondaryParameterEClass, SECONDARY_PARAMETER__DERIVATION_PROPERTY);
- createEReference(secondaryParameterEClass, SECONDARY_PARAMETER__DERIVATION);
}
/**
@@ -774,86 +435,45 @@ public class SchedulePackageImpl extends EPackageImpl implements SchedulePackage
setNsURI(eNS_URI);
// Obtain other dependent packages
- QVTcorePackage theQVTcorePackage = (QVTcorePackage)EPackage.Registry.INSTANCE.getEPackage(QVTcorePackage.eNS_URI);
QVTbasePackage theQVTbasePackage = (QVTbasePackage)EPackage.Registry.INSTANCE.getEPackage(QVTbasePackage.eNS_URI);
PivotPackage thePivotPackage = (PivotPackage)EPackage.Registry.INSTANCE.getEPackage(PivotPackage.eNS_URI);
+ QVTcorePackage theQVTcorePackage = (QVTcorePackage)EPackage.Registry.INSTANCE.getEPackage(QVTcorePackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
- abstractDatumEClass.getESuperTypes().add(this.getScheduleElement());
- abstractActionEClass.getESuperTypes().add(this.getScheduleElement());
classDatumEClass.getESuperTypes().add(this.getAbstractDatum());
- dataParameterEClass.getESuperTypes().add(this.getScheduleElement());
- inputActionEClass.getESuperTypes().add(this.getAbstractAction());
- mappingActionEClass.getESuperTypes().add(this.getAbstractAction());
- outputActionEClass.getESuperTypes().add(this.getAbstractAction());
- parameterDerivationEClass.getESuperTypes().add(this.getScheduleElement());
propertyDatumEClass.getESuperTypes().add(this.getAbstractDatum());
- scheduleEClass.getESuperTypes().add(this.getScheduleElement());
- secondaryParameterEClass.getESuperTypes().add(this.getScheduleElement());
// Initialize classes, features, and operations; add parameters
initEClass(abstractDatumEClass, AbstractDatum.class, "AbstractDatum", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getAbstractDatum_Super(), this.getAbstractDatum(), this.getAbstractDatum_Sub(), "super", null, 0, -1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractDatum_Sub(), this.getAbstractDatum(), this.getAbstractDatum_Super(), "sub", null, 0, -1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractDatum_Domain(), theQVTcorePackage.getCoreDomain(), null, "domain", null, 0, 1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractDatum_ProducedBy(), this.getAbstractAction(), this.getAbstractAction_Productions(), "producedBy", null, 0, -1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractDatum_RequiredBy(), this.getAbstractAction(), this.getAbstractAction_Requisites(), "requiredBy", null, 0, -1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractDatum_Schedule(), this.getSchedule(), this.getSchedule_Datums(), "schedule", null, 0, 1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractDatum_DataParameter(), this.getDataParameter(), this.getDataParameter_Datum(), "dataParameter", null, 0, -1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractDatum_TypedModel(), theQVTbasePackage.getTypedModel(), null, "typedModel", null, 0, 1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(abstractActionEClass, AbstractAction.class, "AbstractAction", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getAbstractAction_Productions(), this.getAbstractDatum(), this.getAbstractDatum_ProducedBy(), "productions", null, 0, -1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractAction_Requisites(), this.getAbstractDatum(), this.getAbstractDatum_RequiredBy(), "requisites", null, 0, -1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractAction_ParameterDerivations(), this.getParameterDerivation(), this.getParameterDerivation_Target(), "parameterDerivations", null, 0, -1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getAbstractAction_Order(), ecorePackage.getEInt(), "order", null, 0, 1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractAction_Parent(), this.getAbstractAction(), this.getAbstractAction_Children(), "parent", null, 0, 1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractAction_Children(), this.getAbstractAction(), this.getAbstractAction_Parent(), "children", null, 0, -1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractAction_Parameters(), this.getDataParameter(), null, "parameters", null, 0, -1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractAction_Results(), this.getDataParameter(), null, "results", null, 0, -1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getAbstractAction_Schedule(), this.getSchedule(), this.getSchedule_Actions(), "schedule", null, 0, 1, AbstractAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAbstractDatum_ProducedBy(), this.getMappingAction(), this.getMappingAction_Productions(), "producedBy", null, 0, -1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAbstractDatum_RequiredBy(), this.getMappingAction(), this.getMappingAction_Requisites(), "requiredBy", null, 0, -1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getAbstractDatum_TypedModel(), theQVTbasePackage.getTypedModel(), null, "typedModel", null, 1, 1, AbstractDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(classDatumEClass, ClassDatum.class, "ClassDatum", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getClassDatum_Type(), thePivotPackage.getClass_(), null, "type", null, 1, 1, ClassDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getClassDatum_CompleteClass(), thePivotPackage.getCompleteClass(), null, "completeClass", null, 1, 1, ClassDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEReference(getClassDatum_PropertyDatums(), this.getPropertyDatum(), this.getPropertyDatum_ClassDatum(), "propertyDatums", null, 0, -1, ClassDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(dataParameterEClass, DataParameter.class, "DataParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getDataParameter_Variable(), thePivotPackage.getVariable(), null, "variable", null, 1, 1, DataParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getDataParameter_SecondaryParameter(), this.getSecondaryParameter(), this.getSecondaryParameter_DataParameter(), "secondaryParameter", null, 0, 1, DataParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getDataParameter_Datum(), this.getAbstractDatum(), this.getAbstractDatum_DataParameter(), "datum", null, 1, 1, DataParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(inputActionEClass, InputAction.class, "InputAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClassDatum_Schedule(), this.getSchedule(), this.getSchedule_Datums(), "schedule", null, 1, 1, ClassDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClassDatum_Super(), this.getClassDatum(), null, "super", null, 0, -1, ClassDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(mappingActionEClass, MappingAction.class, "MappingAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getMappingAction_Mapping(), theQVTcorePackage.getMapping(), null, "mapping", null, 0, 1, MappingAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(outputActionEClass, OutputAction.class, "OutputAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(parameterDerivationEClass, ParameterDerivation.class, "ParameterDerivation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getParameterDerivation_Target(), this.getAbstractAction(), this.getAbstractAction_ParameterDerivations(), "target", null, 0, 1, ParameterDerivation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getParameterDerivation_PrimaryParameter(), this.getDataParameter(), null, "primaryParameter", null, 0, 1, ParameterDerivation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getParameterDerivation_SecondaryParameter(), this.getSecondaryParameter(), this.getSecondaryParameter_Derivation(), "secondaryParameter", null, 0, 1, ParameterDerivation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMappingAction_Mapping(), theQVTcorePackage.getMapping(), null, "mapping", null, 1, 1, MappingAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMappingAction_Productions(), this.getAbstractDatum(), this.getAbstractDatum_ProducedBy(), "productions", null, 0, -1, MappingAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMappingAction_Requisites(), this.getAbstractDatum(), this.getAbstractDatum_RequiredBy(), "requisites", null, 0, -1, MappingAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMappingAction_Schedule(), this.getSchedule(), this.getSchedule_Actions(), "schedule", null, 1, 1, MappingAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(propertyDatumEClass, PropertyDatum.class, "PropertyDatum", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPropertyDatum_Property(), thePivotPackage.getProperty(), null, "property", null, 1, 1, PropertyDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyDatum_ClassDatum(), this.getClassDatum(), this.getClassDatum_PropertyDatums(), "classDatum", null, 1, 1, PropertyDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyDatum_Opposite(), this.getPropertyDatum(), null, "opposite", null, 0, 1, PropertyDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPropertyDatum_Super(), this.getPropertyDatum(), null, "super", null, 0, -1, PropertyDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(scheduleEClass, Schedule.class, "Schedule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getSchedule_Datums(), this.getAbstractDatum(), this.getAbstractDatum_Schedule(), "datums", null, 0, -1, Schedule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getSchedule_Actions(), this.getAbstractAction(), this.getAbstractAction_Schedule(), "actions", null, 0, -1, Schedule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(scheduleElementEClass, ScheduleElement.class, "ScheduleElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(secondaryParameterEClass, SecondaryParameter.class, "SecondaryParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getSecondaryParameter_IsLoop(), ecorePackage.getEBoolean(), "isLoop", null, 0, 1, SecondaryParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getSecondaryParameter_DataParameter(), this.getDataParameter(), this.getDataParameter_SecondaryParameter(), "dataParameter", null, 1, 1, SecondaryParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getSecondaryParameter_DerivationProperty(), thePivotPackage.getProperty(), null, "derivationProperty", null, 0, 1, SecondaryParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getSecondaryParameter_Derivation(), this.getParameterDerivation(), this.getParameterDerivation_SecondaryParameter(), "derivation", null, 0, 1, SecondaryParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSchedule_Datums(), this.getClassDatum(), this.getClassDatum_Schedule(), "datums", null, 0, -1, Schedule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSchedule_Actions(), this.getMappingAction(), this.getMappingAction_Schedule(), "actions", null, 0, -1, Schedule.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);
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SecondaryParameterImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SecondaryParameterImpl.java
deleted file mode 100644
index 4ac385ddc..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/impl/SecondaryParameterImpl.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-/**
- */
-package org.eclipse.qvtd.pivot.schedule.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.emf.ecore.util.EcoreUtil;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.ocl.pivot.Property;
-import org.eclipse.qvtd.pivot.schedule.DataParameter;
-import org.eclipse.qvtd.pivot.schedule.ParameterDerivation;
-import org.eclipse.qvtd.pivot.schedule.SchedulePackage;
-import org.eclipse.qvtd.pivot.schedule.SecondaryParameter;
-import org.eclipse.qvtd.pivot.schedule.util.ScheduleVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Secondary Parameter</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.SecondaryParameterImpl#isIsLoop <em>Is Loop</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.SecondaryParameterImpl#getDataParameter <em>Data Parameter</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.SecondaryParameterImpl#getDerivationProperty <em>Derivation Property</em>}</li>
- * <li>{@link org.eclipse.qvtd.pivot.schedule.impl.SecondaryParameterImpl#getDerivation <em>Derivation</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class SecondaryParameterImpl extends ScheduleElementImpl implements SecondaryParameter {
- /**
- * The default value of the '{@link #isIsLoop() <em>Is Loop</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsLoop()
- * @generated
- * @ordered
- */
- protected static final boolean IS_LOOP_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isIsLoop() <em>Is Loop</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsLoop()
- * @generated
- * @ordered
- */
- protected boolean isLoop = IS_LOOP_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getDataParameter() <em>Data Parameter</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDataParameter()
- * @generated
- * @ordered
- */
- protected DataParameter dataParameter;
-
- /**
- * The cached value of the '{@link #getDerivationProperty() <em>Derivation Property</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDerivationProperty()
- * @generated
- * @ordered
- */
- protected Property derivationProperty;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected SecondaryParameterImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return SchedulePackage.Literals.SECONDARY_PARAMETER;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean isIsLoop() {
- return isLoop;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setIsLoop(boolean newIsLoop) {
- boolean oldIsLoop = isLoop;
- isLoop = newIsLoop;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.SECONDARY_PARAMETER__IS_LOOP, oldIsLoop, isLoop));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public DataParameter getDataParameter() {
- if (dataParameter != null && dataParameter.eIsProxy()) {
- InternalEObject oldDataParameter = (InternalEObject)dataParameter;
- dataParameter = (DataParameter)eResolveProxy(oldDataParameter);
- if (dataParameter != oldDataParameter) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER, oldDataParameter, dataParameter));
- }
- }
- return dataParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DataParameter basicGetDataParameter() {
- return dataParameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetDataParameter(DataParameter newDataParameter, NotificationChain msgs) {
- DataParameter oldDataParameter = dataParameter;
- dataParameter = newDataParameter;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER, oldDataParameter, newDataParameter);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setDataParameter(DataParameter newDataParameter) {
- if (newDataParameter != dataParameter) {
- NotificationChain msgs = null;
- if (dataParameter != null)
- msgs = ((InternalEObject)dataParameter).eInverseRemove(this, SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER, DataParameter.class, msgs);
- if (newDataParameter != null)
- msgs = ((InternalEObject)newDataParameter).eInverseAdd(this, SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER, DataParameter.class, msgs);
- msgs = basicSetDataParameter(newDataParameter, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER, newDataParameter, newDataParameter));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Property getDerivationProperty() {
- if (derivationProperty != null && derivationProperty.eIsProxy()) {
- InternalEObject oldDerivationProperty = (InternalEObject)derivationProperty;
- derivationProperty = (Property)eResolveProxy(oldDerivationProperty);
- if (derivationProperty != oldDerivationProperty) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, SchedulePackage.SECONDARY_PARAMETER__DERIVATION_PROPERTY, oldDerivationProperty, derivationProperty));
- }
- }
- return derivationProperty;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Property basicGetDerivationProperty() {
- return derivationProperty;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setDerivationProperty(Property newDerivationProperty) {
- Property oldDerivationProperty = derivationProperty;
- derivationProperty = newDerivationProperty;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.SECONDARY_PARAMETER__DERIVATION_PROPERTY, oldDerivationProperty, derivationProperty));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ParameterDerivation getDerivation() {
- if (eContainerFeatureID() != SchedulePackage.SECONDARY_PARAMETER__DERIVATION) return null;
- return (ParameterDerivation)eInternalContainer();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetDerivation(ParameterDerivation newDerivation, NotificationChain msgs) {
- msgs = eBasicSetContainer((InternalEObject)newDerivation, SchedulePackage.SECONDARY_PARAMETER__DERIVATION, msgs);
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setDerivation(ParameterDerivation newDerivation) {
- if (newDerivation != eInternalContainer() || (eContainerFeatureID() != SchedulePackage.SECONDARY_PARAMETER__DERIVATION && newDerivation != null)) {
- if (EcoreUtil.isAncestor(this, newDerivation))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
- NotificationChain msgs = null;
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newDerivation != null)
- msgs = ((InternalEObject)newDerivation).eInverseAdd(this, SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER, ParameterDerivation.class, msgs);
- msgs = basicSetDerivation(newDerivation, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SchedulePackage.SECONDARY_PARAMETER__DERIVATION, newDerivation, newDerivation));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER:
- if (dataParameter != null)
- msgs = ((InternalEObject)dataParameter).eInverseRemove(this, SchedulePackage.DATA_PARAMETER__SECONDARY_PARAMETER, DataParameter.class, msgs);
- return basicSetDataParameter((DataParameter)otherEnd, msgs);
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION:
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return basicSetDerivation((ParameterDerivation)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 SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER:
- return basicSetDataParameter(null, msgs);
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION:
- return basicSetDerivation(null, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
- switch (eContainerFeatureID()) {
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION:
- return eInternalContainer().eInverseRemove(this, SchedulePackage.PARAMETER_DERIVATION__SECONDARY_PARAMETER, ParameterDerivation.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 SchedulePackage.SECONDARY_PARAMETER__IS_LOOP:
- return isIsLoop();
- case SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER:
- if (resolve) return getDataParameter();
- return basicGetDataParameter();
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION_PROPERTY:
- if (resolve) return getDerivationProperty();
- return basicGetDerivationProperty();
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION:
- return getDerivation();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case SchedulePackage.SECONDARY_PARAMETER__IS_LOOP:
- setIsLoop((Boolean)newValue);
- return;
- case SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER:
- setDataParameter((DataParameter)newValue);
- return;
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION_PROPERTY:
- setDerivationProperty((Property)newValue);
- return;
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION:
- setDerivation((ParameterDerivation)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case SchedulePackage.SECONDARY_PARAMETER__IS_LOOP:
- setIsLoop(IS_LOOP_EDEFAULT);
- return;
- case SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER:
- setDataParameter((DataParameter)null);
- return;
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION_PROPERTY:
- setDerivationProperty((Property)null);
- return;
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION:
- setDerivation((ParameterDerivation)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case SchedulePackage.SECONDARY_PARAMETER__IS_LOOP:
- return isLoop != IS_LOOP_EDEFAULT;
- case SchedulePackage.SECONDARY_PARAMETER__DATA_PARAMETER:
- return dataParameter != null;
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION_PROPERTY:
- return derivationProperty != null;
- case SchedulePackage.SECONDARY_PARAMETER__DERIVATION:
- return getDerivation() != null;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (isLoop: ");
- result.append(isLoop);
- result.append(')');
- return result.toString();
- }
-
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull ScheduleVisitor<R> visitor) {
- return visitor.visitSecondaryParameter(this);
- }
-
-} //SecondaryParameterImpl
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractExtendingScheduleVisitor.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractExtendingScheduleVisitor.java
deleted file mode 100644
index 04a3a6d8a..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractExtendingScheduleVisitor.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2016 Willink Transformations 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.pivot.schedule/model/Schedule.genmodel
- *
- * Only the copyright statement is editable.
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.util;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * An AbstractExtendingScheduleVisitor 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 AbstractExtendingScheduleVisitor<R, C>
- extends AbstractScheduleVisitor<R, C>
- implements ScheduleVisitor<R>
-{
- /**
- * Initializes me with an initial value for my result.
- *
- * @param context my initial result value
- */
- protected AbstractExtendingScheduleVisitor(C context) {
- super(context);
- }
-
- @Override
- public R visitAbstractAction(org.eclipse.qvtd.pivot.schedule.@NonNull AbstractAction object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public R visitAbstractDatum(org.eclipse.qvtd.pivot.schedule.@NonNull AbstractDatum object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public R visitClassDatum(org.eclipse.qvtd.pivot.schedule.@NonNull ClassDatum object) {
- return visitAbstractDatum(object);
- }
-
- @Override
- public R visitDataParameter(org.eclipse.qvtd.pivot.schedule.@NonNull DataParameter object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public R visitInputAction(org.eclipse.qvtd.pivot.schedule.@NonNull InputAction object) {
- return visitAbstractAction(object);
- }
-
- @Override
- public R visitMappingAction(org.eclipse.qvtd.pivot.schedule.@NonNull MappingAction object) {
- return visitAbstractAction(object);
- }
-
- @Override
- public R visitOutputAction(org.eclipse.qvtd.pivot.schedule.@NonNull OutputAction object) {
- return visitAbstractAction(object);
- }
-
- @Override
- public R visitParameterDerivation(org.eclipse.qvtd.pivot.schedule.@NonNull ParameterDerivation object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public R visitPropertyDatum(org.eclipse.qvtd.pivot.schedule.@NonNull PropertyDatum object) {
- return visitAbstractDatum(object);
- }
-
- @Override
- public R visitSchedule(org.eclipse.qvtd.pivot.schedule.@NonNull Schedule object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public R visitScheduleElement(org.eclipse.qvtd.pivot.schedule.@NonNull ScheduleElement object) {
- return visiting(object);
- }
-
- @Override
- public R visitSecondaryParameter(org.eclipse.qvtd.pivot.schedule.@NonNull SecondaryParameter object) {
- return visitScheduleElement(object);
- }
-}
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractNonNullExtendingScheduleVisitor.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractNonNullExtendingScheduleVisitor.java
deleted file mode 100644
index cfe406ef0..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractNonNullExtendingScheduleVisitor.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2016 Willink Transformations 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.pivot.schedule/model/Schedule.genmodel
- *
- * Only the copyright statement is editable.
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.util;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * An AbstractExtendingNonNullScheduleVisitor 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().
- * The return is annotated as @NonNull.
- *
- * @deprecated Explicit 'NonNull' functionality is obsolete with Java 8 @NonNull annotations.
- */
- @Deprecated
-public abstract class AbstractNonNullExtendingScheduleVisitor<R, C>
- extends AbstractScheduleVisitor<R, C>
- implements ScheduleVisitor<R>
-{
- /**
- * Initializes me with an initial value for my result.
- *
- * @param context my initial result value
- */
- protected AbstractNonNullExtendingScheduleVisitor(C context) {
- super(context);
- }
-
- /**
- * Perform a visit to the specified visitable.
- *
- * @param visitable a visitable
- * @return the non-null result of visiting it
- */
- @Override
- public @NonNull R visit(org.eclipse.qvtd.pivot.schedule.@NonNull ScheduleElement visitable) {
- R result = visitable.accept(this);
- if (result == null) {
- throw new IllegalStateException("null return from non-null " + getClass().getName());
- }
- return result;
- }
-
- @Override
- public @NonNull R visitAbstractAction(org.eclipse.qvtd.pivot.schedule.@NonNull AbstractAction object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public @NonNull R visitAbstractDatum(org.eclipse.qvtd.pivot.schedule.@NonNull AbstractDatum object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public @NonNull R visitClassDatum(org.eclipse.qvtd.pivot.schedule.@NonNull ClassDatum object) {
- return visitAbstractDatum(object);
- }
-
- @Override
- public @NonNull R visitDataParameter(org.eclipse.qvtd.pivot.schedule.@NonNull DataParameter object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public @NonNull R visitInputAction(org.eclipse.qvtd.pivot.schedule.@NonNull InputAction object) {
- return visitAbstractAction(object);
- }
-
- @Override
- public @NonNull R visitMappingAction(org.eclipse.qvtd.pivot.schedule.@NonNull MappingAction object) {
- return visitAbstractAction(object);
- }
-
- @Override
- public @NonNull R visitOutputAction(org.eclipse.qvtd.pivot.schedule.@NonNull OutputAction object) {
- return visitAbstractAction(object);
- }
-
- @Override
- public @NonNull R visitParameterDerivation(org.eclipse.qvtd.pivot.schedule.@NonNull ParameterDerivation object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public @NonNull R visitPropertyDatum(org.eclipse.qvtd.pivot.schedule.@NonNull PropertyDatum object) {
- return visitAbstractDatum(object);
- }
-
- @Override
- public @NonNull R visitSchedule(org.eclipse.qvtd.pivot.schedule.@NonNull Schedule object) {
- return visitScheduleElement(object);
- }
-
- @Override
- public @NonNull R visitScheduleElement(org.eclipse.qvtd.pivot.schedule.@NonNull ScheduleElement object) {
- return visiting(object);
- }
-
- @Override
- public @NonNull R visitSecondaryParameter(org.eclipse.qvtd.pivot.schedule.@NonNull SecondaryParameter object) {
- return visitScheduleElement(object);
- }
-
- /**
- * Return the result of visiting a visitable for which no more specific pivot type method
- * is available.
- */
- @Override
- public abstract @NonNull R visiting(org.eclipse.qvtd.pivot.schedule.@NonNull ScheduleElement visitable);
-}
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractScheduleVisitor.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractScheduleVisitor.java
deleted file mode 100644
index 4fb16cea2..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/AbstractScheduleVisitor.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2016 Willink Transformations 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.pivot.schedule/model/Schedule.genmodel
- *
- * Only the copyright statement is editable.
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.util;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-
-/*
- * An AbstractScheduleVisitor provides a default implementation of the visitor framework
- * but n implementations of the visitXXX methods..
- */
-public abstract class AbstractScheduleVisitor<R, C>
- implements ScheduleVisitor<R>
-{
- /**
- * Context for the AST visitation.
- */
- protected final C context;
-
- /**
- * Initializes me with an initial value for my result.
- *
- * @param context my initial result value
- */
- protected AbstractScheduleVisitor(C context) {
- this.context = context;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <A> @Nullable A getAdapter(@NonNull Class<A> adapter) {
- if (adapter.isAssignableFrom(getClass())) {
- return (A) this;
- }
- else {
- return null;
- }
- }
-
- /**
- * A null-safe visitation of the specified visitable.
- *
- * @param v a visitable, or <code>null</code>
- * @return <code>null</code> if the visitable is <code>null</code>;
- * otherwise, the result of visiting it
- */
- public @Nullable R safeVisit(org.eclipse.qvtd.pivot.schedule.@Nullable ScheduleElement v) {
- return (v == null) ? null : v.accept(this);
- }
-
- /**
- * Perform a visit to the specified visitable.
- *
- * @param v a visitable, or <code>null</code>
- * @return <code>null</code> if the visitable is <code>null</code>;
- * otherwise, the result of visiting it
- */
- public R visit(org.eclipse.qvtd.pivot.schedule.@NonNull ScheduleElement v) {
- return v.accept(this);
- }
-
- // public R visiting(org.eclipse.qvtd.pivot.schedule.@NonNull ScheduleElement visitable) {
- // return null;
- // }
-}
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleAdapterFactory.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleAdapterFactory.java
index c327ddcd6..df49d4c9b 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleAdapterFactory.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleAdapterFactory.java
@@ -80,34 +80,14 @@ public class ScheduleAdapterFactory extends AdapterFactoryImpl {
return createAbstractDatumAdapter();
}
@Override
- public Adapter caseAbstractAction(AbstractAction object) {
- return createAbstractActionAdapter();
- }
- @Override
public Adapter caseClassDatum(ClassDatum object) {
return createClassDatumAdapter();
}
@Override
- public Adapter caseDataParameter(DataParameter object) {
- return createDataParameterAdapter();
- }
- @Override
- public Adapter caseInputAction(InputAction object) {
- return createInputActionAdapter();
- }
- @Override
public Adapter caseMappingAction(MappingAction object) {
return createMappingActionAdapter();
}
@Override
- public Adapter caseOutputAction(OutputAction object) {
- return createOutputActionAdapter();
- }
- @Override
- public Adapter caseParameterDerivation(ParameterDerivation object) {
- return createParameterDerivationAdapter();
- }
- @Override
public Adapter casePropertyDatum(PropertyDatum object) {
return createPropertyDatumAdapter();
}
@@ -116,14 +96,6 @@ public class ScheduleAdapterFactory extends AdapterFactoryImpl {
return createScheduleAdapter();
}
@Override
- public Adapter caseScheduleElement(ScheduleElement object) {
- return createScheduleElementAdapter();
- }
- @Override
- public Adapter caseSecondaryParameter(SecondaryParameter object) {
- return createSecondaryParameterAdapter();
- }
- @Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
}
@@ -158,20 +130,6 @@ public class ScheduleAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.AbstractAction <em>Abstract Action</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.pivot.schedule.AbstractAction
- * @generated
- */
- public Adapter createAbstractActionAdapter() {
- return null;
- }
-
- /**
* Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.ClassDatum <em>Class Datum</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
@@ -186,34 +144,6 @@ public class ScheduleAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.DataParameter <em>Data Parameter</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.pivot.schedule.DataParameter
- * @generated
- */
- public Adapter createDataParameterAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.InputAction <em>Input Action</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.pivot.schedule.InputAction
- * @generated
- */
- public Adapter createInputActionAdapter() {
- return null;
- }
-
- /**
* Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.MappingAction <em>Mapping Action</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
@@ -228,34 +158,6 @@ public class ScheduleAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.OutputAction <em>Output Action</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.pivot.schedule.OutputAction
- * @generated
- */
- public Adapter createOutputActionAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.ParameterDerivation <em>Parameter Derivation</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.pivot.schedule.ParameterDerivation
- * @generated
- */
- public Adapter createParameterDerivationAdapter() {
- return null;
- }
-
- /**
* Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.PropertyDatum <em>Property Datum</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
@@ -284,34 +186,6 @@ public class ScheduleAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.ScheduleElement <em>Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.qvtd.pivot.schedule.ScheduleElement
- * @generated
- */
- public Adapter createScheduleElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.pivot.schedule.SecondaryParameter <em>Secondary Parameter</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.pivot.schedule.SecondaryParameter
- * @generated
- */
- public Adapter createSecondaryParameterAdapter() {
- return null;
- }
-
- /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleSwitch.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleSwitch.java
index 78c8e5613..569321438 100644
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleSwitch.java
+++ b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleSwitch.java
@@ -78,14 +78,6 @@ public class ScheduleSwitch<@Nullable T> extends Switch<T> {
case SchedulePackage.ABSTRACT_DATUM: {
AbstractDatum abstractDatum = (AbstractDatum)theEObject;
T result = caseAbstractDatum(abstractDatum);
- if (result == null) result = caseScheduleElement(abstractDatum);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SchedulePackage.ABSTRACT_ACTION: {
- AbstractAction abstractAction = (AbstractAction)theEObject;
- T result = caseAbstractAction(abstractAction);
- if (result == null) result = caseScheduleElement(abstractAction);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -93,45 +85,12 @@ public class ScheduleSwitch<@Nullable T> extends Switch<T> {
ClassDatum classDatum = (ClassDatum)theEObject;
T result = caseClassDatum(classDatum);
if (result == null) result = caseAbstractDatum(classDatum);
- if (result == null) result = caseScheduleElement(classDatum);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SchedulePackage.DATA_PARAMETER: {
- DataParameter dataParameter = (DataParameter)theEObject;
- T result = caseDataParameter(dataParameter);
- if (result == null) result = caseScheduleElement(dataParameter);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SchedulePackage.INPUT_ACTION: {
- InputAction inputAction = (InputAction)theEObject;
- T result = caseInputAction(inputAction);
- if (result == null) result = caseAbstractAction(inputAction);
- if (result == null) result = caseScheduleElement(inputAction);
if (result == null) result = defaultCase(theEObject);
return result;
}
case SchedulePackage.MAPPING_ACTION: {
MappingAction mappingAction = (MappingAction)theEObject;
T result = caseMappingAction(mappingAction);
- if (result == null) result = caseAbstractAction(mappingAction);
- if (result == null) result = caseScheduleElement(mappingAction);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SchedulePackage.OUTPUT_ACTION: {
- OutputAction outputAction = (OutputAction)theEObject;
- T result = caseOutputAction(outputAction);
- if (result == null) result = caseAbstractAction(outputAction);
- if (result == null) result = caseScheduleElement(outputAction);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SchedulePackage.PARAMETER_DERIVATION: {
- ParameterDerivation parameterDerivation = (ParameterDerivation)theEObject;
- T result = caseParameterDerivation(parameterDerivation);
- if (result == null) result = caseScheduleElement(parameterDerivation);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -139,27 +98,12 @@ public class ScheduleSwitch<@Nullable T> extends Switch<T> {
PropertyDatum propertyDatum = (PropertyDatum)theEObject;
T result = casePropertyDatum(propertyDatum);
if (result == null) result = caseAbstractDatum(propertyDatum);
- if (result == null) result = caseScheduleElement(propertyDatum);
if (result == null) result = defaultCase(theEObject);
return result;
}
case SchedulePackage.SCHEDULE: {
Schedule schedule = (Schedule)theEObject;
T result = caseSchedule(schedule);
- if (result == null) result = caseScheduleElement(schedule);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SchedulePackage.SCHEDULE_ELEMENT: {
- ScheduleElement scheduleElement = (ScheduleElement)theEObject;
- T result = caseScheduleElement(scheduleElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SchedulePackage.SECONDARY_PARAMETER: {
- SecondaryParameter secondaryParameter = (SecondaryParameter)theEObject;
- T result = caseSecondaryParameter(secondaryParameter);
- if (result == null) result = caseScheduleElement(secondaryParameter);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -183,21 +127,6 @@ public class ScheduleSwitch<@Nullable T> extends Switch<T> {
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Abstract Action</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 Action</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseAbstractAction(AbstractAction object) {
- return null;
- }
-
- /**
* Returns the result of interpreting the object as an instance of '<em>Class Datum</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
@@ -213,36 +142,6 @@ public class ScheduleSwitch<@Nullable T> extends Switch<T> {
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Data Parameter</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>Data Parameter</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseDataParameter(DataParameter object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Input Action</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>Input Action</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseInputAction(InputAction object) {
- return null;
- }
-
- /**
* Returns the result of interpreting the object as an instance of '<em>Mapping Action</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
@@ -258,36 +157,6 @@ public class ScheduleSwitch<@Nullable T> extends Switch<T> {
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Output Action</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>Output Action</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseOutputAction(OutputAction object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Parameter Derivation</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>Parameter Derivation</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseParameterDerivation(ParameterDerivation object) {
- return null;
- }
-
- /**
* Returns the result of interpreting the object as an instance of '<em>Property Datum</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
@@ -318,36 +187,6 @@ public class ScheduleSwitch<@Nullable T> extends Switch<T> {
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseScheduleElement(ScheduleElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Secondary Parameter</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>Secondary Parameter</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseSecondaryParameter(SecondaryParameter object) {
- return null;
- }
-
- /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleVisitor.java b/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleVisitor.java
deleted file mode 100644
index 5d8ec1726..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/emf-gen/org/eclipse/qvtd/pivot/schedule/util/ScheduleVisitor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * <copyright>
- * Copyright (c) 2015, 2016 Horacio Hoyos 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:
- * Horacio Hoyos - Initial API and implementation
- * </copyright>
- *
- * This code is auto-generated
- * from: org.eclipse.qvtd.pivot.schedule/model/Schedule.genmodel
- *
- * Only the copyright statement is editable.
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.util;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- */
-public interface ScheduleVisitor<R>
-{
- /**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- *
- * @param adapter the adapter class to look up
- * @return an object of the given class,
- * or <code>null</code> if this object does not
- * have an adapter for the given class
- */
- @Nullable <A> A getAdapter(@NonNull Class<A> adapter);
-
- /**
- * Return the result of visiting a visitable for which no more specific pivot type method
- * is available.
- */
- R visiting(org.eclipse.qvtd.pivot.schedule.@NonNull ScheduleElement visitable);
-
- R visitAbstractAction(org.eclipse.qvtd.pivot.schedule.@NonNull AbstractAction object);
- R visitAbstractDatum(org.eclipse.qvtd.pivot.schedule.@NonNull AbstractDatum object);
- R visitClassDatum(org.eclipse.qvtd.pivot.schedule.@NonNull ClassDatum object);
- R visitDataParameter(org.eclipse.qvtd.pivot.schedule.@NonNull DataParameter object);
- R visitInputAction(org.eclipse.qvtd.pivot.schedule.@NonNull InputAction object);
- R visitMappingAction(org.eclipse.qvtd.pivot.schedule.@NonNull MappingAction object);
- R visitOutputAction(org.eclipse.qvtd.pivot.schedule.@NonNull OutputAction object);
- R visitParameterDerivation(org.eclipse.qvtd.pivot.schedule.@NonNull ParameterDerivation object);
- R visitPropertyDatum(org.eclipse.qvtd.pivot.schedule.@NonNull PropertyDatum object);
- R visitSchedule(org.eclipse.qvtd.pivot.schedule.@NonNull Schedule object);
- R visitScheduleElement(org.eclipse.qvtd.pivot.schedule.@NonNull ScheduleElement object);
- R visitSecondaryParameter(org.eclipse.qvtd.pivot.schedule.@NonNull SecondaryParameter object);
-}
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/DependencyUtil.java b/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/DependencyUtil.java
deleted file mode 100644
index bb6ae4423..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/DependencyUtil.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2016 Willink Transformations 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
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.utilities;
-
-import java.util.ArrayList;
-import java.util.Deque;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.common.util.TreeIterator;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.ocl.pivot.utilities.ClassUtil;
-import org.eclipse.qvtd.pivot.schedule.AbstractAction;
-import org.eclipse.qvtd.pivot.schedule.AbstractDatum;
-import org.eclipse.qvtd.pivot.schedule.Schedule;
-
-public class DependencyUtil
-{
- public static class NaturalOrderer
- {
- private final @NonNull Schedule schedule;
-
- /**
- * Set of AbstractDatums that have been fully-produced (all producing actions have been ordered).
- */
- private final @NonNull Set<@NonNull AbstractDatum> fullyProducedDatums = new HashSet<@NonNull AbstractDatum>();
-
- /**
- * Set of AbstractDatums that have been partially-produced (at least one producing actions has been ordered).
- */
- private final @NonNull Set<@NonNull AbstractDatum> partiallyProducedDatums = new HashSet<@NonNull AbstractDatum>();
-
- /**
- * Queue of AbstractDatums that have been fully produced but whose requirers have yet to be ordered.
- */
- private final @NonNull Deque<@NonNull AbstractDatum> fullyReadyDatums = new LinkedList<@NonNull AbstractDatum>();
-
- /**
- * Set of MappingActions whose order has been determined.
- */
- private final @NonNull Set<@NonNull AbstractAction> orderedActions = new HashSet<@NonNull AbstractAction>();
- private final @NonNull List<@NonNull AbstractAction> orderedActionList = new ArrayList<@NonNull AbstractAction>();
-
- public NaturalOrderer(@NonNull Schedule schedule) {
- this.schedule = schedule;
- }
-
- /**
- * Assign the next ordered index to abstractAction and update the produced datums accordingly.
- */
- private void addOrderedAction(@NonNull AbstractAction abstractAction) {
-// System.out.println("Add ordered " + abstractAction);
- assert !orderedActions.contains(abstractAction) : abstractAction.getClass().getSimpleName() + " " + abstractAction + " has already been ordered";
- orderedActions.add(abstractAction);
- orderedActionList.add(abstractAction);
- for (@NonNull AbstractDatum abstractDatum : ClassUtil.nullFree(abstractAction.getProductions())) {
- partiallyProducedDatums.add(abstractDatum);
-// System.out.println("Partially produced " + abstractDatum);
- boolean fullyProduced = true;
- for (@NonNull AbstractAction producingAction : ClassUtil.nullFree(abstractDatum.getProducedBy())) {
- if (!orderedActions.contains(producingAction)) {
- fullyProduced = false;
- break;
- }
- }
- if (fullyProduced) {
- boolean isNew = fullyProducedDatums.add(abstractDatum);
-// System.out.println("Fully produced " + abstractDatum);
- assert isNew : abstractDatum.getClass().getSimpleName() + " " + abstractDatum + " has already been fully produced";
- fullyReadyDatums.add(abstractDatum);
-// System.out.println("Fully ready " + abstractDatum);
- }
- }
- }
-
- /**
- * Assign an ordering to all the actions so that in so far as possible no action is ordered after an
- * action that produces one of the requisite inputs. Violations occur for loops.
- *
- * @return null if ok, or a diagnostic message describing the failure to assign an ordering.
- */
- public @Nullable String assignNaturalOrdering() {
-
- //
- // Check that ordering has not yet been attempted
- //
- for (AbstractAction abstractAction : schedule.getActions()) {
- assert abstractAction.getOrder() == 0 : abstractAction.getClass().getSimpleName() + " " + abstractAction + " has been pre-ordered";
- }
- //
- computeOrdering();
- for (int i = 0; i < orderedActionList.size(); i++) {
- orderedActionList.get(i).setOrder(i+1);
- }
- //
- // Check that ordering happened.
- //
- return diagnoseOrderingFailure();
- }
-
- /**
- * Return the actions as an ordered list, or null if an ordering could not be established.
- */
- public @Nullable List<@NonNull AbstractAction> computeOrdering() {
- /**
- * Queue of AbstractDatums that have been partially produced but whose requirers have yet to be ordered.
- */
- Deque<@NonNull AbstractAction> partiallyReadyActions = new LinkedList<@NonNull AbstractAction>();
- /**
- * Queue of AbstractDatums that have been partially produced but whose requirers have yet to be ordered.
- */
- Deque<@NonNull AbstractAction> notReadyActions = new LinkedList<@NonNull AbstractAction>();
- //
- // Assign all un-produced AbstractDatum (inputs) to the readyDatums Set.
- //
- // FIXME eAllContents copes with arbitrary depth. Is it more than CallDatum contains PropertyDatum?
- for (TreeIterator<EObject> tit = schedule.eAllContents(); tit.hasNext(); ) {
- EObject eObject = tit.next();
- if (eObject instanceof AbstractDatum) {
-// System.out.println("For " + eObject);
- AbstractDatum abstractDatum = (AbstractDatum) eObject;
- if (abstractDatum.getProducedBy().size() == 0) {
- fullyProducedDatums.add(abstractDatum);
-// System.out.println("Fully produced " + eObject);
- partiallyProducedDatums.add(abstractDatum);
-// System.out.println("Partially produced " + eObject);
- if (!fullyReadyDatums.contains(abstractDatum)) {
- fullyReadyDatums.add(abstractDatum);
-// System.out.println("Fully ready " + eObject);
- }
- }
- }
- else {
- tit.prune();
- }
- }
- //
- // Service the fully ready datum queue when not empty falling back to partially ready action queue.
- // Each requiring action of a full ready datum is ordered if all its requisites have already been fully produced,
- // otherwise the requiring action is placed in the partially ready action queue.
- // Partially ready actions are also ordered, but may require run-time support to resolve their partially ready requisites.
- //
- for (boolean hasFullyReadyDatum; (hasFullyReadyDatum = !fullyReadyDatums.isEmpty()) || !partiallyReadyActions.isEmpty() || !notReadyActions.isEmpty(); ) {
- if (hasFullyReadyDatum) {
- AbstractDatum readyDatum = fullyReadyDatums.pop();
- for (@NonNull AbstractAction candidateAction : ClassUtil.nullFree(readyDatum.getRequiredBy())) {
-// System.out.println("candidateAction " + candidateAction);
- if (!orderedActions.contains(candidateAction)) {
- boolean allRequisitesFullyProduced = true;
- boolean allRequisitesPartiallyProduced = true;
- for (@NonNull AbstractDatum abstractDatum : ClassUtil.nullFree(candidateAction.getRequisites())) {
- if (!partiallyProducedDatums.contains(abstractDatum)) {
- allRequisitesFullyProduced = false;
- allRequisitesPartiallyProduced = false;
-// System.out.println(" needs1 " + abstractDatum);
- break;
- }
- else if (!fullyProducedDatums.contains(abstractDatum)) {
- allRequisitesFullyProduced = false;
-// System.out.println(" needs2 " + abstractDatum);
- }
- }
- if (allRequisitesFullyProduced) {
- addOrderedAction(candidateAction);
- }
- else if (allRequisitesPartiallyProduced) {
- if (!partiallyReadyActions.contains(candidateAction)) {
- partiallyReadyActions.add(candidateAction);
-// System.out.println("Partially ready push " + candidateAction);
- }
- }
- else { // Some requisite hasn't been produced at all.
- if (!notReadyActions.contains(candidateAction)) {
- notReadyActions.add(candidateAction);
-// System.out.println("Not-ready push " + candidateAction);
- }
- }
- }
- }
- }
- else if (!partiallyReadyActions.isEmpty()) {
- AbstractAction partiallyReadyAction = partiallyReadyActions.pop();
-// System.out.println("Partially ready pop " + partiallyReadyAction);
- if (!orderedActions.contains(partiallyReadyAction)) { // Might have been fully ordered while queued.
- addOrderedAction(partiallyReadyAction);
- }
- }
- else {
- AbstractAction notReadyAction = notReadyActions.pop();
-// System.out.println("Not-ready pop " + notReadyAction);
- if (!orderedActions.contains(notReadyAction)) { // Might have been fully ordered while queued.
- addOrderedAction(notReadyAction);
- }
- }
- }
- //
- if (schedule.getActions().size() == orderedActionList.size()) {
- return orderedActionList;
- }
- else {
- return null;
- }
- }
-
- /**
- * Return an explanation of the failure to find an order, or null if there was no failure.
- * @return
- */
- public @Nullable String diagnoseOrderingFailure() {
- if (schedule.getActions().size() == orderedActionList.size()) {
- return null;
- }
- StringBuilder s = new StringBuilder("Failed to assign an ordering:");
- for (AbstractAction abstractAction : schedule.getActions()) {
- int order = abstractAction.getOrder();
- if (order == 0) {
- s.append("\n\t" + abstractAction.getClass().getSimpleName() + " " + abstractAction + " has not been ordered");
- }
- }
- return s.toString();
- }
- }
-
- /**
- * Assign the natural ordering to the dependency graph. Loops in the dependencies
- * are broken by keeping track of previously ordered mappings.
- * Although the nested schedule is not affected by this order, it is needed if we want a flat
- * schedule, or if the nested scheduling fails and we need to fall back to the flat one.
- *
- * @return null if ok, or a diagnostic message describing the failure to assign an ordering.
- */
- public static @Nullable String assignNaturalOrdering(@NonNull Schedule schedule) {
- NaturalOrderer naturalOrderer = new NaturalOrderer(schedule);
- return naturalOrderer.assignNaturalOrdering();
- }
-}
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/MultiValueKey.java b/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/MultiValueKey.java
deleted file mode 100644
index f01d4e30a..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/MultiValueKey.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.utilities;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-public interface MultiValueKey<K, T> {
-
- @NonNull
- K get(int index);
-
- @NonNull
- K[] get();
-
- List<T> getKeyIds();
-
- int size();
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/MutiNamedElementKeyImpl.java b/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/MutiNamedElementKeyImpl.java
deleted file mode 100644
index 84230f982..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/MutiNamedElementKeyImpl.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 Willink Transformations 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
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.utilities;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.ocl.pivot.NamedElement;
-
-/**
- * DomainParameterTypesIterable provides a hashable list of operation
- * parameters suitable for use when indexing operation overloads.
- */
-public class MutiNamedElementKeyImpl implements MultiValueKey<NamedElement, String>
-{
- public static final @NonNull MultiValueKey<?, ?> EMPTY_LIST = new MutiNamedElementKeyImpl();
-
- private final @NonNull List<String> valueIds = new ArrayList<>();
- private final @NonNull NamedElement @NonNull [] values;
-
- private int hashCode;
-
- public MutiNamedElementKeyImpl(@NonNull NamedElement @NonNull ... values) {
- //this.parametersId = IdManager.getParametersId(parameterTypes);
- this.values = values;
- for (@NonNull NamedElement v : values) {
- valueIds.add(v.getName());
- }
- hashCode = valueIds.hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (!(obj instanceof MutiNamedElementKeyImpl)) {
- return false;
- }
- MutiNamedElementKeyImpl that = (MutiNamedElementKeyImpl)obj;
- if (hashCode() != that.hashCode()) {
- return false;
- }
- NamedElement[] thoseValues = that.values;
- if (values.length != thoseValues.length) {
- return false;
- }
- for (int i = 0; i < values.length; i++) {
- if (!values[i].equals(thoseValues[i])) {
- return false;
- }
- }
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.qvtd.pivot.schedule.utilities.MultiValueKey#get(int)
- */
- @Override
- public @NonNull NamedElement get(int index) {
- NamedElement element = values[index];
- assert element != null;
- return element;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.qvtd.pivot.schedule.utilities.MultiValueKey#get()
- */
- @Override
- public @NonNull NamedElement[] get() {
- return values;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.qvtd.pivot.schedule.utilities.MultiValueKey#getParameters()
- */
- @Override
- public @NonNull List<String> getKeyIds() {
- return valueIds;
- }
-
- @Override
- public int hashCode() {
- return hashCode;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.qvtd.pivot.schedule.utilities.MultiValueKey#size()
- */
- @Override
- public int size() {
- return values.length;
- }
-
- @Override
- public String toString() {
- StringBuilder s = new StringBuilder();
- s.append('(');
- Iterator<String> it = valueIds.iterator();
- String val;
- while (it.hasNext()) {
- val = it.next();
- s.append(val);
- if (it.hasNext())
- s.append(",");
- }
- s.append(')');
- return s.toString();
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/ScheduleToCallGraph.java b/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/ScheduleToCallGraph.java
deleted file mode 100644
index 0128fa899..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/ScheduleToCallGraph.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.utilities;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.ocl.pivot.NamedElement;
-import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphBuilder;
-import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphMLBuilder.ArrowType;
-import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphMLBuilder.LineType;
-import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphMLBuilder.ShapeType;
-import org.eclipse.qvtd.pivot.qvtcore.Mapping;
-import org.eclipse.qvtd.pivot.schedule.AbstractAction;
-import org.eclipse.qvtd.pivot.schedule.MappingAction;
-import org.eclipse.qvtd.pivot.schedule.ParameterDerivation;
-import org.eclipse.qvtd.pivot.schedule.Schedule;
-import org.eclipse.qvtd.pivot.schedule.ScheduleElement;
-import org.eclipse.qvtd.pivot.schedule.util.AbstractExtendingScheduleVisitor;
-
-public class ScheduleToCallGraph extends AbstractExtendingScheduleVisitor<String, GraphBuilder> {
-
- private final List<@NonNull String> SOL_BASE = Arrays.asList("#fdf6e3", "#eee8d5", "#93a1a1", "#839496", "#657b83", "#586e75", "#073642", "#002b36");
- // private final int SOL_BACKROUND = 0;
- private final int SOL_BACKROUND_HL = 1;
- // private final int SOL_SECONDARY = 2;
- // private final int SOL_NONE = 3;
- private final int SOL_PRIMARY = 4;
- // private final int SOL_OPTIONAL = 5;
-
- // @NonNull private final String SOL_YELLOW = "#b58900";
- @NonNull private final String SOL_ORANGE = "#cb4b16";
- // @NonNull private final String SOL_RED = "#dc322f";
- // @NonNull private final String SOL_MAGENTA = "#d33682";
- // @NonNull private final String SOL_VIOLET = "#6c71c4";
- // @NonNull private final String SOL_BLUE = "#268bd2";
- // @NonNull private final String SOL_CYAN = "#2aa198";
- // @NonNull private final String SOL_GREEN = "#859900";
-
- @NonNull private final String NODE_FILL_COLOR;
-
- @NonNull private final String MAPPING_ACTION_COLOR = SOL_ORANGE;
- @SuppressWarnings("null")
- @NonNull private final String MAPPING_ACTION_SHAPE = ShapeType.hexagon.name();
- // @NonNull private final String LOOP_SHAPE = ShapeType.rectangle.name();
-
- // @NonNull private final String SUPER_EDGE_COLOR;
- @NonNull private final String PRODUCTION_EDGE_COLOR;
- // @NonNull private final String REQUISITE_EDGE_COLOR = SOL_GREEN;
- @SuppressWarnings("null")
- // @NonNull private final String REQUISITE_MULTIPLE_EDGE_COLOR = SOL_RED;
- @NonNull private final String DEPENDENCY_ARROW_END = ArrowType.standard.name();
- // @NonNull private final String DEPENDENCY_LOOP_ARROW_END = ArrowType.transparent_circle.name();
- // @NonNull private final String SUPER_ARROW_END = ArrowType.delta.name();
-
-
- private Map<MutiNamedElementKeyImpl, Integer> nodeOrder = new HashMap<MutiNamedElementKeyImpl, Integer>();
- //private Map<CoreDomain, String> domainColor = new HashMap<CoreDomain, String>();
- private List<String> outputDirection;
- private boolean onlyClassDatums;
- // private int loopNodeId;
-
- public ScheduleToCallGraph(@NonNull GraphBuilder context) {
- this(context, false);
- }
-
- public ScheduleToCallGraph(@NonNull GraphBuilder context, boolean darkTheme) {
- super(context);
- if (darkTheme) {
- Collections.reverse(SOL_BASE);
- }
- NODE_FILL_COLOR = SOL_BASE.get(SOL_BACKROUND_HL);
- // SUPER_EDGE_COLOR = SOL_BASE.get(SOL_SECONDARY);
- PRODUCTION_EDGE_COLOR = SOL_BASE.get(SOL_PRIMARY);
- }
-
- protected @NonNull String getMappingLabel(@NonNull MappingAction object) {
- String id = object.getMapping().getName() + "\n" + "(" + object.getOrder() + ")";
- return id;
- }
-
- /**
- * @param eo
- * @return
- */
- private Integer getNodeOrder(@NonNull NamedElement... elements) {
- MutiNamedElementKeyImpl key = new MutiNamedElementKeyImpl(elements);
- Integer order;
- if (nodeOrder.containsKey(key)) {
- order = nodeOrder.get(key);
- } else {
- order = nodeOrder.size()+1;
- nodeOrder.put(key, order);
- }
- return order;
- }
-
- public List<String> getOutputDirection() {
- if (this.outputDirection == null)
- this.outputDirection = new ArrayList<String>();
- return this.outputDirection;
- }
-
- // private String getPropertyId(PropertyDatum object) {
- // String id = //object.getDomain().getName() + "\n" +
- // object.getClassDatum().getType().getName() + "\n." + object.getProperty().getName();
- // return id;
- // }
-
- // private boolean nodeExists(@NonNull NamedElement... elements) {
- // MutiNamedElementKeyImpl key = new MutiNamedElementKeyImpl(elements);
- // return nodeOrder.containsKey(key);
- // }
-
- @Override
- @Nullable
- public String visiting(@NonNull ScheduleElement visitable) {
- throw new IllegalArgumentException("Unsupported " + visitable.eClass().getName() + " for " + getClass().getSimpleName());
- }
-
- @Override
- public @Nullable String visitMappingAction(@NonNull MappingAction object) {
-
- String mappingLabel;
- @NonNull String order;
- Mapping mapping = object.getMapping();
- if (mapping != null) {
- mappingLabel = getMappingLabel(object);
- order = String.valueOf(getNodeOrder(mapping));
- }
- else {
- mappingLabel = "root";
- order = "0";
- }
- context.appendNode(order, MAPPING_ACTION_SHAPE, NODE_FILL_COLOR, mappingLabel, MAPPING_ACTION_COLOR);
- // String lineType = LineType.line.name();
- int childCount = 0;
- for (AbstractAction mc : object.getChildren()) {
- @SuppressWarnings("unused")
- boolean allLoop = false;
- StringBuilder loopVars = new StringBuilder();
- String sep = "";
- for (ParameterDerivation pd : mc.getParameterDerivations()) {
- // Add nodes for loops
- if (pd.getPrimaryParameter() == null) {
- allLoop = true;
- loopVars.append(pd.getSecondaryParameter().getDataParameter().getVariable().getName());
- break;
- } else {
- //String pdOrder = String.valueOf(loopNodeId++);
- //context.appendNode(pdOrder, LOOP_SHAPE, NODE_FILL_COLOR, mappingLabel, MAPPING_ACTION_COLOR);
- loopVars.append(sep);
- loopVars.append(pd.getSecondaryParameter().getDataParameter().getVariable().getName());
- sep = ",";
- }
- }
- String targetId = null;
- Mapping childMapping = ((MappingAction) mc).getMapping();
- assert childMapping != null;
- targetId = String.valueOf(getNodeOrder(childMapping));
- assert targetId != null;
- context.appendEdge(order,
- targetId,
- PRODUCTION_EDGE_COLOR,
- String.valueOf(LineType.line.name()),
- String.valueOf(ArrowType.none.name()),
- DEPENDENCY_ARROW_END,
- loopVars.toString() + "(" + String.valueOf(childCount++) + ")");
- }
- return null;
- }
-
- @Override
- public @Nullable String visitSchedule(@NonNull Schedule object) {
-
- context.open();
- // First the datums so the nodes exist
- // loopNodeId = object.getActions().size()+1;
- for (AbstractAction aa : object.getActions()) {
- if (aa instanceof MappingAction) {
- MappingAction ma = (MappingAction) aa;
- //if (ma.getMapping() != null)
- visitMappingAction(ma);
- }
- }
- context.close();
- return null;
- }
-
- public boolean isOnlyClassDatums() {
- return onlyClassDatums;
- }
-
- public void setOnlyClassDatums(boolean onlyClassDatums) {
- this.onlyClassDatums = onlyClassDatums;
- }
-
-}
diff --git a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/ScheduleToDependencyGraphVisitor.java b/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/ScheduleToDependencyGraphVisitor.java
deleted file mode 100644
index 3046e1ed3..000000000
--- a/plugins/org.eclipse.qvtd.pivot.schedule/src/org/eclipse/qvtd/pivot/schedule/utilities/ScheduleToDependencyGraphVisitor.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Willink Transformations 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
- *******************************************************************************/
-package org.eclipse.qvtd.pivot.schedule.utilities;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.ocl.pivot.NamedElement;
-import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
-import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphBuilder;
-import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphMLBuilder.ArrowType;
-import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphMLBuilder.LineType;
-import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphMLBuilder.ShapeType;
-import org.eclipse.qvtd.pivot.qvtcore.Mapping;
-import org.eclipse.qvtd.pivot.schedule.AbstractAction;
-import org.eclipse.qvtd.pivot.schedule.AbstractDatum;
-import org.eclipse.qvtd.pivot.schedule.ClassDatum;
-import org.eclipse.qvtd.pivot.schedule.DataParameter;
-import org.eclipse.qvtd.pivot.schedule.MappingAction;
-import org.eclipse.qvtd.pivot.schedule.PropertyDatum;
-import org.eclipse.qvtd.pivot.schedule.Schedule;
-import org.eclipse.qvtd.pivot.schedule.ScheduleElement;
-import org.eclipse.qvtd.pivot.schedule.util.AbstractExtendingScheduleVisitor;
-
-public class ScheduleToDependencyGraphVisitor extends AbstractExtendingScheduleVisitor<String, GraphBuilder> {
-
- private final List<@NonNull String> SOL_BASE = Arrays.asList("#fdf6e3", "#eee8d5", "#93a1a1", "#839496", "#657b83", "#586e75", "#073642", "#002b36");
- // private final int SOL_BACKROUND = 0;
- private final int SOL_BACKROUND_HL = 1;
- private final int SOL_SECONDARY = 2;
- // private final int SOL_NONE = 3;
- private final int SOL_PRIMARY = 4;
- private final int SOL_OPTIONAL = 5;
-
- // @NonNull private final String SOL_YELLOW = "#b58900";
- @NonNull private final String SOL_ORANGE = "#cb4b16";
- @NonNull private final String SOL_RED = "#dc322f";
- @NonNull private final String SOL_MAGENTA = "#d33682";
- @NonNull private final String SOL_VIOLET = "#6c71c4";
- @NonNull private final String SOL_BLUE = "#268bd2";
- // @NonNull private final String SOL_CYAN = "#2aa198";
- @NonNull private final String SOL_GREEN = "#859900";
-
- @NonNull private final String NODE_FILL_COLOR;
-
- @NonNull private final String MAPPING_ACTION_COLOR = SOL_ORANGE;
- @NonNull private final String MAPPING_ACTION_SHAPE = String.valueOf(ShapeType.hexagon.name());
-
- @NonNull private final String DATUM_INPUT_COLOR = SOL_BLUE;
- @NonNull private final String DATUM_MIDDLE_COLOR = SOL_VIOLET;
- @NonNull private final String DATUM_TARGET_COLOR = SOL_MAGENTA;
- @NonNull private final String DATUM_SHAPE = String.valueOf(ShapeType.rectangle.name());
-
- @NonNull private final String SUPER_EDGE_COLOR;
- @NonNull private final String PRODUCTION_EDGE_COLOR;
- @NonNull private final String REQUISITE_EDGE_COLOR = SOL_GREEN;
- @NonNull private final String REQUISITE_MULTIPLE_EDGE_COLOR = SOL_RED;
- @NonNull private final String DEPENDENCY_ARROW_END = String.valueOf(ArrowType.standard.name());
- // @NonNull private final String DEPENDENCY_LOOP_ARROW_END = ArrowType.transparent_circle.name();
- @NonNull private final String SUPER_ARROW_END = String.valueOf(ArrowType.delta.name());
-
-
- private Map<MutiNamedElementKeyImpl, Integer> nodeOrder = new HashMap<MutiNamedElementKeyImpl, Integer>();
- //private Map<CoreDomain, String> domainColor = new HashMap<CoreDomain, String>();
- private List<String> outputDirection;
- private String middleDirection;
- private String inputDirection;
- private boolean onlyClassDatums;
-
- public ScheduleToDependencyGraphVisitor(GraphBuilder context) {
- this(context, false);
- }
-
- public ScheduleToDependencyGraphVisitor(GraphBuilder context, boolean darkTheme) {
- super(context);
- if (darkTheme) {
- Collections.reverse(SOL_BASE);
- }
- NODE_FILL_COLOR = SOL_BASE.get(SOL_BACKROUND_HL);
- SUPER_EDGE_COLOR = SOL_BASE.get(SOL_SECONDARY);
- PRODUCTION_EDGE_COLOR = SOL_BASE.get(SOL_PRIMARY);
- }
-
- private String getClassId(ClassDatum object) {
- String id = //object.getDomain().getName() + "\n" +
- object.getType().getName();
- return id;
- }
-
- private @NonNull String getDomainColor(TypedModel domain) {
- if (domain != null) {
- if (domain.getName().equals(this.inputDirection)) {
- return DATUM_INPUT_COLOR;
- } else if (domain.getName().equals(this.middleDirection)) {
- return DATUM_MIDDLE_COLOR;
- } else if (this.outputDirection.contains(domain.getName())) {
- return DATUM_TARGET_COLOR;
- }
- }
- return SOL_BASE.get(SOL_OPTIONAL);
- }
-
- protected @NonNull String getMappingLabel(@NonNull MappingAction object) {
- String id = object.getMapping().getName() + "\n" + "(" + object.getOrder() + ")";
- return id;
- }
-
- /**
- * @param eo
- * @return
- */
- private Integer getNodeOrder(@NonNull NamedElement... elements) {
- MutiNamedElementKeyImpl key = new MutiNamedElementKeyImpl(elements);
- Integer order = 0;
- if (nodeOrder.containsKey(key)) {
- order = nodeOrder.get(key);
- } else {
- order = nodeOrder.size();
- nodeOrder.put(key, order);
- }
- return order;
- }
-
- public List<String> getOutputDirection() {
- if (this.outputDirection == null)
- this.outputDirection = new ArrayList<String>();
- return this.outputDirection;
- }
-
- private String getPropertyId(PropertyDatum object) {
- String id = //object.getDomain().getName() + "\n" +
- object.getClassDatum().getType().getName() + "\n." + object.getProperty().getName();
- return id;
- }
-
- private boolean nodeExists(@NonNull NamedElement... elements) {
- MutiNamedElementKeyImpl key = new MutiNamedElementKeyImpl(elements);
- return nodeOrder.containsKey(key);
- }
-
- public void setInputDirection(String name) {
- this.inputDirection = name;
- }
-
- public void setMiddleDirection(String name) {
- this.middleDirection = name;
- }
-
- @Override
- public @Nullable String visitClassDatum(@NonNull ClassDatum object) {
- String datumLabel = getClassId(object);
- @NonNull String order = String.valueOf(getNodeOrder(object.getType(), object.getTypedModel()));
- context.appendNode(order, DATUM_SHAPE, NODE_FILL_COLOR, datumLabel, getDomainColor(object.getTypedModel()));
- for (PropertyDatum pd : object.getPropertyDatums()) {
- if (pd != null) {
- visitPropertyDatum(pd);
- }
- }
- for (AbstractDatum sd : object.getSuper()) {
- if (!nodeExists(((ClassDatum) sd).getType(), sd.getTypedModel()))
- visitClassDatum((ClassDatum) sd);
- String sdOrder = String.valueOf(getNodeOrder(((ClassDatum) sd).getType(), sd.getTypedModel()));
- context.appendEdge(order,
- sdOrder,
- SUPER_EDGE_COLOR,
- String.valueOf(LineType.dotted.name()),
- String.valueOf(ArrowType.none.name()),
- SUPER_ARROW_END);
- }
- return null;
- }
-
- @Override
- @Nullable
- public String visiting(@NonNull ScheduleElement visitable) {
- throw new IllegalArgumentException("Unsupported " + visitable.eClass().getName() + " for " + getClass().getSimpleName());
- }
-
- @Override
- public @Nullable String visitMappingAction(@NonNull MappingAction object) {
-
- String mappingLabel = getMappingLabel(object);
- Mapping mapping = object.getMapping();
- assert mapping != null;
- String order = String.valueOf(getNodeOrder(mapping));
- context.appendNode(order, MAPPING_ACTION_SHAPE, NODE_FILL_COLOR, mappingLabel, MAPPING_ACTION_COLOR);
- String lineType = String.valueOf(LineType.line.name());
- for(DataParameter out : object.getResults()) {
- String targetId = null;
- targetId = getNodeOrder(((ClassDatum) out.getDatum()).getType(), ((ClassDatum) out.getDatum()).getTypedModel()).toString();
- assert targetId != null;
- context.appendEdge(order,
- targetId,
- PRODUCTION_EDGE_COLOR,
- String.valueOf(LineType.line.name()),
- String.valueOf(ArrowType.none.name()),
- DEPENDENCY_ARROW_END);
- }
- for (AbstractDatum ad : object.getProductions()) {
- String targetId = null;
- lineType = String.valueOf(LineType.line.name());
- if (ad instanceof PropertyDatum) {
- targetId = getNodeOrder(((PropertyDatum) ad).getProperty(), ((PropertyDatum) ad).getClassDatum().getType(), ad.getTypedModel()).toString();
- assert targetId != null;
- if (((PropertyDatum) ad).getProperty().isIsImplicit())
- lineType = String.valueOf(LineType.dashed.name());
- context.appendEdge(order,
- targetId,
- PRODUCTION_EDGE_COLOR,
- lineType,
- String.valueOf(ArrowType.none.name()),
- DEPENDENCY_ARROW_END);
- }
- }
- // One edge per data parameter of the ClassDatum
- List<DataParameter> visited = new ArrayList<DataParameter>();
- String edgeColor;
- String targetArrow;
- String targetId = null;
- for (DataParameter in : object.getParameters()) {
- visited.add(in);
- lineType = String.valueOf(LineType.line.name());
- edgeColor = REQUISITE_EDGE_COLOR;
- targetArrow = DEPENDENCY_ARROW_END;
- targetId = null;
- targetId = getNodeOrder(((ClassDatum) in.getDatum()).getType(), ((ClassDatum) in.getDatum()).getTypedModel()).toString();
- assert targetId != null;
- // If two or more DataParameters have this Type, its a MULTIPLE Type dependency
- int dpCount = 0;
- for (DataParameter dp2 : object.getParameters()) {
- if (!visited.contains(dp2) && !dp2.equals(in) && dp2.getDatum().equals(in.getDatum())) {
- dpCount++;
- }
- }
- if (dpCount > 0)
- edgeColor = REQUISITE_MULTIPLE_EDGE_COLOR;
- // If the DataParameter can be derived, the line is dotted
- /*
- for (ParameterDerivation pd : object.getParameterDerivations()) {
- if (pd.getSecondaryParameter().getDataParameter().getDatum().equals(ad)) {
- if (pd.getPrimaryParameter() != null)
- lineType = LineType.dotted.name(); // FIXME Might not work for multiple derived parameters
- if (pd.getSecondaryParameter().isIsLoop()) {
- targetArrow = DEPENDENCY_LOOP_ARROW_END;
- }
- }
- }
- */
- context.appendEdge(targetId,
- order,
- edgeColor,
- lineType,
- String.valueOf(ArrowType.none.name()),
- targetArrow);
- }
- for (AbstractDatum ad : object.getRequisites()) {
- // One edge per data parameter of the ClassDatum
- edgeColor = REQUISITE_EDGE_COLOR;
- targetArrow = DEPENDENCY_ARROW_END;
- targetId = null;
- lineType = String.valueOf(LineType.line.name());
- if (ad instanceof PropertyDatum) {
- targetId = getNodeOrder(((PropertyDatum) ad).getProperty(), ((PropertyDatum) ad).getClassDatum().getType(), ad.getTypedModel()).toString();
- assert targetId != null;
- if (((PropertyDatum) ad).getProperty().isIsImplicit())
- lineType = String.valueOf(LineType.dashed.name());
- // Primary and Secondary Information
- context.appendEdge(targetId,
- order,
- edgeColor,
- lineType,
- String.valueOf(ArrowType.none.name()),
- targetArrow);
- }
- }
- return null;
- }
-
- @Override
- public @Nullable String visitPropertyDatum(@NonNull PropertyDatum object) {
- String datumLabel = getPropertyId(object);
- String order = String.valueOf(getNodeOrder(object.getProperty(), object.getClassDatum().getType(), object.getTypedModel()));
- context.appendNode(order, DATUM_SHAPE, NODE_FILL_COLOR, datumLabel, getDomainColor(object.getTypedModel()));
- for (AbstractDatum sd : object.getSuper()) {
- if (sd != null) {
- if (!nodeExists(object.getProperty(), object.getClassDatum().getType(), object.getTypedModel()))
- visitPropertyDatum((PropertyDatum) sd);
- String sdOrder = String.valueOf(getNodeOrder(((PropertyDatum) sd).getProperty(), ((PropertyDatum) sd).getClassDatum().getType(), sd.getTypedModel()));
- context.appendEdge(order,
- sdOrder,
- SUPER_EDGE_COLOR,
- String.valueOf(LineType.dotted.name()),
- String.valueOf(ArrowType.none.name()),
- SUPER_ARROW_END);
- }
- }
- return null;
- }
-
- @Override
- public @Nullable String visitSchedule(@NonNull Schedule object) {
-
- context.open();
- // First the datums so the nodes exist
- for (AbstractDatum ad : object.getDatums()) {
- if (ad instanceof ClassDatum) {
- visitClassDatum((ClassDatum) ad);
- }
- }
- for (AbstractAction aa : object.getActions()) {
- if (aa instanceof MappingAction) {
- MappingAction ma = (MappingAction) aa;
- if (ma.getMapping() != null)
- visitMappingAction(ma);
- }
- }
- context.close();
- return null;
- }
-
- public boolean isOnlyClassDatums() {
- return onlyClassDatums;
- }
-
- public void setOnlyClassDatums(boolean onlyClassDatums) {
- this.onlyClassDatums = onlyClassDatums;
- }
-
-}

Back to the top