Commit 49e85b3d authored by Depasse Arthur's avatar Depasse Arthur

Ajout des messages

parent 616a3dec
......@@ -68,7 +68,7 @@
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelExpression="Events">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="Events">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
......@@ -83,7 +83,7 @@
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelExpression="Actions">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="Actions">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
......@@ -98,14 +98,31 @@
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelExpression="Guards">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="Guards">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</subContainerMappings>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelExpression="aql:self.name">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="aql:self.name">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</containerMappings>
</additionalLayers>
<additionalLayers name="MessageLayer" label="Message Layer" activeByDefault="true">
<containerMappings name="MessageContainer" label="Message Container" semanticCandidatesExpression="var:self" domainClass="fsm::FSM" childrenPresentation="List">
<subNodeMappings name="MessageNode" label="Message Node" domainClass="fsm::Message">
<style xsi:type="style:SquareDescription" labelExpression="[self.name + ' -> ' + self.event.name/]" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="Message Panel">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
......
......@@ -10,7 +10,7 @@ public class Services {
/**
* See http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.sirius.doc%2Fdoc%2Findex.html&cp=24 for documentation on how to write service methods.
*/
public EObject myService(EObject self, String arg) {
public EObject myService(EObject self, String arg1, String arg2) {
// TODO Auto-generated code
return self;
}
......
......@@ -49,3 +49,13 @@ _UI_Guard_name_feature = Name
_UI_Unknown_feature = Unspecified
_UI_FSM_groupId_feature = Group Id
_UI_Message_type = Message
_UI_FSM_ownedMessages_feature = Owned Messages
_UI_Message_event_feature = Event
_UI_Message_data_feature = Data
_UI_State_expectedMessage_feature = Expected Message
_UI_StringToStringMap_type = String To String Map
_UI_StringToStringMap_key_feature = Key
_UI_StringToStringMap_value_feature = Value
_UI_Message_name_feature = Name
_UI_FSM_dataTypes_feature = Data Types
......@@ -169,6 +169,8 @@ public class FSMItemProvider extends ItemProviderAdapter implements IEditingDoma
childrenFeatures.add(FsmPackage.Literals.FSM__OWNED_EVENTS);
childrenFeatures.add(FsmPackage.Literals.FSM__OWNED_ACTIONS);
childrenFeatures.add(FsmPackage.Literals.FSM__OWNED_GUARDS);
childrenFeatures.add(FsmPackage.Literals.FSM__OWNED_MESSAGES);
childrenFeatures.add(FsmPackage.Literals.FSM__DATA_TYPES);
}
return childrenFeatures;
}
......@@ -241,6 +243,8 @@ public class FSMItemProvider extends ItemProviderAdapter implements IEditingDoma
case FsmPackage.FSM__OWNED_EVENTS:
case FsmPackage.FSM__OWNED_ACTIONS:
case FsmPackage.FSM__OWNED_GUARDS:
case FsmPackage.FSM__OWNED_MESSAGES:
case FsmPackage.FSM__DATA_TYPES:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
......@@ -269,6 +273,12 @@ public class FSMItemProvider extends ItemProviderAdapter implements IEditingDoma
newChildDescriptors
.add(createChildParameter(FsmPackage.Literals.FSM__OWNED_GUARDS, FsmFactory.eINSTANCE.createGuard()));
newChildDescriptors.add(
createChildParameter(FsmPackage.Literals.FSM__OWNED_MESSAGES, FsmFactory.eINSTANCE.createMessage()));
newChildDescriptors.add(createChildParameter(FsmPackage.Literals.FSM__DATA_TYPES,
FsmFactory.eINSTANCE.create(FsmPackage.Literals.STRING_TO_STRING_MAP)));
}
/**
......
......@@ -210,6 +210,52 @@ public class FsmItemProviderAdapterFactory extends FsmAdapterFactory
return guardItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link fr.supelec.plong9.fsm.Message} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MessageItemProvider messageItemProvider;
/**
* This creates an adapter for a {@link fr.supelec.plong9.fsm.Message}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMessageAdapter() {
if (messageItemProvider == null) {
messageItemProvider = new MessageItemProvider(this);
}
return messageItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link java.util.Map.Entry} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected StringToStringMapItemProvider stringToStringMapItemProvider;
/**
* This creates an adapter for a {@link java.util.Map.Entry}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStringToStringMapAdapter() {
if (stringToStringMapItemProvider == null) {
stringToStringMapItemProvider = new StringToStringMapItemProvider(this);
}
return stringToStringMapItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
......@@ -321,6 +367,10 @@ public class FsmItemProviderAdapterFactory extends FsmAdapterFactory
actionItemProvider.dispose();
if (guardItemProvider != null)
guardItemProvider.dispose();
if (messageItemProvider != null)
messageItemProvider.dispose();
if (stringToStringMapItemProvider != null)
stringToStringMapItemProvider.dispose();
}
}
/**
*/
package fr.supelec.plong9.fsm.provider;
import fr.supelec.plong9.fsm.FsmPackage;
import fr.supelec.plong9.fsm.Message;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link fr.supelec.plong9.fsm.Message} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class MessageItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public MessageItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addEventPropertyDescriptor(object);
addDataPropertyDescriptor(object);
addNamePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Event feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addEventPropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(), getString("_UI_Message_event_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Message_event_feature",
"_UI_Message_type"),
FsmPackage.Literals.MESSAGE__EVENT, true, false, false, null, null, null));
}
/**
* This adds a property descriptor for the Data feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addDataPropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(), getString("_UI_Message_data_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Message_data_feature", "_UI_Message_type"),
FsmPackage.Literals.MESSAGE__DATA, true, false, false, null, null, null));
}
/**
* This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(), getString("_UI_Message_name_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Message_name_feature", "_UI_Message_type"),
FsmPackage.Literals.MESSAGE__NAME, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
* This returns Message.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Message"));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected boolean shouldComposeCreationImage() {
return true;
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((Message) object).getName();
return label == null || label.length() == 0 ? getString("_UI_Message_type")
: getString("_UI_Message_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(Message.class)) {
case FsmPackage.MESSAGE__EVENT:
case FsmPackage.MESSAGE__DATA:
case FsmPackage.MESSAGE__NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return FsmEditPlugin.INSTANCE;
}
}
......@@ -61,6 +61,7 @@ public class StateItemProvider extends ItemProviderAdapter implements IEditingDo
addIncomingTransitionsPropertyDescriptor(object);
addOnEnteredActionsPropertyDescriptor(object);
addOnExitedActionsPropertyDescriptor(object);
addExpectedMessagePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
......@@ -140,6 +141,21 @@ public class StateItemProvider extends ItemProviderAdapter implements IEditingDo
FsmPackage.Literals.STATE__ON_EXITED_ACTIONS, true, false, true, null, null, null));
}
/**
* This adds a property descriptor for the Expected Message feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addExpectedMessagePropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(), getString("_UI_State_expectedMessage_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_State_expectedMessage_feature",
"_UI_State_type"),
FsmPackage.Literals.STATE__EXPECTED_MESSAGE, true, false, true, null, null, null));
}
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
......
/**
*/
package fr.supelec.plong9.fsm.provider;
import fr.supelec.plong9.fsm.FsmPackage;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link java.util.Map.Entry} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class StringToStringMapItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public StringToStringMapItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addKeyPropertyDescriptor(object);
addValuePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Key feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addKeyPropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(), getString("_UI_StringToStringMap_key_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_StringToStringMap_key_feature",
"_UI_StringToStringMap_type"),
FsmPackage.Literals.STRING_TO_STRING_MAP__KEY, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
* This adds a property descriptor for the Value feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addValuePropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(), getString("_UI_StringToStringMap_value_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_StringToStringMap_value_feature",
"_UI_StringToStringMap_type"),
FsmPackage.Literals.STRING_TO_STRING_MAP__VALUE, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
* This returns StringToStringMap.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/StringToStringMap"));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected boolean shouldComposeCreationImage() {
return true;
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
Map.Entry<?, ?> stringToStringMap = (Map.Entry<?, ?>) object;
return "" + stringToStringMap.getKey() + " -> " + stringToStringMap.getValue();
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(Map.Entry.class)) {
case FsmPackage.STRING_TO_STRING_MAP__KEY:
case FsmPackage.STRING_TO_STRING_MAP__VALUE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return FsmEditPlugin.INSTANCE;
}
}
This diff is collapsed.
......@@ -19,6 +19,10 @@
eType="#//Guard" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="groupId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedMessages" upperBound="-1"
eType="#//Message" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dataTypes" upperBound="-1"
eType="#//StringToStringMap" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="State">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
......@@ -30,6 +34,7 @@
eType="#//Transition" eOpposite="#//Transition/target"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="onEnteredActions" eType="#//Action"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="onExitedActions" eType="#//Action"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="expectedMessage" eType="#//Message"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Transition">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
......@@ -51,4 +56,14 @@
<eClassifiers xsi:type="ecore:EClass" name="Guard">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Message">
<eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" eType="#//Event"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="data" upperBound="-1" eType="#//StringToStringMap"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StringToStringMap" instanceClassName="java.util.Map$Entry">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>
......@@ -21,6 +21,8 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference fsm.ecore#//FSM/ownedActions"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference fsm.ecore#//FSM/ownedGuards"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//FSM/groupId"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference fsm.ecore#//FSM/ownedMessages"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference fsm.ecore#//FSM/dataTypes"/>
</genClasses>
<genClasses ecoreClass="fsm.ecore#//State">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//State/name"/>
......@@ -29,6 +31,7 @@
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fsm.ecore#//State/incomingTransitions"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fsm.ecore#//State/onEnteredActions"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fsm.ecore#//State/onExitedActions"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fsm.ecore#//State/expectedMessage"/>
</genClasses>
<genClasses ecoreClass="fsm.ecore#//Transition">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//Transition/name"/>
......@@ -47,5 +50,14 @@
<genClasses ecoreClass="fsm.ecore#//Guard">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//Guard/name"/>
</genClasses>
<genClasses ecoreClass="fsm.ecore#//Message">
<genFeatures createChild="false" ecoreFeature="ecore:EReference fsm.ecore#//Message/event"/>
<genFeatures createChild="false" ecoreFeature="ecore:EReference fsm.ecore#//Message/data"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//Message/name"/>
</genClasses>
<genClasses ecoreClass="fsm.ecore#//StringToStringMap">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//StringToStringMap/key"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//StringToStringMap/value"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
......@@ -4,6 +4,7 @@ package fr.supelec.plong9.fsm;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
/**
......@@ -25,6 +26,8 @@ import org.eclipse.emf.ecore.EObject;
* <li>{@link fr.supelec.plong9.fsm.FSM#getOwnedActions <em>Owned Actions</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.FSM#getOwnedGuards <em>Owned Guards</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.FSM#getGroupId <em>Group Id</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.FSM#getOwnedMessages <em>Owned Messages</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.FSM#getDataTypes <em>Data Types</em>}</li>
* </ul>
*
* @see fr.supelec.plong9.fsm.FsmPackage#getFSM()
......@@ -254,4 +257,37 @@ public interface FSM extends EObject {
*/
void setGroupId(String value);
/**
* Returns the value of the '<em><b>Owned Messages</b></em>' containment reference list.
* The list contents are of type {@link fr.supelec.plong9.fsm.Message}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Owned Messages</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>Owned Messages</em>' containment reference list.
* @see fr.supelec.plong9.fsm.FsmPackage#getFSM_OwnedMessages()
* @model containment="true"
* @generated
*/
EList<Message> getOwnedMessages();
/**
* Returns the value of the '<em><b>Data Types</b></em>' map.
* The key is of type {@link java.lang.String},
* and the value is of type {@link java.lang.String},
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Data Types</em>' map isn't clear,
* there really should be more of a description here...