diff options
author | Henrik Rentz-Reichert | 2017-07-31 10:06:35 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2017-08-01 08:20:39 +0000 |
commit | 6f110ef9a655989c9839aded0807a854b4f7a79e (patch) | |
tree | 841c7a6fc111f2991dee6372cc01894aa6b396c9 /plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen | |
parent | a22cc46d84a76e5d025205edce05ac7137704659 (diff) | |
download | org.eclipse.etrice-6f110ef9a655989c9839aded0807a854b4f7a79e.tar.gz org.eclipse.etrice-6f110ef9a655989c9839aded0807a854b4f7a79e.tar.xz org.eclipse.etrice-6f110ef9a655989c9839aded0807a854b4f7a79e.zip |
Bug 511330 - [core.genmodel.fsm] introduce simplified generator model for state machines
* org.eclipse.etrice.generator.java.tests passing locally
* org.eclipse.etrice.generator.c.tests passing locally
* org.eclipse.etrice.generator.cpp.tests passing locally
* org.eclipse.etrice.abstractexec.behavior.tests passing locally
Change-Id: Ice31b6004076eb32d91d91289c2f5adca0d60693
Diffstat (limited to 'plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen')
18 files changed, 5848 insertions, 0 deletions
diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/CommonTrigger.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/CommonTrigger.java new file mode 100644 index 000000000..e04f2acf8 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/CommonTrigger.java @@ -0,0 +1,152 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.etrice.core.fsm.fSM.AbstractInterfaceItem; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Common Trigger</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getMsg <em>Msg</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getIfitem <em>Ifitem</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#isHasGuard <em>Has Guard</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getTrigger <em>Trigger</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getLinks <em>Links</em>}</li> + * </ul> + * + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getCommonTrigger() + * @model + * @generated + */ +public interface CommonTrigger extends EObject { + /** + * Returns the value of the '<em><b>Msg</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Msg</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Msg</em>' reference. + * @see #setMsg(EObject) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getCommonTrigger_Msg() + * @model + * @generated + */ + EObject getMsg(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getMsg <em>Msg</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Msg</em>' reference. + * @see #getMsg() + * @generated + */ + void setMsg(EObject value); + + /** + * Returns the value of the '<em><b>Ifitem</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Ifitem</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Ifitem</em>' reference. + * @see #setIfitem(AbstractInterfaceItem) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getCommonTrigger_Ifitem() + * @model + * @generated + */ + AbstractInterfaceItem getIfitem(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getIfitem <em>Ifitem</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Ifitem</em>' reference. + * @see #getIfitem() + * @generated + */ + void setIfitem(AbstractInterfaceItem value); + + /** + * Returns the value of the '<em><b>Trigger</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Trigger</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Trigger</em>' attribute. + * @see #setTrigger(String) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getCommonTrigger_Trigger() + * @model + * @generated + */ + String getTrigger(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getTrigger <em>Trigger</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Trigger</em>' attribute. + * @see #getTrigger() + * @generated + */ + void setTrigger(String value); + + /** + * Returns the value of the '<em><b>Links</b></em>' reference list. + * The list contents are of type {@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Links</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>Links</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getCommonTrigger_Links() + * @model + * @generated + */ + EList<Link> getLinks(); + + /** + * Returns the value of the '<em><b>Has Guard</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Has Guard</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Has Guard</em>' attribute. + * @see #setHasGuard(boolean) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getCommonTrigger_HasGuard() + * @model + * @generated + */ + boolean isHasGuard(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#isHasGuard <em>Has Guard</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Has Guard</em>' attribute. + * @see #isHasGuard() + * @generated + */ + void setHasGuard(boolean value); + +} // CommonTrigger diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/FsmGenFactory.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/FsmGenFactory.java new file mode 100644 index 000000000..f210ab049 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/FsmGenFactory.java @@ -0,0 +1,87 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage + * @generated + */ +public interface FsmGenFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + FsmGenFactory eINSTANCE = org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Graph Container</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Graph Container</em>'. + * @generated + */ + GraphContainer createGraphContainer(); + + /** + * Returns a new object of class '<em>Graph</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Graph</em>'. + * @generated + */ + Graph createGraph(); + + /** + * Returns a new object of class '<em>Graph Item</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Graph Item</em>'. + * @generated + */ + GraphItem createGraphItem(); + + /** + * Returns a new object of class '<em>Node</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Node</em>'. + * @generated + */ + Node createNode(); + + /** + * Returns a new object of class '<em>Link</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Link</em>'. + * @generated + */ + Link createLink(); + + /** + * Returns a new object of class '<em>Common Trigger</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Common Trigger</em>'. + * @generated + */ + CommonTrigger createCommonTrigger(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + FsmGenPackage getFsmGenPackage(); + +} //FsmGenFactory diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/FsmGenPackage.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/FsmGenPackage.java new file mode 100644 index 000000000..664dd3261 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/FsmGenPackage.java @@ -0,0 +1,1257 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EOperation; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenFactory + * @model kind="package" + * @generated + */ +public interface FsmGenPackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "fsmgen"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/etrice/generator/fsm"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "fsmgen"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + FsmGenPackage eINSTANCE = org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl <em>Graph Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getGraphContainer() + * @generated + */ + int GRAPH_CONTAINER = 0; + + /** + * The feature id for the '<em><b>Graph</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_CONTAINER__GRAPH = 0; + + /** + * The feature id for the '<em><b>Component</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_CONTAINER__COMPONENT = 1; + + /** + * The feature id for the '<em><b>Initialized Triggers In States</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_CONTAINER__INITIALIZED_TRIGGERS_IN_STATES = 2; + + /** + * The feature id for the '<em><b>Initialized Chain Heads</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_CONTAINER__INITIALIZED_CHAIN_HEADS = 3; + + /** + * The feature id for the '<em><b>Initialized Common Data</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_CONTAINER__INITIALIZED_COMMON_DATA = 4; + + /** + * The number of structural features of the '<em>Graph Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_CONTAINER_FEATURE_COUNT = 5; + + /** + * The number of operations of the '<em>Graph Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_CONTAINER_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphImpl <em>Graph</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getGraph() + * @generated + */ + int GRAPH = 1; + + /** + * The feature id for the '<em><b>Nodes</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH__NODES = 0; + + /** + * The feature id for the '<em><b>Links</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH__LINKS = 1; + + /** + * The feature id for the '<em><b>State Graph</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH__STATE_GRAPH = 2; + + /** + * The number of structural features of the '<em>Graph</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_FEATURE_COUNT = 3; + + /** + * The operation id for the '<em>To String</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH___TO_STRING = 0; + + /** + * The number of operations of the '<em>Graph</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_OPERATION_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphItemImpl <em>Graph Item</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphItemImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getGraphItem() + * @generated + */ + int GRAPH_ITEM = 2; + + /** + * The feature id for the '<em><b>Inherited</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_ITEM__INHERITED = 0; + + /** + * The number of structural features of the '<em>Graph Item</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_ITEM_FEATURE_COUNT = 1; + + /** + * The number of operations of the '<em>Graph Item</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_ITEM_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl <em>Node</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getNode() + * @generated + */ + int NODE = 3; + + /** + * The feature id for the '<em><b>Inherited</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__INHERITED = GRAPH_ITEM__INHERITED; + + /** + * The feature id for the '<em><b>Graph</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__GRAPH = GRAPH_ITEM_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Subgraph</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__SUBGRAPH = GRAPH_ITEM_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Outgoing</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__OUTGOING = GRAPH_ITEM_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Incoming</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__INCOMING = GRAPH_ITEM_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>State Graph Node</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__STATE_GRAPH_NODE = GRAPH_ITEM_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Caught Triggers</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__CAUGHT_TRIGGERS = GRAPH_ITEM_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Inheritance Level</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__INHERITANCE_LEVEL = GRAPH_ITEM_FEATURE_COUNT + 6; + + /** + * The number of structural features of the '<em>Node</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE_FEATURE_COUNT = GRAPH_ITEM_FEATURE_COUNT + 7; + + /** + * The operation id for the '<em>To String</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE___TO_STRING = GRAPH_ITEM_OPERATION_COUNT + 0; + + /** + * The number of operations of the '<em>Node</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE_OPERATION_COUNT = GRAPH_ITEM_OPERATION_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl <em>Link</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getLink() + * @generated + */ + int LINK = 4; + + /** + * The feature id for the '<em><b>Inherited</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK__INHERITED = GRAPH_ITEM__INHERITED; + + /** + * The feature id for the '<em><b>Graph</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK__GRAPH = GRAPH_ITEM_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Source</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK__SOURCE = GRAPH_ITEM_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Target</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK__TARGET = GRAPH_ITEM_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Chain Heads</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK__CHAIN_HEADS = GRAPH_ITEM_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Ifitem Triggered</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK__IFITEM_TRIGGERED = GRAPH_ITEM_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Common Data</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK__COMMON_DATA = GRAPH_ITEM_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Transition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK__TRANSITION = GRAPH_ITEM_FEATURE_COUNT + 6; + + /** + * The number of structural features of the '<em>Link</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK_FEATURE_COUNT = GRAPH_ITEM_FEATURE_COUNT + 7; + + /** + * The operation id for the '<em>To String</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK___TO_STRING = GRAPH_ITEM_OPERATION_COUNT + 0; + + /** + * The number of operations of the '<em>Link</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LINK_OPERATION_COUNT = GRAPH_ITEM_OPERATION_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl <em>Common Trigger</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getCommonTrigger() + * @generated + */ + int COMMON_TRIGGER = 5; + + /** + * The feature id for the '<em><b>Msg</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMON_TRIGGER__MSG = 0; + + /** + * The feature id for the '<em><b>Ifitem</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMON_TRIGGER__IFITEM = 1; + + /** + * The feature id for the '<em><b>Has Guard</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMON_TRIGGER__HAS_GUARD = 2; + + /** + * The feature id for the '<em><b>Trigger</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMON_TRIGGER__TRIGGER = 3; + + /** + * The feature id for the '<em><b>Links</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMON_TRIGGER__LINKS = 4; + + /** + * The number of structural features of the '<em>Common Trigger</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMON_TRIGGER_FEATURE_COUNT = 5; + + /** + * The number of operations of the '<em>Common Trigger</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMON_TRIGGER_OPERATION_COUNT = 0; + + + /** + * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer <em>Graph Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Graph Container</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer + * @generated + */ + EClass getGraphContainer(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#getGraph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Graph</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#getGraph() + * @see #getGraphContainer() + * @generated + */ + EReference getGraphContainer_Graph(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#getComponent <em>Component</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Component</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#getComponent() + * @see #getGraphContainer() + * @generated + */ + EReference getGraphContainer_Component(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedTriggersInStates <em>Initialized Triggers In States</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Initialized Triggers In States</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedTriggersInStates() + * @see #getGraphContainer() + * @generated + */ + EAttribute getGraphContainer_InitializedTriggersInStates(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedChainHeads <em>Initialized Chain Heads</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Initialized Chain Heads</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedChainHeads() + * @see #getGraphContainer() + * @generated + */ + EAttribute getGraphContainer_InitializedChainHeads(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedCommonData <em>Initialized Common Data</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Initialized Common Data</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedCommonData() + * @see #getGraphContainer() + * @generated + */ + EAttribute getGraphContainer_InitializedCommonData(); + + /** + * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Graph</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph + * @generated + */ + EClass getGraph(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getNodes <em>Nodes</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Nodes</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getNodes() + * @see #getGraph() + * @generated + */ + EReference getGraph_Nodes(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getLinks <em>Links</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Links</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getLinks() + * @see #getGraph() + * @generated + */ + EReference getGraph_Links(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getStateGraph <em>State Graph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>State Graph</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getStateGraph() + * @see #getGraph() + * @generated + */ + EReference getGraph_StateGraph(); + + /** + * Returns the meta object for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#toString() <em>To String</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>To String</em>' operation. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#toString() + * @generated + */ + EOperation getGraph__ToString(); + + /** + * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem <em>Graph Item</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Graph Item</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem + * @generated + */ + EClass getGraphItem(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem#isInherited <em>Inherited</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Inherited</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem#isInherited() + * @see #getGraphItem() + * @generated + */ + EAttribute getGraphItem_Inherited(); + + /** + * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node <em>Node</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Node</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node + * @generated + */ + EClass getNode(); + + /** + * Returns the meta object for the container reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getGraph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Graph</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getGraph() + * @see #getNode() + * @generated + */ + EReference getNode_Graph(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getSubgraph <em>Subgraph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Subgraph</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getSubgraph() + * @see #getNode() + * @generated + */ + EReference getNode_Subgraph(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getOutgoing <em>Outgoing</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Outgoing</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getOutgoing() + * @see #getNode() + * @generated + */ + EReference getNode_Outgoing(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getIncoming <em>Incoming</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Incoming</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getIncoming() + * @see #getNode() + * @generated + */ + EReference getNode_Incoming(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getStateGraphNode <em>State Graph Node</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>State Graph Node</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getStateGraphNode() + * @see #getNode() + * @generated + */ + EReference getNode_StateGraphNode(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getCaughtTriggers <em>Caught Triggers</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Caught Triggers</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getCaughtTriggers() + * @see #getNode() + * @generated + */ + EReference getNode_CaughtTriggers(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getInheritanceLevel <em>Inheritance Level</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Inheritance Level</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getInheritanceLevel() + * @see #getNode() + * @generated + */ + EAttribute getNode_InheritanceLevel(); + + /** + * Returns the meta object for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#toString() <em>To String</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>To String</em>' operation. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#toString() + * @generated + */ + EOperation getNode__ToString(); + + /** + * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link <em>Link</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Link</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link + * @generated + */ + EClass getLink(); + + /** + * Returns the meta object for the container reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getGraph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Graph</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getGraph() + * @see #getLink() + * @generated + */ + EReference getLink_Graph(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getSource <em>Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Source</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getSource() + * @see #getLink() + * @generated + */ + EReference getLink_Source(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTarget <em>Target</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Target</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTarget() + * @see #getLink() + * @generated + */ + EReference getLink_Target(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getChainHeads <em>Chain Heads</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Chain Heads</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getChainHeads() + * @see #getLink() + * @generated + */ + EReference getLink_ChainHeads(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#isIfitemTriggered <em>Ifitem Triggered</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Ifitem Triggered</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#isIfitemTriggered() + * @see #getLink() + * @generated + */ + EAttribute getLink_IfitemTriggered(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getCommonData <em>Common Data</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Common Data</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getCommonData() + * @see #getLink() + * @generated + */ + EReference getLink_CommonData(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTransition <em>Transition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Transition</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTransition() + * @see #getLink() + * @generated + */ + EReference getLink_Transition(); + + /** + * Returns the meta object for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#toString() <em>To String</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>To String</em>' operation. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#toString() + * @generated + */ + EOperation getLink__ToString(); + + /** + * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger <em>Common Trigger</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Common Trigger</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger + * @generated + */ + EClass getCommonTrigger(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getMsg <em>Msg</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Msg</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getMsg() + * @see #getCommonTrigger() + * @generated + */ + EReference getCommonTrigger_Msg(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getIfitem <em>Ifitem</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Ifitem</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getIfitem() + * @see #getCommonTrigger() + * @generated + */ + EReference getCommonTrigger_Ifitem(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getTrigger <em>Trigger</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Trigger</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getTrigger() + * @see #getCommonTrigger() + * @generated + */ + EAttribute getCommonTrigger_Trigger(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getLinks <em>Links</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Links</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#getLinks() + * @see #getCommonTrigger() + * @generated + */ + EReference getCommonTrigger_Links(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#isHasGuard <em>Has Guard</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Has Guard</em>'. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger#isHasGuard() + * @see #getCommonTrigger() + * @generated + */ + EAttribute getCommonTrigger_HasGuard(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + FsmGenFactory getFsmGenFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl <em>Graph Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getGraphContainer() + * @generated + */ + EClass GRAPH_CONTAINER = eINSTANCE.getGraphContainer(); + + /** + * The meta object literal for the '<em><b>Graph</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH_CONTAINER__GRAPH = eINSTANCE.getGraphContainer_Graph(); + + /** + * The meta object literal for the '<em><b>Component</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH_CONTAINER__COMPONENT = eINSTANCE.getGraphContainer_Component(); + + /** + * The meta object literal for the '<em><b>Initialized Triggers In States</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute GRAPH_CONTAINER__INITIALIZED_TRIGGERS_IN_STATES = eINSTANCE.getGraphContainer_InitializedTriggersInStates(); + + /** + * The meta object literal for the '<em><b>Initialized Chain Heads</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute GRAPH_CONTAINER__INITIALIZED_CHAIN_HEADS = eINSTANCE.getGraphContainer_InitializedChainHeads(); + + /** + * The meta object literal for the '<em><b>Initialized Common Data</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute GRAPH_CONTAINER__INITIALIZED_COMMON_DATA = eINSTANCE.getGraphContainer_InitializedCommonData(); + + /** + * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphImpl <em>Graph</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getGraph() + * @generated + */ + EClass GRAPH = eINSTANCE.getGraph(); + + /** + * The meta object literal for the '<em><b>Nodes</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH__NODES = eINSTANCE.getGraph_Nodes(); + + /** + * The meta object literal for the '<em><b>Links</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH__LINKS = eINSTANCE.getGraph_Links(); + + /** + * The meta object literal for the '<em><b>State Graph</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH__STATE_GRAPH = eINSTANCE.getGraph_StateGraph(); + + /** + * The meta object literal for the '<em><b>To String</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation GRAPH___TO_STRING = eINSTANCE.getGraph__ToString(); + + /** + * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphItemImpl <em>Graph Item</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphItemImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getGraphItem() + * @generated + */ + EClass GRAPH_ITEM = eINSTANCE.getGraphItem(); + + /** + * The meta object literal for the '<em><b>Inherited</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute GRAPH_ITEM__INHERITED = eINSTANCE.getGraphItem_Inherited(); + + /** + * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl <em>Node</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getNode() + * @generated + */ + EClass NODE = eINSTANCE.getNode(); + + /** + * The meta object literal for the '<em><b>Graph</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE__GRAPH = eINSTANCE.getNode_Graph(); + + /** + * The meta object literal for the '<em><b>Subgraph</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE__SUBGRAPH = eINSTANCE.getNode_Subgraph(); + + /** + * The meta object literal for the '<em><b>Outgoing</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE__OUTGOING = eINSTANCE.getNode_Outgoing(); + + /** + * The meta object literal for the '<em><b>Incoming</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE__INCOMING = eINSTANCE.getNode_Incoming(); + + /** + * The meta object literal for the '<em><b>State Graph Node</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE__STATE_GRAPH_NODE = eINSTANCE.getNode_StateGraphNode(); + + /** + * The meta object literal for the '<em><b>Caught Triggers</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE__CAUGHT_TRIGGERS = eINSTANCE.getNode_CaughtTriggers(); + + /** + * The meta object literal for the '<em><b>Inheritance Level</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NODE__INHERITANCE_LEVEL = eINSTANCE.getNode_InheritanceLevel(); + + /** + * The meta object literal for the '<em><b>To String</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation NODE___TO_STRING = eINSTANCE.getNode__ToString(); + + /** + * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl <em>Link</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getLink() + * @generated + */ + EClass LINK = eINSTANCE.getLink(); + + /** + * The meta object literal for the '<em><b>Graph</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LINK__GRAPH = eINSTANCE.getLink_Graph(); + + /** + * The meta object literal for the '<em><b>Source</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LINK__SOURCE = eINSTANCE.getLink_Source(); + + /** + * The meta object literal for the '<em><b>Target</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LINK__TARGET = eINSTANCE.getLink_Target(); + + /** + * The meta object literal for the '<em><b>Chain Heads</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LINK__CHAIN_HEADS = eINSTANCE.getLink_ChainHeads(); + + /** + * The meta object literal for the '<em><b>Ifitem Triggered</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute LINK__IFITEM_TRIGGERED = eINSTANCE.getLink_IfitemTriggered(); + + /** + * The meta object literal for the '<em><b>Common Data</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LINK__COMMON_DATA = eINSTANCE.getLink_CommonData(); + + /** + * The meta object literal for the '<em><b>Transition</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LINK__TRANSITION = eINSTANCE.getLink_Transition(); + + /** + * The meta object literal for the '<em><b>To String</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation LINK___TO_STRING = eINSTANCE.getLink__ToString(); + + /** + * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl <em>Common Trigger</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.FsmGenPackageImpl#getCommonTrigger() + * @generated + */ + EClass COMMON_TRIGGER = eINSTANCE.getCommonTrigger(); + + /** + * The meta object literal for the '<em><b>Msg</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMMON_TRIGGER__MSG = eINSTANCE.getCommonTrigger_Msg(); + + /** + * The meta object literal for the '<em><b>Ifitem</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMMON_TRIGGER__IFITEM = eINSTANCE.getCommonTrigger_Ifitem(); + + /** + * The meta object literal for the '<em><b>Trigger</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COMMON_TRIGGER__TRIGGER = eINSTANCE.getCommonTrigger_Trigger(); + + /** + * The meta object literal for the '<em><b>Links</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMMON_TRIGGER__LINKS = eINSTANCE.getCommonTrigger_Links(); + + /** + * The meta object literal for the '<em><b>Has Guard</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COMMON_TRIGGER__HAS_GUARD = eINSTANCE.getCommonTrigger_HasGuard(); + + } + +} //FsmGenPackage diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Graph.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Graph.java new file mode 100644 index 000000000..375b761f9 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Graph.java @@ -0,0 +1,100 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.etrice.core.fsm.fSM.StateGraph; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Graph</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getNodes <em>Nodes</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getLinks <em>Links</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getStateGraph <em>State Graph</em>}</li> + * </ul> + * + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraph() + * @model + * @generated + */ +public interface Graph extends EObject { + /** + * Returns the value of the '<em><b>Nodes</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node}. + * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getGraph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Nodes</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>Nodes</em>' containment reference list. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraph_Nodes() + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getGraph + * @model opposite="graph" containment="true" + * @generated + */ + EList<Node> getNodes(); + + /** + * Returns the value of the '<em><b>Links</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link}. + * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getGraph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Links</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>Links</em>' containment reference list. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraph_Links() + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getGraph + * @model opposite="graph" containment="true" + * @generated + */ + EList<Link> getLinks(); + + /** + * Returns the value of the '<em><b>State Graph</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>State Graph</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>State Graph</em>' reference. + * @see #setStateGraph(StateGraph) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraph_StateGraph() + * @model + * @generated + */ + StateGraph getStateGraph(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getStateGraph <em>State Graph</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>State Graph</em>' reference. + * @see #getStateGraph() + * @generated + */ + void setStateGraph(StateGraph value); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='StringBuilder result = new StringBuilder();\r\nresult.append(\"StateGraph {\\n\");\r\nfor (Node n : getNodes()) {\r\n\tresult.append(\" \" + n.toString() + \"\\n\");\r\n}\r\nfor (Link l : getLinks()) {\r\n\tresult.append(\" \" + l.toString() + \"\\n\");\r\n}\r\nresult.append(\"}\");\r\nreturn result.toString();'" + * @generated + */ + String toString(); + +} // Graph diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/GraphContainer.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/GraphContainer.java new file mode 100644 index 000000000..6d35d7c30 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/GraphContainer.java @@ -0,0 +1,160 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.etrice.core.fsm.fSM.ModelComponent; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Graph Container</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#getGraph <em>Graph</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#getComponent <em>Component</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedTriggersInStates <em>Initialized Triggers In States</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedChainHeads <em>Initialized Chain Heads</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedCommonData <em>Initialized Common Data</em>}</li> + * </ul> + * + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraphContainer() + * @model + * @generated + */ +public interface GraphContainer extends EObject { + /** + * Returns the value of the '<em><b>Graph</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Graph</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>Graph</em>' containment reference. + * @see #setGraph(Graph) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraphContainer_Graph() + * @model containment="true" + * @generated + */ + Graph getGraph(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#getGraph <em>Graph</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Graph</em>' containment reference. + * @see #getGraph() + * @generated + */ + void setGraph(Graph value); + + /** + * Returns the value of the '<em><b>Component</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Component</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Component</em>' reference. + * @see #setComponent(ModelComponent) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraphContainer_Component() + * @model + * @generated + */ + ModelComponent getComponent(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#getComponent <em>Component</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Component</em>' reference. + * @see #getComponent() + * @generated + */ + void setComponent(ModelComponent value); + + /** + * Returns the value of the '<em><b>Initialized Triggers In States</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Initialized Triggers In States</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Initialized Triggers In States</em>' attribute. + * @see #setInitializedTriggersInStates(boolean) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraphContainer_InitializedTriggersInStates() + * @model + * @generated + */ + boolean isInitializedTriggersInStates(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedTriggersInStates <em>Initialized Triggers In States</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Initialized Triggers In States</em>' attribute. + * @see #isInitializedTriggersInStates() + * @generated + */ + void setInitializedTriggersInStates(boolean value); + + /** + * Returns the value of the '<em><b>Initialized Chain Heads</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Initialized Chain Heads</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Initialized Chain Heads</em>' attribute. + * @see #setInitializedChainHeads(boolean) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraphContainer_InitializedChainHeads() + * @model + * @generated + */ + boolean isInitializedChainHeads(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedChainHeads <em>Initialized Chain Heads</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Initialized Chain Heads</em>' attribute. + * @see #isInitializedChainHeads() + * @generated + */ + void setInitializedChainHeads(boolean value); + + /** + * Returns the value of the '<em><b>Initialized Common Data</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Initialized Common Data</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Initialized Common Data</em>' attribute. + * @see #setInitializedCommonData(boolean) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraphContainer_InitializedCommonData() + * @model + * @generated + */ + boolean isInitializedCommonData(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer#isInitializedCommonData <em>Initialized Common Data</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Initialized Common Data</em>' attribute. + * @see #isInitializedCommonData() + * @generated + */ + void setInitializedCommonData(boolean value); + +} // GraphContainer diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/GraphItem.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/GraphItem.java new file mode 100644 index 000000000..b8cf1abc8 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/GraphItem.java @@ -0,0 +1,51 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Graph Item</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem#isInherited <em>Inherited</em>}</li> + * </ul> + * + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraphItem() + * @model + * @generated + */ +public interface GraphItem extends EObject { + /** + * Returns the value of the '<em><b>Inherited</b></em>' attribute. + * The default value is <code>"false"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Inherited</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Inherited</em>' attribute. + * @see #setInherited(boolean) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getGraphItem_Inherited() + * @model default="false" + * @generated + */ + boolean isInherited(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem#isInherited <em>Inherited</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Inherited</em>' attribute. + * @see #isInherited() + * @generated + */ + void setInherited(boolean value); + +} // GraphItem diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Link.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Link.java new file mode 100644 index 000000000..bbceb1278 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Link.java @@ -0,0 +1,219 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.etrice.core.fsm.fSM.TransitionBase; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Link</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getGraph <em>Graph</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getSource <em>Source</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTarget <em>Target</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getChainHeads <em>Chain Heads</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#isIfitemTriggered <em>Ifitem Triggered</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getCommonData <em>Common Data</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTransition <em>Transition</em>}</li> + * </ul> + * + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getLink() + * @model + * @generated + */ +public interface Link extends GraphItem { + /** + * Returns the value of the '<em><b>Graph</b></em>' container reference. + * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getLinks <em>Links</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Graph</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>Graph</em>' container reference. + * @see #setGraph(Graph) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getLink_Graph() + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getLinks + * @model opposite="links" transient="false" + * @generated + */ + Graph getGraph(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getGraph <em>Graph</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Graph</em>' container reference. + * @see #getGraph() + * @generated + */ + void setGraph(Graph value); + + /** + * Returns the value of the '<em><b>Source</b></em>' reference. + * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getOutgoing <em>Outgoing</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Source</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Source</em>' reference. + * @see #setSource(Node) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getLink_Source() + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getOutgoing + * @model opposite="outgoing" + * @generated + */ + Node getSource(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getSource <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Source</em>' reference. + * @see #getSource() + * @generated + */ + void setSource(Node value); + + /** + * Returns the value of the '<em><b>Target</b></em>' reference. + * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getIncoming <em>Incoming</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target</em>' 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>' reference. + * @see #setTarget(Node) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getLink_Target() + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getIncoming + * @model opposite="incoming" + * @generated + */ + Node getTarget(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTarget <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target</em>' reference. + * @see #getTarget() + * @generated + */ + void setTarget(Node value); + + /** + * Returns the value of the '<em><b>Chain Heads</b></em>' reference list. + * The list contents are of type {@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Chain Heads</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>Chain Heads</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getLink_ChainHeads() + * @model + * @generated + */ + EList<Link> getChainHeads(); + + /** + * Returns the value of the '<em><b>Ifitem Triggered</b></em>' attribute. + * The default value is <code>"true"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Ifitem Triggered</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Ifitem Triggered</em>' attribute. + * @see #setIfitemTriggered(boolean) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getLink_IfitemTriggered() + * @model default="true" + * @generated + */ + boolean isIfitemTriggered(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#isIfitemTriggered <em>Ifitem Triggered</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Ifitem Triggered</em>' attribute. + * @see #isIfitemTriggered() + * @generated + */ + void setIfitemTriggered(boolean value); + + /** + * Returns the value of the '<em><b>Common Data</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Common Data</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Common Data</em>' reference. + * @see #setCommonData(EObject) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getLink_CommonData() + * @model + * @generated + */ + EObject getCommonData(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getCommonData <em>Common Data</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Common Data</em>' reference. + * @see #getCommonData() + * @generated + */ + void setCommonData(EObject value); + + /** + * Returns the value of the '<em><b>Transition</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Transition</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Transition</em>' reference. + * @see #setTransition(TransitionBase) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getLink_Transition() + * @model + * @generated + */ + TransitionBase getTransition(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTransition <em>Transition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Transition</em>' reference. + * @see #getTransition() + * @generated + */ + void setTransition(TransitionBase value); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='if (getTransition() instanceof <%org.eclipse.etrice.core.fsm.fSM.InitialTransition%>) {\r\n\treturn \"Link initial -> \" + getTarget().toString() + \" (InitialTransition)\";\r\n}\r\nelse if (getTransition() instanceof <%org.eclipse.etrice.core.fsm.fSM.NonInitialTransition%>) {\r\n\treturn \"Link \" + getSource().toString() + \" -> \" + getTarget().toString() + \" (InitialTransition)\";\r\n}\r\nelse if (getTransition() instanceof <%org.eclipse.etrice.core.fsm.fSM.RefinedTransition%>) {\r\n\treturn \"RefinedTransition\";\r\n}\r\nreturn \"?\";'" + * @generated + */ + String toString(); + +} // Link diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Node.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Node.java new file mode 100644 index 000000000..0f5b2cb5f --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/Node.java @@ -0,0 +1,198 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.etrice.core.fsm.fSM.StateGraphNode; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Node</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getGraph <em>Graph</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getSubgraph <em>Subgraph</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getOutgoing <em>Outgoing</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getIncoming <em>Incoming</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getStateGraphNode <em>State Graph Node</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getCaughtTriggers <em>Caught Triggers</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getInheritanceLevel <em>Inheritance Level</em>}</li> + * </ul> + * + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getNode() + * @model + * @generated + */ +public interface Node extends GraphItem { + /** + * Returns the value of the '<em><b>Graph</b></em>' container reference. + * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getNodes <em>Nodes</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Graph</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>Graph</em>' container reference. + * @see #setGraph(Graph) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getNode_Graph() + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph#getNodes + * @model opposite="nodes" transient="false" + * @generated + */ + Graph getGraph(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getGraph <em>Graph</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Graph</em>' container reference. + * @see #getGraph() + * @generated + */ + void setGraph(Graph value); + + /** + * Returns the value of the '<em><b>Subgraph</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Subgraph</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>Subgraph</em>' containment reference. + * @see #setSubgraph(Graph) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getNode_Subgraph() + * @model containment="true" + * @generated + */ + Graph getSubgraph(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getSubgraph <em>Subgraph</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Subgraph</em>' containment reference. + * @see #getSubgraph() + * @generated + */ + void setSubgraph(Graph value); + + /** + * Returns the value of the '<em><b>Outgoing</b></em>' reference list. + * The list contents are of type {@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link}. + * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getSource <em>Source</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Outgoing</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>Outgoing</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getNode_Outgoing() + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getSource + * @model opposite="source" + * @generated + */ + EList<Link> getOutgoing(); + + /** + * Returns the value of the '<em><b>Incoming</b></em>' reference list. + * The list contents are of type {@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link}. + * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTarget <em>Target</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Incoming</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>Incoming</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getNode_Incoming() + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link#getTarget + * @model opposite="target" + * @generated + */ + EList<Link> getIncoming(); + + /** + * Returns the value of the '<em><b>State Graph Node</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>State Graph Node</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>State Graph Node</em>' reference. + * @see #setStateGraphNode(StateGraphNode) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getNode_StateGraphNode() + * @model + * @generated + */ + StateGraphNode getStateGraphNode(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getStateGraphNode <em>State Graph Node</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>State Graph Node</em>' reference. + * @see #getStateGraphNode() + * @generated + */ + void setStateGraphNode(StateGraphNode value); + + /** + * Returns the value of the '<em><b>Caught Triggers</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Caught Triggers</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>Caught Triggers</em>' containment reference list. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getNode_CaughtTriggers() + * @model containment="true" + * @generated + */ + EList<CommonTrigger> getCaughtTriggers(); + + /** + * Returns the value of the '<em><b>Inheritance Level</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Inheritance Level</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Inheritance Level</em>' attribute. + * @see #setInheritanceLevel(int) + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#getNode_InheritanceLevel() + * @model + * @generated + */ + int getInheritanceLevel(); + + /** + * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node#getInheritanceLevel <em>Inheritance Level</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Inheritance Level</em>' attribute. + * @see #getInheritanceLevel() + * @generated + */ + void setInheritanceLevel(int value); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='String type = \"?\";\r\nif (getStateGraphNode() instanceof <%org.eclipse.etrice.core.fsm.fSM.RefinedState%>) {\r\n\ttype = \"RefinedState\";\r\n}\r\nelse if (getStateGraphNode() instanceof <%org.eclipse.etrice.core.fsm.fSM.SimpleState%>) {\r\n\ttype = \"SimpleState\";\r\n}\r\nelse if (getStateGraphNode() instanceof <%org.eclipse.etrice.core.fsm.fSM.TrPoint%>) {\r\n\ttype = \"TrPoint\";\r\n}\r\nelse if (getStateGraphNode() instanceof <%org.eclipse.etrice.core.fsm.fSM.ChoicePoint%>) {\r\n\ttype = \"ChoicePoint\";\r\n}\r\nreturn \"Node \" + getStateGraphNode().getName() + \" (\" + type + \")\";'" + * @generated + */ + String toString(); + +} // Node diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/CommonTriggerImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/CommonTriggerImpl.java new file mode 100644 index 000000000..7601ca0c0 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/CommonTriggerImpl.java @@ -0,0 +1,382 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import org.eclipse.etrice.core.fsm.fSM.AbstractInterfaceItem; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Common Trigger</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl#getMsg <em>Msg</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl#getIfitem <em>Ifitem</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl#isHasGuard <em>Has Guard</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl#getTrigger <em>Trigger</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.CommonTriggerImpl#getLinks <em>Links</em>}</li> + * </ul> + * + * @generated + */ +public class CommonTriggerImpl extends MinimalEObjectImpl.Container implements CommonTrigger { + /** + * The cached value of the '{@link #getMsg() <em>Msg</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMsg() + * @generated + * @ordered + */ + protected EObject msg; + + /** + * The cached value of the '{@link #getIfitem() <em>Ifitem</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIfitem() + * @generated + * @ordered + */ + protected AbstractInterfaceItem ifitem; + + /** + * The default value of the '{@link #isHasGuard() <em>Has Guard</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isHasGuard() + * @generated + * @ordered + */ + protected static final boolean HAS_GUARD_EDEFAULT = false; + + /** + * The cached value of the '{@link #isHasGuard() <em>Has Guard</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isHasGuard() + * @generated + * @ordered + */ + protected boolean hasGuard = HAS_GUARD_EDEFAULT; + + /** + * The default value of the '{@link #getTrigger() <em>Trigger</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTrigger() + * @generated + * @ordered + */ + protected static final String TRIGGER_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTrigger() <em>Trigger</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTrigger() + * @generated + * @ordered + */ + protected String trigger = TRIGGER_EDEFAULT; + + /** + * The cached value of the '{@link #getLinks() <em>Links</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLinks() + * @generated + * @ordered + */ + protected EList<Link> links; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CommonTriggerImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return FsmGenPackage.Literals.COMMON_TRIGGER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EObject getMsg() { + if (msg != null && msg.eIsProxy()) { + InternalEObject oldMsg = (InternalEObject)msg; + msg = eResolveProxy(oldMsg); + if (msg != oldMsg) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.COMMON_TRIGGER__MSG, oldMsg, msg)); + } + } + return msg; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EObject basicGetMsg() { + return msg; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMsg(EObject newMsg) { + EObject oldMsg = msg; + msg = newMsg; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.COMMON_TRIGGER__MSG, oldMsg, msg)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AbstractInterfaceItem getIfitem() { + if (ifitem != null && ifitem.eIsProxy()) { + InternalEObject oldIfitem = (InternalEObject)ifitem; + ifitem = (AbstractInterfaceItem)eResolveProxy(oldIfitem); + if (ifitem != oldIfitem) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.COMMON_TRIGGER__IFITEM, oldIfitem, ifitem)); + } + } + return ifitem; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AbstractInterfaceItem basicGetIfitem() { + return ifitem; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setIfitem(AbstractInterfaceItem newIfitem) { + AbstractInterfaceItem oldIfitem = ifitem; + ifitem = newIfitem; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.COMMON_TRIGGER__IFITEM, oldIfitem, ifitem)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getTrigger() { + return trigger; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTrigger(String newTrigger) { + String oldTrigger = trigger; + trigger = newTrigger; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.COMMON_TRIGGER__TRIGGER, oldTrigger, trigger)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Link> getLinks() { + if (links == null) { + links = new EObjectResolvingEList<Link>(Link.class, this, FsmGenPackage.COMMON_TRIGGER__LINKS); + } + return links; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isHasGuard() { + return hasGuard; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHasGuard(boolean newHasGuard) { + boolean oldHasGuard = hasGuard; + hasGuard = newHasGuard; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.COMMON_TRIGGER__HAS_GUARD, oldHasGuard, hasGuard)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FsmGenPackage.COMMON_TRIGGER__MSG: + if (resolve) return getMsg(); + return basicGetMsg(); + case FsmGenPackage.COMMON_TRIGGER__IFITEM: + if (resolve) return getIfitem(); + return basicGetIfitem(); + case FsmGenPackage.COMMON_TRIGGER__HAS_GUARD: + return isHasGuard(); + case FsmGenPackage.COMMON_TRIGGER__TRIGGER: + return getTrigger(); + case FsmGenPackage.COMMON_TRIGGER__LINKS: + return getLinks(); + } + 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 FsmGenPackage.COMMON_TRIGGER__MSG: + setMsg((EObject)newValue); + return; + case FsmGenPackage.COMMON_TRIGGER__IFITEM: + setIfitem((AbstractInterfaceItem)newValue); + return; + case FsmGenPackage.COMMON_TRIGGER__HAS_GUARD: + setHasGuard((Boolean)newValue); + return; + case FsmGenPackage.COMMON_TRIGGER__TRIGGER: + setTrigger((String)newValue); + return; + case FsmGenPackage.COMMON_TRIGGER__LINKS: + getLinks().clear(); + getLinks().addAll((Collection<? extends Link>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FsmGenPackage.COMMON_TRIGGER__MSG: + setMsg((EObject)null); + return; + case FsmGenPackage.COMMON_TRIGGER__IFITEM: + setIfitem((AbstractInterfaceItem)null); + return; + case FsmGenPackage.COMMON_TRIGGER__HAS_GUARD: + setHasGuard(HAS_GUARD_EDEFAULT); + return; + case FsmGenPackage.COMMON_TRIGGER__TRIGGER: + setTrigger(TRIGGER_EDEFAULT); + return; + case FsmGenPackage.COMMON_TRIGGER__LINKS: + getLinks().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FsmGenPackage.COMMON_TRIGGER__MSG: + return msg != null; + case FsmGenPackage.COMMON_TRIGGER__IFITEM: + return ifitem != null; + case FsmGenPackage.COMMON_TRIGGER__HAS_GUARD: + return hasGuard != HAS_GUARD_EDEFAULT; + case FsmGenPackage.COMMON_TRIGGER__TRIGGER: + return TRIGGER_EDEFAULT == null ? trigger != null : !TRIGGER_EDEFAULT.equals(trigger); + case FsmGenPackage.COMMON_TRIGGER__LINKS: + return links != null && !links.isEmpty(); + } + 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(" (hasGuard: "); + result.append(hasGuard); + result.append(", trigger: "); + result.append(trigger); + result.append(')'); + return result.toString(); + } + +} //CommonTriggerImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/FsmGenFactoryImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/FsmGenFactoryImpl.java new file mode 100644 index 000000000..292f423a6 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/FsmGenFactoryImpl.java @@ -0,0 +1,150 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class FsmGenFactoryImpl extends EFactoryImpl implements FsmGenFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static FsmGenFactory init() { + try { + FsmGenFactory theFsmGenFactory = (FsmGenFactory)EPackage.Registry.INSTANCE.getEFactory(FsmGenPackage.eNS_URI); + if (theFsmGenFactory != null) { + return theFsmGenFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new FsmGenFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FsmGenFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case FsmGenPackage.GRAPH_CONTAINER: return createGraphContainer(); + case FsmGenPackage.GRAPH: return createGraph(); + case FsmGenPackage.GRAPH_ITEM: return createGraphItem(); + case FsmGenPackage.NODE: return createNode(); + case FsmGenPackage.LINK: return createLink(); + case FsmGenPackage.COMMON_TRIGGER: return createCommonTrigger(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GraphContainer createGraphContainer() { + GraphContainerImpl graphContainer = new GraphContainerImpl(); + return graphContainer; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph createGraph() { + GraphImpl graph = new GraphImpl(); + return graph; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GraphItem createGraphItem() { + GraphItemImpl graphItem = new GraphItemImpl(); + return graphItem; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node createNode() { + NodeImpl node = new NodeImpl(); + return node; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Link createLink() { + LinkImpl link = new LinkImpl(); + return link; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CommonTrigger createCommonTrigger() { + CommonTriggerImpl commonTrigger = new CommonTriggerImpl(); + return commonTrigger; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FsmGenPackage getFsmGenPackage() { + return (FsmGenPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static FsmGenPackage getPackage() { + return FsmGenPackage.eINSTANCE; + } + +} //FsmGenFactoryImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/FsmGenPackageImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/FsmGenPackageImpl.java new file mode 100644 index 000000000..fde7c38ec --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/FsmGenPackageImpl.java @@ -0,0 +1,627 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EOperation; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import org.eclipse.etrice.core.fsm.fSM.FSMPackage; + +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenFactory; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class FsmGenPackageImpl extends EPackageImpl implements FsmGenPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass graphContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass graphEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass graphItemEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass nodeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass linkEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass commonTriggerEClass = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage#eNS_URI + * @see #init() + * @generated + */ + private FsmGenPackageImpl() { + super(eNS_URI, FsmGenFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link FsmGenPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static FsmGenPackage init() { + if (isInited) return (FsmGenPackage)EPackage.Registry.INSTANCE.getEPackage(FsmGenPackage.eNS_URI); + + // Obtain or create and register package + FsmGenPackageImpl theFsmGenPackage = (FsmGenPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FsmGenPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FsmGenPackageImpl()); + + isInited = true; + + // Initialize simple dependencies + FSMPackage.eINSTANCE.eClass(); + + // Create package meta-data objects + theFsmGenPackage.createPackageContents(); + + // Initialize created meta-data + theFsmGenPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theFsmGenPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(FsmGenPackage.eNS_URI, theFsmGenPackage); + return theFsmGenPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGraphContainer() { + return graphContainerEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraphContainer_Graph() { + return (EReference)graphContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraphContainer_Component() { + return (EReference)graphContainerEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getGraphContainer_InitializedTriggersInStates() { + return (EAttribute)graphContainerEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getGraphContainer_InitializedChainHeads() { + return (EAttribute)graphContainerEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getGraphContainer_InitializedCommonData() { + return (EAttribute)graphContainerEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGraph() { + return graphEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraph_Nodes() { + return (EReference)graphEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraph_Links() { + return (EReference)graphEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraph_StateGraph() { + return (EReference)graphEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EOperation getGraph__ToString() { + return graphEClass.getEOperations().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGraphItem() { + return graphItemEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getGraphItem_Inherited() { + return (EAttribute)graphItemEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNode() { + return nodeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode_Graph() { + return (EReference)nodeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode_Subgraph() { + return (EReference)nodeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode_Outgoing() { + return (EReference)nodeEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode_Incoming() { + return (EReference)nodeEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode_StateGraphNode() { + return (EReference)nodeEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode_CaughtTriggers() { + return (EReference)nodeEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNode_InheritanceLevel() { + return (EAttribute)nodeEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EOperation getNode__ToString() { + return nodeEClass.getEOperations().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getLink() { + return linkEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getLink_Graph() { + return (EReference)linkEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getLink_Source() { + return (EReference)linkEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getLink_Target() { + return (EReference)linkEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getLink_ChainHeads() { + return (EReference)linkEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getLink_IfitemTriggered() { + return (EAttribute)linkEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getLink_CommonData() { + return (EReference)linkEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getLink_Transition() { + return (EReference)linkEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EOperation getLink__ToString() { + return linkEClass.getEOperations().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getCommonTrigger() { + return commonTriggerEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCommonTrigger_Msg() { + return (EReference)commonTriggerEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCommonTrigger_Ifitem() { + return (EReference)commonTriggerEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCommonTrigger_Trigger() { + return (EAttribute)commonTriggerEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCommonTrigger_Links() { + return (EReference)commonTriggerEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCommonTrigger_HasGuard() { + return (EAttribute)commonTriggerEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FsmGenFactory getFsmGenFactory() { + return (FsmGenFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + graphContainerEClass = createEClass(GRAPH_CONTAINER); + createEReference(graphContainerEClass, GRAPH_CONTAINER__GRAPH); + createEReference(graphContainerEClass, GRAPH_CONTAINER__COMPONENT); + createEAttribute(graphContainerEClass, GRAPH_CONTAINER__INITIALIZED_TRIGGERS_IN_STATES); + createEAttribute(graphContainerEClass, GRAPH_CONTAINER__INITIALIZED_CHAIN_HEADS); + createEAttribute(graphContainerEClass, GRAPH_CONTAINER__INITIALIZED_COMMON_DATA); + + graphEClass = createEClass(GRAPH); + createEReference(graphEClass, GRAPH__NODES); + createEReference(graphEClass, GRAPH__LINKS); + createEReference(graphEClass, GRAPH__STATE_GRAPH); + createEOperation(graphEClass, GRAPH___TO_STRING); + + graphItemEClass = createEClass(GRAPH_ITEM); + createEAttribute(graphItemEClass, GRAPH_ITEM__INHERITED); + + nodeEClass = createEClass(NODE); + createEReference(nodeEClass, NODE__GRAPH); + createEReference(nodeEClass, NODE__SUBGRAPH); + createEReference(nodeEClass, NODE__OUTGOING); + createEReference(nodeEClass, NODE__INCOMING); + createEReference(nodeEClass, NODE__STATE_GRAPH_NODE); + createEReference(nodeEClass, NODE__CAUGHT_TRIGGERS); + createEAttribute(nodeEClass, NODE__INHERITANCE_LEVEL); + createEOperation(nodeEClass, NODE___TO_STRING); + + linkEClass = createEClass(LINK); + createEReference(linkEClass, LINK__GRAPH); + createEReference(linkEClass, LINK__SOURCE); + createEReference(linkEClass, LINK__TARGET); + createEReference(linkEClass, LINK__CHAIN_HEADS); + createEAttribute(linkEClass, LINK__IFITEM_TRIGGERED); + createEReference(linkEClass, LINK__COMMON_DATA); + createEReference(linkEClass, LINK__TRANSITION); + createEOperation(linkEClass, LINK___TO_STRING); + + commonTriggerEClass = createEClass(COMMON_TRIGGER); + createEReference(commonTriggerEClass, COMMON_TRIGGER__MSG); + createEReference(commonTriggerEClass, COMMON_TRIGGER__IFITEM); + createEAttribute(commonTriggerEClass, COMMON_TRIGGER__HAS_GUARD); + createEAttribute(commonTriggerEClass, COMMON_TRIGGER__TRIGGER); + createEReference(commonTriggerEClass, COMMON_TRIGGER__LINKS); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + FSMPackage theFSMPackage = (FSMPackage)EPackage.Registry.INSTANCE.getEPackage(FSMPackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + nodeEClass.getESuperTypes().add(this.getGraphItem()); + linkEClass.getESuperTypes().add(this.getGraphItem()); + + // Initialize classes, features, and operations; add parameters + initEClass(graphContainerEClass, GraphContainer.class, "GraphContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGraphContainer_Graph(), this.getGraph(), null, "graph", null, 0, 1, GraphContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getGraphContainer_Component(), theFSMPackage.getModelComponent(), null, "component", null, 0, 1, GraphContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getGraphContainer_InitializedTriggersInStates(), ecorePackage.getEBoolean(), "initializedTriggersInStates", null, 0, 1, GraphContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getGraphContainer_InitializedChainHeads(), ecorePackage.getEBoolean(), "initializedChainHeads", null, 0, 1, GraphContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getGraphContainer_InitializedCommonData(), ecorePackage.getEBoolean(), "initializedCommonData", null, 0, 1, GraphContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(graphEClass, Graph.class, "Graph", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGraph_Nodes(), this.getNode(), this.getNode_Graph(), "nodes", null, 0, -1, Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getGraph_Links(), this.getLink(), this.getLink_Graph(), "links", null, 0, -1, Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getGraph_StateGraph(), theFSMPackage.getStateGraph(), null, "stateGraph", null, 0, 1, Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEOperation(getGraph__ToString(), ecorePackage.getEString(), "toString", 0, 1, IS_UNIQUE, IS_ORDERED); + + initEClass(graphItemEClass, GraphItem.class, "GraphItem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getGraphItem_Inherited(), ecorePackage.getEBoolean(), "inherited", "false", 0, 1, GraphItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNode_Graph(), this.getGraph(), this.getGraph_Nodes(), "graph", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNode_Subgraph(), this.getGraph(), null, "subgraph", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNode_Outgoing(), this.getLink(), this.getLink_Source(), "outgoing", null, 0, -1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNode_Incoming(), this.getLink(), this.getLink_Target(), "incoming", null, 0, -1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNode_StateGraphNode(), theFSMPackage.getStateGraphNode(), null, "stateGraphNode", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNode_CaughtTriggers(), this.getCommonTrigger(), null, "caughtTriggers", null, 0, -1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getNode_InheritanceLevel(), ecorePackage.getEInt(), "inheritanceLevel", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEOperation(getNode__ToString(), ecorePackage.getEString(), "toString", 0, 1, IS_UNIQUE, IS_ORDERED); + + initEClass(linkEClass, Link.class, "Link", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLink_Graph(), this.getGraph(), this.getGraph_Links(), "graph", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLink_Source(), this.getNode(), this.getNode_Outgoing(), "source", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLink_Target(), this.getNode(), this.getNode_Incoming(), "target", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLink_ChainHeads(), this.getLink(), null, "chainHeads", null, 0, -1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getLink_IfitemTriggered(), ecorePackage.getEBoolean(), "ifitemTriggered", "true", 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLink_CommonData(), ecorePackage.getEObject(), null, "commonData", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLink_Transition(), theFSMPackage.getTransitionBase(), null, "transition", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEOperation(getLink__ToString(), ecorePackage.getEString(), "toString", 0, 1, IS_UNIQUE, IS_ORDERED); + + initEClass(commonTriggerEClass, CommonTrigger.class, "CommonTrigger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getCommonTrigger_Msg(), ecorePackage.getEObject(), null, "msg", null, 0, 1, CommonTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCommonTrigger_Ifitem(), theFSMPackage.getAbstractInterfaceItem(), null, "ifitem", null, 0, 1, CommonTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCommonTrigger_HasGuard(), ecorePackage.getEBoolean(), "hasGuard", null, 0, 1, CommonTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCommonTrigger_Trigger(), ecorePackage.getEString(), "trigger", null, 0, 1, CommonTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCommonTrigger_Links(), this.getLink(), null, "links", null, 0, -1, CommonTrigger.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); + } + +} //FsmGenPackageImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphContainerImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphContainerImpl.java new file mode 100644 index 000000000..12e3225c5 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphContainerImpl.java @@ -0,0 +1,414 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.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.impl.MinimalEObjectImpl; + +import org.eclipse.etrice.core.fsm.fSM.ModelComponent; + +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Graph Container</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl#getGraph <em>Graph</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl#getComponent <em>Component</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl#isInitializedTriggersInStates <em>Initialized Triggers In States</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl#isInitializedChainHeads <em>Initialized Chain Heads</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphContainerImpl#isInitializedCommonData <em>Initialized Common Data</em>}</li> + * </ul> + * + * @generated + */ +public class GraphContainerImpl extends MinimalEObjectImpl.Container implements GraphContainer { + /** + * The cached value of the '{@link #getGraph() <em>Graph</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGraph() + * @generated + * @ordered + */ + protected Graph graph; + + /** + * The cached value of the '{@link #getComponent() <em>Component</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getComponent() + * @generated + * @ordered + */ + protected ModelComponent component; + + /** + * The default value of the '{@link #isInitializedTriggersInStates() <em>Initialized Triggers In States</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isInitializedTriggersInStates() + * @generated + * @ordered + */ + protected static final boolean INITIALIZED_TRIGGERS_IN_STATES_EDEFAULT = false; + + /** + * The cached value of the '{@link #isInitializedTriggersInStates() <em>Initialized Triggers In States</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isInitializedTriggersInStates() + * @generated + * @ordered + */ + protected boolean initializedTriggersInStates = INITIALIZED_TRIGGERS_IN_STATES_EDEFAULT; + + /** + * The default value of the '{@link #isInitializedChainHeads() <em>Initialized Chain Heads</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isInitializedChainHeads() + * @generated + * @ordered + */ + protected static final boolean INITIALIZED_CHAIN_HEADS_EDEFAULT = false; + + /** + * The cached value of the '{@link #isInitializedChainHeads() <em>Initialized Chain Heads</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isInitializedChainHeads() + * @generated + * @ordered + */ + protected boolean initializedChainHeads = INITIALIZED_CHAIN_HEADS_EDEFAULT; + + /** + * The default value of the '{@link #isInitializedCommonData() <em>Initialized Common Data</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isInitializedCommonData() + * @generated + * @ordered + */ + protected static final boolean INITIALIZED_COMMON_DATA_EDEFAULT = false; + + /** + * The cached value of the '{@link #isInitializedCommonData() <em>Initialized Common Data</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isInitializedCommonData() + * @generated + * @ordered + */ + protected boolean initializedCommonData = INITIALIZED_COMMON_DATA_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GraphContainerImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return FsmGenPackage.Literals.GRAPH_CONTAINER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph getGraph() { + return graph; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetGraph(Graph newGraph, NotificationChain msgs) { + Graph oldGraph = graph; + graph = newGraph; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmGenPackage.GRAPH_CONTAINER__GRAPH, oldGraph, newGraph); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGraph(Graph newGraph) { + if (newGraph != graph) { + NotificationChain msgs = null; + if (graph != null) + msgs = ((InternalEObject)graph).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmGenPackage.GRAPH_CONTAINER__GRAPH, null, msgs); + if (newGraph != null) + msgs = ((InternalEObject)newGraph).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmGenPackage.GRAPH_CONTAINER__GRAPH, null, msgs); + msgs = basicSetGraph(newGraph, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.GRAPH_CONTAINER__GRAPH, newGraph, newGraph)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ModelComponent getComponent() { + if (component != null && component.eIsProxy()) { + InternalEObject oldComponent = (InternalEObject)component; + component = (ModelComponent)eResolveProxy(oldComponent); + if (component != oldComponent) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.GRAPH_CONTAINER__COMPONENT, oldComponent, component)); + } + } + return component; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ModelComponent basicGetComponent() { + return component; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setComponent(ModelComponent newComponent) { + ModelComponent oldComponent = component; + component = newComponent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.GRAPH_CONTAINER__COMPONENT, oldComponent, component)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isInitializedTriggersInStates() { + return initializedTriggersInStates; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInitializedTriggersInStates(boolean newInitializedTriggersInStates) { + boolean oldInitializedTriggersInStates = initializedTriggersInStates; + initializedTriggersInStates = newInitializedTriggersInStates; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_TRIGGERS_IN_STATES, oldInitializedTriggersInStates, initializedTriggersInStates)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isInitializedChainHeads() { + return initializedChainHeads; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInitializedChainHeads(boolean newInitializedChainHeads) { + boolean oldInitializedChainHeads = initializedChainHeads; + initializedChainHeads = newInitializedChainHeads; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_CHAIN_HEADS, oldInitializedChainHeads, initializedChainHeads)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isInitializedCommonData() { + return initializedCommonData; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInitializedCommonData(boolean newInitializedCommonData) { + boolean oldInitializedCommonData = initializedCommonData; + initializedCommonData = newInitializedCommonData; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_COMMON_DATA, oldInitializedCommonData, initializedCommonData)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FsmGenPackage.GRAPH_CONTAINER__GRAPH: + return basicSetGraph(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 FsmGenPackage.GRAPH_CONTAINER__GRAPH: + return getGraph(); + case FsmGenPackage.GRAPH_CONTAINER__COMPONENT: + if (resolve) return getComponent(); + return basicGetComponent(); + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_TRIGGERS_IN_STATES: + return isInitializedTriggersInStates(); + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_CHAIN_HEADS: + return isInitializedChainHeads(); + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_COMMON_DATA: + return isInitializedCommonData(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FsmGenPackage.GRAPH_CONTAINER__GRAPH: + setGraph((Graph)newValue); + return; + case FsmGenPackage.GRAPH_CONTAINER__COMPONENT: + setComponent((ModelComponent)newValue); + return; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_TRIGGERS_IN_STATES: + setInitializedTriggersInStates((Boolean)newValue); + return; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_CHAIN_HEADS: + setInitializedChainHeads((Boolean)newValue); + return; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_COMMON_DATA: + setInitializedCommonData((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FsmGenPackage.GRAPH_CONTAINER__GRAPH: + setGraph((Graph)null); + return; + case FsmGenPackage.GRAPH_CONTAINER__COMPONENT: + setComponent((ModelComponent)null); + return; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_TRIGGERS_IN_STATES: + setInitializedTriggersInStates(INITIALIZED_TRIGGERS_IN_STATES_EDEFAULT); + return; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_CHAIN_HEADS: + setInitializedChainHeads(INITIALIZED_CHAIN_HEADS_EDEFAULT); + return; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_COMMON_DATA: + setInitializedCommonData(INITIALIZED_COMMON_DATA_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FsmGenPackage.GRAPH_CONTAINER__GRAPH: + return graph != null; + case FsmGenPackage.GRAPH_CONTAINER__COMPONENT: + return component != null; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_TRIGGERS_IN_STATES: + return initializedTriggersInStates != INITIALIZED_TRIGGERS_IN_STATES_EDEFAULT; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_CHAIN_HEADS: + return initializedChainHeads != INITIALIZED_CHAIN_HEADS_EDEFAULT; + case FsmGenPackage.GRAPH_CONTAINER__INITIALIZED_COMMON_DATA: + return initializedCommonData != INITIALIZED_COMMON_DATA_EDEFAULT; + } + 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(" (initializedTriggersInStates: "); + result.append(initializedTriggersInStates); + result.append(", initializedChainHeads: "); + result.append(initializedChainHeads); + result.append(", initializedCommonData: "); + result.append(initializedCommonData); + result.append(')'); + return result.toString(); + } + +} //GraphContainerImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphImpl.java new file mode 100644 index 000000000..7a682f0ee --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphImpl.java @@ -0,0 +1,301 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl; + +import java.lang.reflect.InvocationTargetException; +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.etrice.core.fsm.fSM.StateGraph; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Graph</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphImpl#getNodes <em>Nodes</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphImpl#getLinks <em>Links</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphImpl#getStateGraph <em>State Graph</em>}</li> + * </ul> + * + * @generated + */ +public class GraphImpl extends MinimalEObjectImpl.Container implements Graph { + /** + * The cached value of the '{@link #getNodes() <em>Nodes</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNodes() + * @generated + * @ordered + */ + protected EList<Node> nodes; + + /** + * The cached value of the '{@link #getLinks() <em>Links</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLinks() + * @generated + * @ordered + */ + protected EList<Link> links; + + /** + * The cached value of the '{@link #getStateGraph() <em>State Graph</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStateGraph() + * @generated + * @ordered + */ + protected StateGraph stateGraph; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GraphImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return FsmGenPackage.Literals.GRAPH; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Node> getNodes() { + if (nodes == null) { + nodes = new EObjectContainmentWithInverseEList<Node>(Node.class, this, FsmGenPackage.GRAPH__NODES, FsmGenPackage.NODE__GRAPH); + } + return nodes; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Link> getLinks() { + if (links == null) { + links = new EObjectContainmentWithInverseEList<Link>(Link.class, this, FsmGenPackage.GRAPH__LINKS, FsmGenPackage.LINK__GRAPH); + } + return links; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateGraph getStateGraph() { + if (stateGraph != null && stateGraph.eIsProxy()) { + InternalEObject oldStateGraph = (InternalEObject)stateGraph; + stateGraph = (StateGraph)eResolveProxy(oldStateGraph); + if (stateGraph != oldStateGraph) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.GRAPH__STATE_GRAPH, oldStateGraph, stateGraph)); + } + } + return stateGraph; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateGraph basicGetStateGraph() { + return stateGraph; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStateGraph(StateGraph newStateGraph) { + StateGraph oldStateGraph = stateGraph; + stateGraph = newStateGraph; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.GRAPH__STATE_GRAPH, oldStateGraph, stateGraph)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + StringBuilder result = new StringBuilder(); + result.append("StateGraph {\n"); + for (Node n : getNodes()) { + result.append(" " + n.toString() + "\n"); + } + for (Link l : getLinks()) { + result.append(" " + l.toString() + "\n"); + } + result.append("}"); + return result.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FsmGenPackage.GRAPH__NODES: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getNodes()).basicAdd(otherEnd, msgs); + case FsmGenPackage.GRAPH__LINKS: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getLinks()).basicAdd(otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FsmGenPackage.GRAPH__NODES: + return ((InternalEList<?>)getNodes()).basicRemove(otherEnd, msgs); + case FsmGenPackage.GRAPH__LINKS: + return ((InternalEList<?>)getLinks()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FsmGenPackage.GRAPH__NODES: + return getNodes(); + case FsmGenPackage.GRAPH__LINKS: + return getLinks(); + case FsmGenPackage.GRAPH__STATE_GRAPH: + if (resolve) return getStateGraph(); + return basicGetStateGraph(); + } + 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 FsmGenPackage.GRAPH__NODES: + getNodes().clear(); + getNodes().addAll((Collection<? extends Node>)newValue); + return; + case FsmGenPackage.GRAPH__LINKS: + getLinks().clear(); + getLinks().addAll((Collection<? extends Link>)newValue); + return; + case FsmGenPackage.GRAPH__STATE_GRAPH: + setStateGraph((StateGraph)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FsmGenPackage.GRAPH__NODES: + getNodes().clear(); + return; + case FsmGenPackage.GRAPH__LINKS: + getLinks().clear(); + return; + case FsmGenPackage.GRAPH__STATE_GRAPH: + setStateGraph((StateGraph)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FsmGenPackage.GRAPH__NODES: + return nodes != null && !nodes.isEmpty(); + case FsmGenPackage.GRAPH__LINKS: + return links != null && !links.isEmpty(); + case FsmGenPackage.GRAPH__STATE_GRAPH: + return stateGraph != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException { + switch (operationID) { + case FsmGenPackage.GRAPH___TO_STRING: + return toString(); + } + return super.eInvoke(operationID, arguments); + } + +} //GraphImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphItemImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphItemImpl.java new file mode 100644 index 000000000..f52472dbb --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/GraphItemImpl.java @@ -0,0 +1,163 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Graph Item</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.GraphItemImpl#isInherited <em>Inherited</em>}</li> + * </ul> + * + * @generated + */ +public class GraphItemImpl extends MinimalEObjectImpl.Container implements GraphItem { + /** + * The default value of the '{@link #isInherited() <em>Inherited</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isInherited() + * @generated + * @ordered + */ + protected static final boolean INHERITED_EDEFAULT = false; + + /** + * The cached value of the '{@link #isInherited() <em>Inherited</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isInherited() + * @generated + * @ordered + */ + protected boolean inherited = INHERITED_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GraphItemImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return FsmGenPackage.Literals.GRAPH_ITEM; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isInherited() { + return inherited; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInherited(boolean newInherited) { + boolean oldInherited = inherited; + inherited = newInherited; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.GRAPH_ITEM__INHERITED, oldInherited, inherited)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FsmGenPackage.GRAPH_ITEM__INHERITED: + return isInherited(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FsmGenPackage.GRAPH_ITEM__INHERITED: + setInherited((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FsmGenPackage.GRAPH_ITEM__INHERITED: + setInherited(INHERITED_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FsmGenPackage.GRAPH_ITEM__INHERITED: + return inherited != INHERITED_EDEFAULT; + } + 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(" (inherited: "); + result.append(inherited); + result.append(')'); + return result.toString(); + } + +} //GraphItemImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/LinkImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/LinkImpl.java new file mode 100644 index 000000000..a61a36a53 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/LinkImpl.java @@ -0,0 +1,621 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl; + +import java.lang.reflect.InvocationTargetException; +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.EObject; +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.etrice.core.fsm.fSM.InitialTransition; +import org.eclipse.etrice.core.fsm.fSM.NonInitialTransition; +import org.eclipse.etrice.core.fsm.fSM.RefinedTransition; +import org.eclipse.etrice.core.fsm.fSM.TransitionBase; + +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Link</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl#getGraph <em>Graph</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl#getSource <em>Source</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl#getTarget <em>Target</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl#getChainHeads <em>Chain Heads</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl#isIfitemTriggered <em>Ifitem Triggered</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl#getCommonData <em>Common Data</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.LinkImpl#getTransition <em>Transition</em>}</li> + * </ul> + * + * @generated + */ +public class LinkImpl extends GraphItemImpl implements Link { + /** + * The cached value of the '{@link #getSource() <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSource() + * @generated + * @ordered + */ + protected Node source; + + /** + * The cached value of the '{@link #getTarget() <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTarget() + * @generated + * @ordered + */ + protected Node target; + + /** + * The cached value of the '{@link #getChainHeads() <em>Chain Heads</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChainHeads() + * @generated + * @ordered + */ + protected EList<Link> chainHeads; + + /** + * The default value of the '{@link #isIfitemTriggered() <em>Ifitem Triggered</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isIfitemTriggered() + * @generated + * @ordered + */ + protected static final boolean IFITEM_TRIGGERED_EDEFAULT = true; + + /** + * The cached value of the '{@link #isIfitemTriggered() <em>Ifitem Triggered</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isIfitemTriggered() + * @generated + * @ordered + */ + protected boolean ifitemTriggered = IFITEM_TRIGGERED_EDEFAULT; + + /** + * The cached value of the '{@link #getCommonData() <em>Common Data</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCommonData() + * @generated + * @ordered + */ + protected EObject commonData; + + /** + * The cached value of the '{@link #getTransition() <em>Transition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTransition() + * @generated + * @ordered + */ + protected TransitionBase transition; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LinkImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return FsmGenPackage.Literals.LINK; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph getGraph() { + if (eContainerFeatureID() != FsmGenPackage.LINK__GRAPH) return null; + return (Graph)eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetGraph(Graph newGraph, NotificationChain msgs) { + msgs = eBasicSetContainer((InternalEObject)newGraph, FsmGenPackage.LINK__GRAPH, msgs); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGraph(Graph newGraph) { + if (newGraph != eInternalContainer() || (eContainerFeatureID() != FsmGenPackage.LINK__GRAPH && newGraph != null)) { + if (EcoreUtil.isAncestor(this, newGraph)) + throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); + NotificationChain msgs = null; + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + if (newGraph != null) + msgs = ((InternalEObject)newGraph).eInverseAdd(this, FsmGenPackage.GRAPH__LINKS, Graph.class, msgs); + msgs = basicSetGraph(newGraph, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.LINK__GRAPH, newGraph, newGraph)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node getSource() { + if (source != null && source.eIsProxy()) { + InternalEObject oldSource = (InternalEObject)source; + source = (Node)eResolveProxy(oldSource); + if (source != oldSource) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.LINK__SOURCE, oldSource, source)); + } + } + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node basicGetSource() { + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetSource(Node newSource, NotificationChain msgs) { + Node oldSource = source; + source = newSource; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmGenPackage.LINK__SOURCE, oldSource, newSource); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSource(Node newSource) { + if (newSource != source) { + NotificationChain msgs = null; + if (source != null) + msgs = ((InternalEObject)source).eInverseRemove(this, FsmGenPackage.NODE__OUTGOING, Node.class, msgs); + if (newSource != null) + msgs = ((InternalEObject)newSource).eInverseAdd(this, FsmGenPackage.NODE__OUTGOING, Node.class, msgs); + msgs = basicSetSource(newSource, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.LINK__SOURCE, newSource, newSource)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node getTarget() { + if (target != null && target.eIsProxy()) { + InternalEObject oldTarget = (InternalEObject)target; + target = (Node)eResolveProxy(oldTarget); + if (target != oldTarget) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.LINK__TARGET, oldTarget, target)); + } + } + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node basicGetTarget() { + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetTarget(Node newTarget, NotificationChain msgs) { + Node oldTarget = target; + target = newTarget; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmGenPackage.LINK__TARGET, oldTarget, newTarget); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTarget(Node newTarget) { + if (newTarget != target) { + NotificationChain msgs = null; + if (target != null) + msgs = ((InternalEObject)target).eInverseRemove(this, FsmGenPackage.NODE__INCOMING, Node.class, msgs); + if (newTarget != null) + msgs = ((InternalEObject)newTarget).eInverseAdd(this, FsmGenPackage.NODE__INCOMING, Node.class, msgs); + msgs = basicSetTarget(newTarget, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.LINK__TARGET, newTarget, newTarget)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Link> getChainHeads() { + if (chainHeads == null) { + chainHeads = new EObjectResolvingEList<Link>(Link.class, this, FsmGenPackage.LINK__CHAIN_HEADS); + } + return chainHeads; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isIfitemTriggered() { + return ifitemTriggered; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setIfitemTriggered(boolean newIfitemTriggered) { + boolean oldIfitemTriggered = ifitemTriggered; + ifitemTriggered = newIfitemTriggered; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.LINK__IFITEM_TRIGGERED, oldIfitemTriggered, ifitemTriggered)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EObject getCommonData() { + if (commonData != null && commonData.eIsProxy()) { + InternalEObject oldCommonData = (InternalEObject)commonData; + commonData = eResolveProxy(oldCommonData); + if (commonData != oldCommonData) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.LINK__COMMON_DATA, oldCommonData, commonData)); + } + } + return commonData; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EObject basicGetCommonData() { + return commonData; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCommonData(EObject newCommonData) { + EObject oldCommonData = commonData; + commonData = newCommonData; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.LINK__COMMON_DATA, oldCommonData, commonData)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TransitionBase getTransition() { + if (transition != null && transition.eIsProxy()) { + InternalEObject oldTransition = (InternalEObject)transition; + transition = (TransitionBase)eResolveProxy(oldTransition); + if (transition != oldTransition) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.LINK__TRANSITION, oldTransition, transition)); + } + } + return transition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TransitionBase basicGetTransition() { + return transition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTransition(TransitionBase newTransition) { + TransitionBase oldTransition = transition; + transition = newTransition; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.LINK__TRANSITION, oldTransition, transition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (getTransition() instanceof InitialTransition) { + return "Link initial -> " + getTarget().toString() + " (InitialTransition)"; + } + else if (getTransition() instanceof NonInitialTransition) { + return "Link " + getSource().toString() + " -> " + getTarget().toString() + " (InitialTransition)"; + } + else if (getTransition() instanceof RefinedTransition) { + return "RefinedTransition"; + } + return "?"; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FsmGenPackage.LINK__GRAPH: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetGraph((Graph)otherEnd, msgs); + case FsmGenPackage.LINK__SOURCE: + if (source != null) + msgs = ((InternalEObject)source).eInverseRemove(this, FsmGenPackage.NODE__OUTGOING, Node.class, msgs); + return basicSetSource((Node)otherEnd, msgs); + case FsmGenPackage.LINK__TARGET: + if (target != null) + msgs = ((InternalEObject)target).eInverseRemove(this, FsmGenPackage.NODE__INCOMING, Node.class, msgs); + return basicSetTarget((Node)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 FsmGenPackage.LINK__GRAPH: + return basicSetGraph(null, msgs); + case FsmGenPackage.LINK__SOURCE: + return basicSetSource(null, msgs); + case FsmGenPackage.LINK__TARGET: + return basicSetTarget(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { + switch (eContainerFeatureID()) { + case FsmGenPackage.LINK__GRAPH: + return eInternalContainer().eInverseRemove(this, FsmGenPackage.GRAPH__LINKS, Graph.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 FsmGenPackage.LINK__GRAPH: + return getGraph(); + case FsmGenPackage.LINK__SOURCE: + if (resolve) return getSource(); + return basicGetSource(); + case FsmGenPackage.LINK__TARGET: + if (resolve) return getTarget(); + return basicGetTarget(); + case FsmGenPackage.LINK__CHAIN_HEADS: + return getChainHeads(); + case FsmGenPackage.LINK__IFITEM_TRIGGERED: + return isIfitemTriggered(); + case FsmGenPackage.LINK__COMMON_DATA: + if (resolve) return getCommonData(); + return basicGetCommonData(); + case FsmGenPackage.LINK__TRANSITION: + if (resolve) return getTransition(); + return basicGetTransition(); + } + 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 FsmGenPackage.LINK__GRAPH: + setGraph((Graph)newValue); + return; + case FsmGenPackage.LINK__SOURCE: + setSource((Node)newValue); + return; + case FsmGenPackage.LINK__TARGET: + setTarget((Node)newValue); + return; + case FsmGenPackage.LINK__CHAIN_HEADS: + getChainHeads().clear(); + getChainHeads().addAll((Collection<? extends Link>)newValue); + return; + case FsmGenPackage.LINK__IFITEM_TRIGGERED: + setIfitemTriggered((Boolean)newValue); + return; + case FsmGenPackage.LINK__COMMON_DATA: + setCommonData((EObject)newValue); + return; + case FsmGenPackage.LINK__TRANSITION: + setTransition((TransitionBase)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FsmGenPackage.LINK__GRAPH: + setGraph((Graph)null); + return; + case FsmGenPackage.LINK__SOURCE: + setSource((Node)null); + return; + case FsmGenPackage.LINK__TARGET: + setTarget((Node)null); + return; + case FsmGenPackage.LINK__CHAIN_HEADS: + getChainHeads().clear(); + return; + case FsmGenPackage.LINK__IFITEM_TRIGGERED: + setIfitemTriggered(IFITEM_TRIGGERED_EDEFAULT); + return; + case FsmGenPackage.LINK__COMMON_DATA: + setCommonData((EObject)null); + return; + case FsmGenPackage.LINK__TRANSITION: + setTransition((TransitionBase)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FsmGenPackage.LINK__GRAPH: + return getGraph() != null; + case FsmGenPackage.LINK__SOURCE: + return source != null; + case FsmGenPackage.LINK__TARGET: + return target != null; + case FsmGenPackage.LINK__CHAIN_HEADS: + return chainHeads != null && !chainHeads.isEmpty(); + case FsmGenPackage.LINK__IFITEM_TRIGGERED: + return ifitemTriggered != IFITEM_TRIGGERED_EDEFAULT; + case FsmGenPackage.LINK__COMMON_DATA: + return commonData != null; + case FsmGenPackage.LINK__TRANSITION: + return transition != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException { + switch (operationID) { + case FsmGenPackage.LINK___TO_STRING: + return toString(); + } + return super.eInvoke(operationID, arguments); + } + +} //LinkImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/NodeImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/NodeImpl.java new file mode 100644 index 000000000..12cc1a35f --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/NodeImpl.java @@ -0,0 +1,539 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl; + +import java.lang.reflect.InvocationTargetException; +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.EObjectWithInverseResolvingEList; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.etrice.core.fsm.fSM.ChoicePoint; +import org.eclipse.etrice.core.fsm.fSM.RefinedState; +import org.eclipse.etrice.core.fsm.fSM.SimpleState; +import org.eclipse.etrice.core.fsm.fSM.StateGraphNode; + +import org.eclipse.etrice.core.fsm.fSM.TrPoint; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link; +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Node</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl#getGraph <em>Graph</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl#getSubgraph <em>Subgraph</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl#getOutgoing <em>Outgoing</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl#getIncoming <em>Incoming</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl#getStateGraphNode <em>State Graph Node</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl#getCaughtTriggers <em>Caught Triggers</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.impl.NodeImpl#getInheritanceLevel <em>Inheritance Level</em>}</li> + * </ul> + * + * @generated + */ +public class NodeImpl extends GraphItemImpl implements Node { + /** + * The cached value of the '{@link #getSubgraph() <em>Subgraph</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSubgraph() + * @generated + * @ordered + */ + protected Graph subgraph; + + /** + * The cached value of the '{@link #getOutgoing() <em>Outgoing</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOutgoing() + * @generated + * @ordered + */ + protected EList<Link> outgoing; + + /** + * The cached value of the '{@link #getIncoming() <em>Incoming</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIncoming() + * @generated + * @ordered + */ + protected EList<Link> incoming; + + /** + * The cached value of the '{@link #getStateGraphNode() <em>State Graph Node</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStateGraphNode() + * @generated + * @ordered + */ + protected StateGraphNode stateGraphNode; + + /** + * The cached value of the '{@link #getCaughtTriggers() <em>Caught Triggers</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCaughtTriggers() + * @generated + * @ordered + */ + protected EList<CommonTrigger> caughtTriggers; + + /** + * The default value of the '{@link #getInheritanceLevel() <em>Inheritance Level</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInheritanceLevel() + * @generated + * @ordered + */ + protected static final int INHERITANCE_LEVEL_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getInheritanceLevel() <em>Inheritance Level</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInheritanceLevel() + * @generated + * @ordered + */ + protected int inheritanceLevel = INHERITANCE_LEVEL_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NodeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return FsmGenPackage.Literals.NODE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph getGraph() { + if (eContainerFeatureID() != FsmGenPackage.NODE__GRAPH) return null; + return (Graph)eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetGraph(Graph newGraph, NotificationChain msgs) { + msgs = eBasicSetContainer((InternalEObject)newGraph, FsmGenPackage.NODE__GRAPH, msgs); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGraph(Graph newGraph) { + if (newGraph != eInternalContainer() || (eContainerFeatureID() != FsmGenPackage.NODE__GRAPH && newGraph != null)) { + if (EcoreUtil.isAncestor(this, newGraph)) + throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); + NotificationChain msgs = null; + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + if (newGraph != null) + msgs = ((InternalEObject)newGraph).eInverseAdd(this, FsmGenPackage.GRAPH__NODES, Graph.class, msgs); + msgs = basicSetGraph(newGraph, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.NODE__GRAPH, newGraph, newGraph)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph getSubgraph() { + return subgraph; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetSubgraph(Graph newSubgraph, NotificationChain msgs) { + Graph oldSubgraph = subgraph; + subgraph = newSubgraph; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmGenPackage.NODE__SUBGRAPH, oldSubgraph, newSubgraph); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSubgraph(Graph newSubgraph) { + if (newSubgraph != subgraph) { + NotificationChain msgs = null; + if (subgraph != null) + msgs = ((InternalEObject)subgraph).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmGenPackage.NODE__SUBGRAPH, null, msgs); + if (newSubgraph != null) + msgs = ((InternalEObject)newSubgraph).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmGenPackage.NODE__SUBGRAPH, null, msgs); + msgs = basicSetSubgraph(newSubgraph, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.NODE__SUBGRAPH, newSubgraph, newSubgraph)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Link> getOutgoing() { + if (outgoing == null) { + outgoing = new EObjectWithInverseResolvingEList<Link>(Link.class, this, FsmGenPackage.NODE__OUTGOING, FsmGenPackage.LINK__SOURCE); + } + return outgoing; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Link> getIncoming() { + if (incoming == null) { + incoming = new EObjectWithInverseResolvingEList<Link>(Link.class, this, FsmGenPackage.NODE__INCOMING, FsmGenPackage.LINK__TARGET); + } + return incoming; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateGraphNode getStateGraphNode() { + if (stateGraphNode != null && stateGraphNode.eIsProxy()) { + InternalEObject oldStateGraphNode = (InternalEObject)stateGraphNode; + stateGraphNode = (StateGraphNode)eResolveProxy(oldStateGraphNode); + if (stateGraphNode != oldStateGraphNode) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmGenPackage.NODE__STATE_GRAPH_NODE, oldStateGraphNode, stateGraphNode)); + } + } + return stateGraphNode; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateGraphNode basicGetStateGraphNode() { + return stateGraphNode; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStateGraphNode(StateGraphNode newStateGraphNode) { + StateGraphNode oldStateGraphNode = stateGraphNode; + stateGraphNode = newStateGraphNode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.NODE__STATE_GRAPH_NODE, oldStateGraphNode, stateGraphNode)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<CommonTrigger> getCaughtTriggers() { + if (caughtTriggers == null) { + caughtTriggers = new EObjectContainmentEList<CommonTrigger>(CommonTrigger.class, this, FsmGenPackage.NODE__CAUGHT_TRIGGERS); + } + return caughtTriggers; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getInheritanceLevel() { + return inheritanceLevel; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInheritanceLevel(int newInheritanceLevel) { + int oldInheritanceLevel = inheritanceLevel; + inheritanceLevel = newInheritanceLevel; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FsmGenPackage.NODE__INHERITANCE_LEVEL, oldInheritanceLevel, inheritanceLevel)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + String type = "?"; + if (getStateGraphNode() instanceof RefinedState) { + type = "RefinedState"; + } + else if (getStateGraphNode() instanceof SimpleState) { + type = "SimpleState"; + } + else if (getStateGraphNode() instanceof TrPoint) { + type = "TrPoint"; + } + else if (getStateGraphNode() instanceof ChoicePoint) { + type = "ChoicePoint"; + } + return "Node " + getStateGraphNode().getName() + " (" + type + ")"; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FsmGenPackage.NODE__GRAPH: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetGraph((Graph)otherEnd, msgs); + case FsmGenPackage.NODE__OUTGOING: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoing()).basicAdd(otherEnd, msgs); + case FsmGenPackage.NODE__INCOMING: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncoming()).basicAdd(otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FsmGenPackage.NODE__GRAPH: + return basicSetGraph(null, msgs); + case FsmGenPackage.NODE__SUBGRAPH: + return basicSetSubgraph(null, msgs); + case FsmGenPackage.NODE__OUTGOING: + return ((InternalEList<?>)getOutgoing()).basicRemove(otherEnd, msgs); + case FsmGenPackage.NODE__INCOMING: + return ((InternalEList<?>)getIncoming()).basicRemove(otherEnd, msgs); + case FsmGenPackage.NODE__CAUGHT_TRIGGERS: + return ((InternalEList<?>)getCaughtTriggers()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { + switch (eContainerFeatureID()) { + case FsmGenPackage.NODE__GRAPH: + return eInternalContainer().eInverseRemove(this, FsmGenPackage.GRAPH__NODES, Graph.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 FsmGenPackage.NODE__GRAPH: + return getGraph(); + case FsmGenPackage.NODE__SUBGRAPH: + return getSubgraph(); + case FsmGenPackage.NODE__OUTGOING: + return getOutgoing(); + case FsmGenPackage.NODE__INCOMING: + return getIncoming(); + case FsmGenPackage.NODE__STATE_GRAPH_NODE: + if (resolve) return getStateGraphNode(); + return basicGetStateGraphNode(); + case FsmGenPackage.NODE__CAUGHT_TRIGGERS: + return getCaughtTriggers(); + case FsmGenPackage.NODE__INHERITANCE_LEVEL: + return getInheritanceLevel(); + } + 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 FsmGenPackage.NODE__GRAPH: + setGraph((Graph)newValue); + return; + case FsmGenPackage.NODE__SUBGRAPH: + setSubgraph((Graph)newValue); + return; + case FsmGenPackage.NODE__OUTGOING: + getOutgoing().clear(); + getOutgoing().addAll((Collection<? extends Link>)newValue); + return; + case FsmGenPackage.NODE__INCOMING: + getIncoming().clear(); + getIncoming().addAll((Collection<? extends Link>)newValue); + return; + case FsmGenPackage.NODE__STATE_GRAPH_NODE: + setStateGraphNode((StateGraphNode)newValue); + return; + case FsmGenPackage.NODE__CAUGHT_TRIGGERS: + getCaughtTriggers().clear(); + getCaughtTriggers().addAll((Collection<? extends CommonTrigger>)newValue); + return; + case FsmGenPackage.NODE__INHERITANCE_LEVEL: + setInheritanceLevel((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FsmGenPackage.NODE__GRAPH: + setGraph((Graph)null); + return; + case FsmGenPackage.NODE__SUBGRAPH: + setSubgraph((Graph)null); + return; + case FsmGenPackage.NODE__OUTGOING: + getOutgoing().clear(); + return; + case FsmGenPackage.NODE__INCOMING: + getIncoming().clear(); + return; + case FsmGenPackage.NODE__STATE_GRAPH_NODE: + setStateGraphNode((StateGraphNode)null); + return; + case FsmGenPackage.NODE__CAUGHT_TRIGGERS: + getCaughtTriggers().clear(); + return; + case FsmGenPackage.NODE__INHERITANCE_LEVEL: + setInheritanceLevel(INHERITANCE_LEVEL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FsmGenPackage.NODE__GRAPH: + return getGraph() != null; + case FsmGenPackage.NODE__SUBGRAPH: + return subgraph != null; + case FsmGenPackage.NODE__OUTGOING: + return outgoing != null && !outgoing.isEmpty(); + case FsmGenPackage.NODE__INCOMING: + return incoming != null && !incoming.isEmpty(); + case FsmGenPackage.NODE__STATE_GRAPH_NODE: + return stateGraphNode != null; + case FsmGenPackage.NODE__CAUGHT_TRIGGERS: + return caughtTriggers != null && !caughtTriggers.isEmpty(); + case FsmGenPackage.NODE__INHERITANCE_LEVEL: + return inheritanceLevel != INHERITANCE_LEVEL_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException { + switch (operationID) { + case FsmGenPackage.NODE___TO_STRING: + return toString(); + } + return super.eInvoke(operationID, arguments); + } + +} //NodeImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/util/FsmGenAdapterFactory.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/util/FsmGenAdapterFactory.java new file mode 100644 index 000000000..56afe2997 --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/util/FsmGenAdapterFactory.java @@ -0,0 +1,210 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.*; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage + * @generated + */ +public class FsmGenAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static FsmGenPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FsmGenAdapterFactory() { + if (modelPackage == null) { + modelPackage = FsmGenPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FsmGenSwitch<Adapter> modelSwitch = + new FsmGenSwitch<Adapter>() { + @Override + public Adapter caseGraphContainer(GraphContainer object) { + return createGraphContainerAdapter(); + } + @Override + public Adapter caseGraph(Graph object) { + return createGraphAdapter(); + } + @Override + public Adapter caseGraphItem(GraphItem object) { + return createGraphItemAdapter(); + } + @Override + public Adapter caseNode(Node object) { + return createNodeAdapter(); + } + @Override + public Adapter caseLink(Link object) { + return createLinkAdapter(); + } + @Override + public Adapter caseCommonTrigger(CommonTrigger object) { + return createCommonTriggerAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer <em>Graph Container</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer + * @generated + */ + public Adapter createGraphContainerAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Graph <em>Graph</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.etrice.core.genmodel.fsm.fsmgen.Graph + * @generated + */ + public Adapter createGraphAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphItem <em>Graph Item</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.etrice.core.genmodel.fsm.fsmgen.GraphItem + * @generated + */ + public Adapter createGraphItemAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Node <em>Node</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.etrice.core.genmodel.fsm.fsmgen.Node + * @generated + */ + public Adapter createNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link <em>Link</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.Link + * @generated + */ + public Adapter createLinkAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.genmodel.fsm.fsmgen.CommonTrigger <em>Common Trigger</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.etrice.core.genmodel.fsm.fsmgen.CommonTrigger + * @generated + */ + public Adapter createCommonTriggerAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //FsmGenAdapterFactory diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/util/FsmGenSwitch.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/util/FsmGenSwitch.java new file mode 100644 index 000000000..ffee2433b --- /dev/null +++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src-gen/org/eclipse/etrice/core/genmodel/fsm/fsmgen/util/FsmGenSwitch.java @@ -0,0 +1,217 @@ +/** + */ +package org.eclipse.etrice.core.genmodel.fsm.fsmgen.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.*; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see org.eclipse.etrice.core.genmodel.fsm.fsmgen.FsmGenPackage + * @generated + */ +public class FsmGenSwitch<T> extends Switch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static FsmGenPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FsmGenSwitch() { + if (modelPackage == null) { + modelPackage = FsmGenPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case FsmGenPackage.GRAPH_CONTAINER: { + GraphContainer graphContainer = (GraphContainer)theEObject; + T result = caseGraphContainer(graphContainer); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FsmGenPackage.GRAPH: { + Graph graph = (Graph)theEObject; + T result = caseGraph(graph); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FsmGenPackage.GRAPH_ITEM: { + GraphItem graphItem = (GraphItem)theEObject; + T result = caseGraphItem(graphItem); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FsmGenPackage.NODE: { + Node node = (Node)theEObject; + T result = caseNode(node); + if (result == null) result = caseGraphItem(node); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FsmGenPackage.LINK: { + Link link = (Link)theEObject; + T result = caseLink(link); + if (result == null) result = caseGraphItem(link); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FsmGenPackage.COMMON_TRIGGER: { + CommonTrigger commonTrigger = (CommonTrigger)theEObject; + T result = caseCommonTrigger(commonTrigger); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Graph Container</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Graph Container</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGraphContainer(GraphContainer object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Graph</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>Graph</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGraph(Graph object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Graph Item</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>Graph Item</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGraphItem(GraphItem object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Node</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>Node</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNode(Node object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Link</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Link</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLink(Link object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Common Trigger</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>Common Trigger</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCommonTrigger(CommonTrigger object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //FsmGenSwitch |