Quellcode durchsuchen

HistoryEntry class generated

benjamin.schwertfeger@gmail.com vor 13 Jahren
Ursprung
Commit
78878457c2

+ 134 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/HistoryEntry.java

@@ -0,0 +1,134 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sexec;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>History Entry</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.yakindu.sct.model.sexec.HistoryEntry#getInitialStep <em>Initial Step</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.sexec.HistoryEntry#isDeep <em>Deep</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.sexec.HistoryEntry#getRegion <em>Region</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.sexec.HistoryEntry#getHistoryStep <em>History Step</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.yakindu.sct.model.sexec.SexecPackage#getHistoryEntry()
+ * @model
+ * @generated
+ */
+public interface HistoryEntry extends Step {
+	/**
+	 * Returns the value of the '<em><b>Initial Step</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Step</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>Initial Step</em>' containment reference.
+	 * @see #setInitialStep(Step)
+	 * @see org.yakindu.sct.model.sexec.SexecPackage#getHistoryEntry_InitialStep()
+	 * @model containment="true"
+	 * @generated
+	 */
+	Step getInitialStep();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.model.sexec.HistoryEntry#getInitialStep <em>Initial Step</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Initial Step</em>' containment reference.
+	 * @see #getInitialStep()
+	 * @generated
+	 */
+	void setInitialStep(Step value);
+
+	/**
+	 * Returns the value of the '<em><b>Deep</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Deep</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Deep</em>' attribute.
+	 * @see #setDeep(boolean)
+	 * @see org.yakindu.sct.model.sexec.SexecPackage#getHistoryEntry_Deep()
+	 * @model
+	 * @generated
+	 */
+	boolean isDeep();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.model.sexec.HistoryEntry#isDeep <em>Deep</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Deep</em>' attribute.
+	 * @see #isDeep()
+	 * @generated
+	 */
+	void setDeep(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Region</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Region</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Region</em>' reference.
+	 * @see #setRegion(ExecutionRegion)
+	 * @see org.yakindu.sct.model.sexec.SexecPackage#getHistoryEntry_Region()
+	 * @model
+	 * @generated
+	 */
+	ExecutionRegion getRegion();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.model.sexec.HistoryEntry#getRegion <em>Region</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Region</em>' reference.
+	 * @see #getRegion()
+	 * @generated
+	 */
+	void setRegion(ExecutionRegion value);
+
+	/**
+	 * Returns the value of the '<em><b>History Step</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>History Step</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>History Step</em>' containment reference.
+	 * @see #setHistoryStep(Step)
+	 * @see org.yakindu.sct.model.sexec.SexecPackage#getHistoryEntry_HistoryStep()
+	 * @model containment="true"
+	 * @generated
+	 */
+	Step getHistoryStep();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.model.sexec.HistoryEntry#getHistoryStep <em>History Step</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>History Step</em>' containment reference.
+	 * @see #getHistoryStep()
+	 * @generated
+	 */
+	void setHistoryStep(Step value);
+
+} // HistoryEntry

+ 9 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/SexecFactory.java

@@ -259,6 +259,15 @@ public interface SexecFactory extends EFactory {
 	 */
 	SaveHistory createSaveHistory();
 
+	/**
+	 * Returns a new object of class '<em>History Entry</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>History Entry</em>'.
+	 * @generated
+	 */
+	HistoryEntry createHistoryEntry();
+
 	/**
 	 * Returns a new object of class '<em>Check Ref</em>'.
 	 * <!-- begin-user-doc -->

+ 179 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/SexecPackage.java

@@ -1950,6 +1950,89 @@ public interface SexecPackage extends EPackage {
 	int SAVE_HISTORY_FEATURE_COUNT = STEP_FEATURE_COUNT + 1;
 
 
+	/**
+	 * The meta object id for the '{@link org.yakindu.sct.model.sexec.impl.HistoryEntryImpl <em>History Entry</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.yakindu.sct.model.sexec.impl.HistoryEntryImpl
+	 * @see org.yakindu.sct.model.sexec.impl.SexecPackageImpl#getHistoryEntry()
+	 * @generated
+	 */
+	int HISTORY_ENTRY = 31;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HISTORY_ENTRY__NAME = STEP__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Comment</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HISTORY_ENTRY__COMMENT = STEP__COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Caller</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HISTORY_ENTRY__CALLER = STEP__CALLER;
+
+	/**
+	 * The feature id for the '<em><b>Initial Step</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HISTORY_ENTRY__INITIAL_STEP = STEP_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Deep</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HISTORY_ENTRY__DEEP = STEP_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Region</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HISTORY_ENTRY__REGION = STEP_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>History Step</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HISTORY_ENTRY__HISTORY_STEP = STEP_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>History Entry</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HISTORY_ENTRY_FEATURE_COUNT = STEP_FEATURE_COUNT + 4;
+
+
 	/**
 	 * Returns the meta object for class '{@link org.yakindu.sct.model.sexec.ExecutionFlow <em>Execution Flow</em>}'.
 	 * <!-- begin-user-doc -->
@@ -2703,6 +2786,60 @@ public interface SexecPackage extends EPackage {
 	 */
 	EReference getSaveHistory_Region();
 
+	/**
+	 * Returns the meta object for class '{@link org.yakindu.sct.model.sexec.HistoryEntry <em>History Entry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>History Entry</em>'.
+	 * @see org.yakindu.sct.model.sexec.HistoryEntry
+	 * @generated
+	 */
+	EClass getHistoryEntry();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.yakindu.sct.model.sexec.HistoryEntry#getInitialStep <em>Initial Step</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Initial Step</em>'.
+	 * @see org.yakindu.sct.model.sexec.HistoryEntry#getInitialStep()
+	 * @see #getHistoryEntry()
+	 * @generated
+	 */
+	EReference getHistoryEntry_InitialStep();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sexec.HistoryEntry#isDeep <em>Deep</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Deep</em>'.
+	 * @see org.yakindu.sct.model.sexec.HistoryEntry#isDeep()
+	 * @see #getHistoryEntry()
+	 * @generated
+	 */
+	EAttribute getHistoryEntry_Deep();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.yakindu.sct.model.sexec.HistoryEntry#getRegion <em>Region</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Region</em>'.
+	 * @see org.yakindu.sct.model.sexec.HistoryEntry#getRegion()
+	 * @see #getHistoryEntry()
+	 * @generated
+	 */
+	EReference getHistoryEntry_Region();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.yakindu.sct.model.sexec.HistoryEntry#getHistoryStep <em>History Step</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>History Step</em>'.
+	 * @see org.yakindu.sct.model.sexec.HistoryEntry#getHistoryStep()
+	 * @see #getHistoryEntry()
+	 * @generated
+	 */
+	EReference getHistoryEntry_HistoryStep();
+
 	/**
 	 * Returns the meta object for class '{@link org.yakindu.sct.model.sexec.CheckRef <em>Check Ref</em>}'.
 	 * <!-- begin-user-doc -->
@@ -3423,6 +3560,48 @@ public interface SexecPackage extends EPackage {
 		 */
 		EReference SAVE_HISTORY__REGION = eINSTANCE.getSaveHistory_Region();
 
+		/**
+		 * The meta object literal for the '{@link org.yakindu.sct.model.sexec.impl.HistoryEntryImpl <em>History Entry</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.yakindu.sct.model.sexec.impl.HistoryEntryImpl
+		 * @see org.yakindu.sct.model.sexec.impl.SexecPackageImpl#getHistoryEntry()
+		 * @generated
+		 */
+		EClass HISTORY_ENTRY = eINSTANCE.getHistoryEntry();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Step</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HISTORY_ENTRY__INITIAL_STEP = eINSTANCE.getHistoryEntry_InitialStep();
+
+		/**
+		 * The meta object literal for the '<em><b>Deep</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HISTORY_ENTRY__DEEP = eINSTANCE.getHistoryEntry_Deep();
+
+		/**
+		 * The meta object literal for the '<em><b>Region</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HISTORY_ENTRY__REGION = eINSTANCE.getHistoryEntry_Region();
+
+		/**
+		 * The meta object literal for the '<em><b>History Step</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HISTORY_ENTRY__HISTORY_STEP = eINSTANCE.getHistoryEntry_HistoryStep();
+
 		/**
 		 * The meta object literal for the '{@link org.yakindu.sct.model.sexec.impl.CheckRefImpl <em>Check Ref</em>}' class.
 		 * <!-- begin-user-doc -->

+ 375 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/HistoryEntryImpl.java

@@ -0,0 +1,375 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sexec.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.yakindu.sct.model.sexec.ExecutionRegion;
+import org.yakindu.sct.model.sexec.HistoryEntry;
+import org.yakindu.sct.model.sexec.Sequence;
+import org.yakindu.sct.model.sexec.SexecPackage;
+import org.yakindu.sct.model.sexec.Step;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>History Entry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.yakindu.sct.model.sexec.impl.HistoryEntryImpl#getInitialStep <em>Initial Step</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.sexec.impl.HistoryEntryImpl#isDeep <em>Deep</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.sexec.impl.HistoryEntryImpl#getRegion <em>Region</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.sexec.impl.HistoryEntryImpl#getHistoryStep <em>History Step</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HistoryEntryImpl extends StepImpl implements HistoryEntry {
+	/**
+	 * The cached value of the '{@link #getInitialStep() <em>Initial Step</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitialStep()
+	 * @generated
+	 * @ordered
+	 */
+	protected Step initialStep;
+
+	/**
+	 * The default value of the '{@link #isDeep() <em>Deep</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isDeep()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean DEEP_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isDeep() <em>Deep</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isDeep()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean deep = DEEP_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getRegion() <em>Region</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRegion()
+	 * @generated
+	 * @ordered
+	 */
+	protected ExecutionRegion region;
+
+	/**
+	 * The cached value of the '{@link #getHistoryStep() <em>History Step</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHistoryStep()
+	 * @generated
+	 * @ordered
+	 */
+	protected Step historyStep;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected HistoryEntryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return SexecPackage.Literals.HISTORY_ENTRY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Step getInitialStep() {
+		return initialStep;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetInitialStep(Step newInitialStep, NotificationChain msgs) {
+		Step oldInitialStep = initialStep;
+		initialStep = newInitialStep;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SexecPackage.HISTORY_ENTRY__INITIAL_STEP, oldInitialStep, newInitialStep);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setInitialStep(Step newInitialStep) {
+		if (newInitialStep != initialStep) {
+			NotificationChain msgs = null;
+			if (initialStep != null)
+				msgs = ((InternalEObject)initialStep).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SexecPackage.HISTORY_ENTRY__INITIAL_STEP, null, msgs);
+			if (newInitialStep != null)
+				msgs = ((InternalEObject)newInitialStep).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SexecPackage.HISTORY_ENTRY__INITIAL_STEP, null, msgs);
+			msgs = basicSetInitialStep(newInitialStep, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, SexecPackage.HISTORY_ENTRY__INITIAL_STEP, newInitialStep, newInitialStep));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isDeep() {
+		return deep;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDeep(boolean newDeep) {
+		boolean oldDeep = deep;
+		deep = newDeep;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, SexecPackage.HISTORY_ENTRY__DEEP, oldDeep, deep));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExecutionRegion getRegion() {
+		if (region != null && region.eIsProxy()) {
+			InternalEObject oldRegion = (InternalEObject)region;
+			region = (ExecutionRegion)eResolveProxy(oldRegion);
+			if (region != oldRegion) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, SexecPackage.HISTORY_ENTRY__REGION, oldRegion, region));
+			}
+		}
+		return region;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExecutionRegion basicGetRegion() {
+		return region;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRegion(ExecutionRegion newRegion) {
+		ExecutionRegion oldRegion = region;
+		region = newRegion;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, SexecPackage.HISTORY_ENTRY__REGION, oldRegion, region));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Step getHistoryStep() {
+		return historyStep;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetHistoryStep(Step newHistoryStep, NotificationChain msgs) {
+		Step oldHistoryStep = historyStep;
+		historyStep = newHistoryStep;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SexecPackage.HISTORY_ENTRY__HISTORY_STEP, oldHistoryStep, newHistoryStep);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setHistoryStep(Step newHistoryStep) {
+		if (newHistoryStep != historyStep) {
+			NotificationChain msgs = null;
+			if (historyStep != null)
+				msgs = ((InternalEObject)historyStep).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SexecPackage.HISTORY_ENTRY__HISTORY_STEP, null, msgs);
+			if (newHistoryStep != null)
+				msgs = ((InternalEObject)newHistoryStep).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SexecPackage.HISTORY_ENTRY__HISTORY_STEP, null, msgs);
+			msgs = basicSetHistoryStep(newHistoryStep, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, SexecPackage.HISTORY_ENTRY__HISTORY_STEP, newHistoryStep, newHistoryStep));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case SexecPackage.HISTORY_ENTRY__INITIAL_STEP:
+				return basicSetInitialStep(null, msgs);
+			case SexecPackage.HISTORY_ENTRY__HISTORY_STEP:
+				return basicSetHistoryStep(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 SexecPackage.HISTORY_ENTRY__INITIAL_STEP:
+				return getInitialStep();
+			case SexecPackage.HISTORY_ENTRY__DEEP:
+				return isDeep();
+			case SexecPackage.HISTORY_ENTRY__REGION:
+				if (resolve) return getRegion();
+				return basicGetRegion();
+			case SexecPackage.HISTORY_ENTRY__HISTORY_STEP:
+				return getHistoryStep();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case SexecPackage.HISTORY_ENTRY__INITIAL_STEP:
+				setInitialStep((Step)newValue);
+				return;
+			case SexecPackage.HISTORY_ENTRY__DEEP:
+				setDeep((Boolean)newValue);
+				return;
+			case SexecPackage.HISTORY_ENTRY__REGION:
+				setRegion((ExecutionRegion)newValue);
+				return;
+			case SexecPackage.HISTORY_ENTRY__HISTORY_STEP:
+				setHistoryStep((Step)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case SexecPackage.HISTORY_ENTRY__INITIAL_STEP:
+				setInitialStep((Step)null);
+				return;
+			case SexecPackage.HISTORY_ENTRY__DEEP:
+				setDeep(DEEP_EDEFAULT);
+				return;
+			case SexecPackage.HISTORY_ENTRY__REGION:
+				setRegion((ExecutionRegion)null);
+				return;
+			case SexecPackage.HISTORY_ENTRY__HISTORY_STEP:
+				setHistoryStep((Step)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case SexecPackage.HISTORY_ENTRY__INITIAL_STEP:
+				return initialStep != null;
+			case SexecPackage.HISTORY_ENTRY__DEEP:
+				return deep != DEEP_EDEFAULT;
+			case SexecPackage.HISTORY_ENTRY__REGION:
+				return region != null;
+			case SexecPackage.HISTORY_ENTRY__HISTORY_STEP:
+				return historyStep != 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(" (deep: ");
+		result.append(deep);
+		result.append(')');
+		return result.toString();
+	}
+
+} //HistoryEntryImpl

+ 11 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/SexecFactoryImpl.java

@@ -110,6 +110,7 @@ public class SexecFactoryImpl extends EFactoryImpl implements SexecFactory {
 			case SexecPackage.TRACE_STATE_ENTERED: return createTraceStateEntered();
 			case SexecPackage.TRACE_STATE_EXITED: return createTraceStateExited();
 			case SexecPackage.SAVE_HISTORY: return createSaveHistory();
+			case SexecPackage.HISTORY_ENTRY: return createHistoryEntry();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -375,6 +376,16 @@ public class SexecFactoryImpl extends EFactoryImpl implements SexecFactory {
 		return saveHistory;
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public HistoryEntry createHistoryEntry() {
+		HistoryEntryImpl historyEntry = new HistoryEntryImpl();
+		return historyEntry;
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->

+ 66 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/SexecPackageImpl.java

@@ -24,6 +24,7 @@ import org.yakindu.sct.model.sexec.ExecutionRegion;
 import org.yakindu.sct.model.sexec.ExecutionScope;
 import org.yakindu.sct.model.sexec.ExecutionState;
 import org.yakindu.sct.model.sexec.ExitState;
+import org.yakindu.sct.model.sexec.HistoryEntry;
 import org.yakindu.sct.model.sexec.If;
 import org.yakindu.sct.model.sexec.MappedElement;
 import org.yakindu.sct.model.sexec.NamedElement;
@@ -251,6 +252,13 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 	 */
 	private EClass saveHistoryEClass = null;
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass historyEntryEClass = null;
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -975,6 +983,51 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 		return (EReference)saveHistoryEClass.getEStructuralFeatures().get(0);
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getHistoryEntry() {
+		return historyEntryEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getHistoryEntry_InitialStep() {
+		return (EReference)historyEntryEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getHistoryEntry_Deep() {
+		return (EAttribute)historyEntryEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getHistoryEntry_Region() {
+		return (EReference)historyEntryEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getHistoryEntry_HistoryStep() {
+		return (EReference)historyEntryEClass.getEStructuralFeatures().get(3);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1174,6 +1227,12 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 
 		saveHistoryEClass = createEClass(SAVE_HISTORY);
 		createEReference(saveHistoryEClass, SAVE_HISTORY__REGION);
+
+		historyEntryEClass = createEClass(HISTORY_ENTRY);
+		createEReference(historyEntryEClass, HISTORY_ENTRY__INITIAL_STEP);
+		createEAttribute(historyEntryEClass, HISTORY_ENTRY__DEEP);
+		createEReference(historyEntryEClass, HISTORY_ENTRY__REGION);
+		createEReference(historyEntryEClass, HISTORY_ENTRY__HISTORY_STEP);
 	}
 
 	/**
@@ -1239,6 +1298,7 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 		traceStateEnteredEClass.getESuperTypes().add(this.getTrace());
 		traceStateExitedEClass.getESuperTypes().add(this.getTrace());
 		saveHistoryEClass.getESuperTypes().add(this.getStep());
+		historyEntryEClass.getESuperTypes().add(this.getStep());
 
 		// Initialize classes and features; add operations and parameters
 		initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -1350,6 +1410,12 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 		initEClass(saveHistoryEClass, SaveHistory.class, "SaveHistory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getSaveHistory_Region(), this.getExecutionRegion(), null, "region", null, 0, 1, SaveHistory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		initEClass(historyEntryEClass, HistoryEntry.class, "HistoryEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getHistoryEntry_InitialStep(), this.getStep(), null, "initialStep", null, 0, 1, HistoryEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHistoryEntry_Deep(), ecorePackage.getEBoolean(), "deep", null, 0, 1, HistoryEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryEntry_Region(), this.getExecutionRegion(), null, "region", null, 0, 1, HistoryEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryEntry_HistoryStep(), this.getStep(), null, "historyStep", null, 0, 1, HistoryEntry.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);
 	}

+ 18 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/util/SexecAdapterFactory.java

@@ -221,6 +221,10 @@ public class SexecAdapterFactory extends AdapterFactoryImpl {
 				return createSaveHistoryAdapter();
 			}
 			@Override
+			public Adapter caseHistoryEntry(HistoryEntry object) {
+				return createHistoryEntryAdapter();
+			}
+			@Override
 			public Adapter caseScopedElement(ScopedElement object) {
 				return createScopedElementAdapter();
 			}
@@ -648,6 +652,20 @@ public class SexecAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
+	/**
+	 * Creates a new adapter for an object of class '{@link org.yakindu.sct.model.sexec.HistoryEntry <em>History Entry</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.yakindu.sct.model.sexec.HistoryEntry
+	 * @generated
+	 */
+	public Adapter createHistoryEntryAdapter() {
+		return null;
+	}
+
 	/**
 	 * Creates a new adapter for an object of class '{@link org.yakindu.sct.model.sexec.CheckRef <em>Check Ref</em>}'.
 	 * <!-- begin-user-doc -->

+ 23 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/util/SexecSwitch.java

@@ -348,6 +348,14 @@ public class SexecSwitch<T> extends Switch<T> {
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
+			case SexecPackage.HISTORY_ENTRY: {
+				HistoryEntry historyEntry = (HistoryEntry)theEObject;
+				T result = caseHistoryEntry(historyEntry);
+				if (result == null) result = caseStep(historyEntry);
+				if (result == null) result = caseNamedElement(historyEntry);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
 			default: return defaultCase(theEObject);
 		}
 	}
@@ -772,6 +780,21 @@ public class SexecSwitch<T> extends Switch<T> {
 		return null;
 	}
 
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>History Entry</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>History Entry</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHistoryEntry(HistoryEntry object) {
+		return null;
+	}
+
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Check Ref</em>'.
 	 * <!-- begin-user-doc -->