Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description')
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/AbstractNodeMapping.java93
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/AdditionalLayer.java88
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/BooleanLayoutOption.java59
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CenteringStyle.java274
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CompositeLayout.java92
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalContainerStyleDescription.java63
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalEdgeStyleDescription.java62
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalNodeStyleDescription.java62
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ContainerMapping.java190
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ContainerMappingImport.java62
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CustomLayoutConfiguration.java134
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DescriptionFactory.java255
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DescriptionPackage.java6322
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramDescription.java516
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramElementMapping.java282
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramExtensionDescription.java103
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramImportDescription.java58
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DoubleLayoutOption.java59
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DragAndDropTargetDescription.java56
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EdgeMapping.java328
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EdgeMappingImport.java101
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumLayoutOption.java59
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumLayoutValue.java87
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumOption.java49
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumSetLayoutOption.java50
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/FoldingStyle.java248
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/IEdgeMapping.java28
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/IntegerLayoutOption.java59
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/Layer.java228
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/Layout.java30
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutDirection.java248
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutOption.java135
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutOptionTarget.java300
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/MappingBasedDecoration.java54
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/NodeMapping.java74
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/NodeMappingImport.java62
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/OrderedTreeLayout.java74
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/StringLayoutOption.java59
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernDescription.java79
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernFactory.java57
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernPackage.java310
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernSet.java49
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernDescriptionImpl.java388
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernFactoryImpl.java118
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernPackageImpl.java319
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernSetImpl.java158
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/util/ConcernAdapterFactory.java182
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/util/ConcernSwitch.java193
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/CompositeFilterDescription.java48
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/Filter.java62
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterDescription.java42
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterFactory.java66
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterKind.java221
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterPackage.java582
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/MappingFilter.java103
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/VariableFilter.java85
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/CompositeFilterDescriptionImpl.java158
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterDescriptionImpl.java286
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterFactoryImpl.java186
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterImpl.java175
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterPackageImpl.java479
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/MappingFilterImpl.java276
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/VariableFilterImpl.java235
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/util/FilterAdapterFactory.java242
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/util/FilterSwitch.java277
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/AbstractNodeMappingImpl.java366
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/AdditionalLayerImpl.java232
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/BooleanLayoutOptionImpl.java174
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/CompositeLayoutImpl.java233
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalContainerStyleDescriptionImpl.java223
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalEdgeStyleDescriptionImpl.java223
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalNodeStyleDescriptionImpl.java223
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ContainerMappingImpl.java569
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ContainerMappingImportImpl.java343
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/CustomLayoutConfigurationImpl.java347
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DescriptionFactoryImpl.java596
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DescriptionPackageImpl.java2578
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramDescriptionImpl.java2136
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramElementMappingImpl.java758
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramExtensionDescriptionImpl.java603
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramImportDescriptionImpl.java2254
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DoubleLayoutOptionImpl.java174
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DragAndDropTargetDescriptionImpl.java142
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EdgeMappingImpl.java882
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EdgeMappingImportImpl.java470
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumLayoutOptionImpl.java221
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumLayoutValueImpl.java231
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumOptionImpl.java156
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumSetLayoutOptionImpl.java157
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/IntegerLayoutOptionImpl.java174
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/LayerImpl.java923
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/LayoutOptionImpl.java329
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/MappingBasedDecorationImpl.java141
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/NodeMappingImpl.java340
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/NodeMappingImportImpl.java343
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/OrderedTreeLayoutImpl.java218
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/StringLayoutOptionImpl.java174
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BeginLabelStyleDescription.java30
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BorderedStyleDescription.java122
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BracketEdgeStyleDescription.java26
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BundledImageDescription.java118
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/CenterLabelStyleDescription.java30
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/ContainerStyleDescription.java64
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/CustomStyleDescription.java56
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/DotDescription.java88
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EdgeStyleDescription.java392
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EllipseNodeDescription.java115
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EndLabelStyleDescription.java30
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/FlatContainerStyleDescription.java146
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/GaugeCompositeStyleDescription.java79
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/GaugeSectionDescription.java211
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/HideLabelCapabilityStyleDescription.java61
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/LozengeNodeDescription.java115
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/NodeStyleDescription.java146
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/NoteDescription.java57
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/RoundedCornerStyleDescription.java87
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/ShapeContainerStyleDescription.java92
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/Side.java273
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/SizeComputationContainerStyleDescription.java89
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/SquareDescription.java113
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/StyleFactory.java194
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/StylePackage.java4708
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/WorkspaceImageDescription.java60
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BeginLabelStyleDescriptionImpl.java47
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BorderedStyleDescriptionImpl.java306
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BracketEdgeStyleDescriptionImpl.java46
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BundledImageDescriptionImpl.java303
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/CenterLabelStyleDescriptionImpl.java47
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/ContainerStyleDescriptionImpl.java1014
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/CustomStyleDescriptionImpl.java172
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/DotDescriptionImpl.java246
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EdgeStyleDescriptionImpl.java1025
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EllipseNodeDescriptionImpl.java305
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EndLabelStyleDescriptionImpl.java47
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/FlatContainerStyleDescriptionImpl.java541
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/GaugeCompositeStyleDescriptionImpl.java235
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/GaugeSectionDescriptionImpl.java488
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/LozengeNodeDescriptionImpl.java303
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/NodeStyleDescriptionImpl.java1173
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/NoteDescriptionImpl.java169
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/RoundedCornerStyleDescriptionImpl.java234
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/ShapeContainerStyleDescriptionImpl.java406
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/SizeComputationContainerStyleDescriptionImpl.java238
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/SquareDescriptionImpl.java299
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/StyleFactoryImpl.java418
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/StylePackageImpl.java1644
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/WorkspaceImageDescriptionImpl.java407
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/util/StyleAdapterFactory.java646
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/util/StyleSwitch.java1035
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/BehaviorTool.java85
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ContainerCreationDescription.java180
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ContainerDropDescription.java250
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/CreateEdgeView.java93
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/CreateView.java118
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteElementDescription.java183
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteHook.java77
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteHookParameter.java83
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DiagramCreationDescription.java64
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DiagramNavigationDescription.java64
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DirectEditLabel.java126
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DoubleClickDescription.java134
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/EdgeCreationDescription.java278
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ElementDoubleClickVariable.java29
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/Navigation.java93
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/NodeCreationDescription.java176
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/NodeCreationVariable.java29
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ReconnectEdgeDescription.java258
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ReconnectionKind.java249
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/RequestDescription.java58
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/SourceEdgeCreationVariable.java29
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/SourceEdgeViewCreationVariable.java29
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/TargetEdgeCreationVariable.java29
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/TargetEdgeViewCreationVariable.java29
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolFactory.java260
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolGroup.java51
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolGroupExtension.java80
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolPackage.java4460
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolSection.java146
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/BehaviorToolImpl.java296
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ContainerCreationDescriptionImpl.java590
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ContainerDropDescriptionImpl.java838
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/CreateEdgeViewImpl.java233
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/CreateViewImpl.java301
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteElementDescriptionImpl.java663
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteHookImpl.java230
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteHookParameterImpl.java232
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DiagramCreationDescriptionImpl.java171
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DiagramNavigationDescriptionImpl.java171
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DirectEditLabelImpl.java417
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DoubleClickDescriptionImpl.java498
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/EdgeCreationDescriptionImpl.java899
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ElementDoubleClickVariableImpl.java196
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NavigationImpl.java244
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NodeCreationDescriptionImpl.java590
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NodeCreationVariableImpl.java196
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ReconnectEdgeDescriptionImpl.java953
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/RequestDescriptionImpl.java175
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/SourceEdgeCreationVariableImpl.java196
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/SourceEdgeViewCreationVariableImpl.java196
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/TargetEdgeCreationVariableImpl.java196
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/TargetEdgeViewCreationVariableImpl.java196
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolFactoryImpl.java642
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolGroupExtensionImpl.java227
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolGroupImpl.java331
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolPackageImpl.java1957
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolSectionImpl.java544
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/util/ToolAdapterFactory.java842
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/util/ToolSwitch.java1145
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/util/DescriptionAdapterFactory.java959
-rw-r--r--plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/util/DescriptionSwitch.java1317
210 files changed, 77089 insertions, 0 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/AbstractNodeMapping.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/AbstractNodeMapping.java
new file mode 100644
index 0000000000..20994367be
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/AbstractNodeMapping.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Abstract Node Mapping</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> An abstract mapping. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.AbstractNodeMapping#getDomainClass <em>Domain Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.AbstractNodeMapping#getBorderedNodeMappings <em>Bordered Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.AbstractNodeMapping#getReusedBorderedNodeMappings <em>Reused
+ * Bordered Node Mappings</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getAbstractNodeMapping()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractNodeMapping extends DiagramElementMapping, DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> The domain class of the mapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Domain Class</em>' attribute.
+ * @see #setDomainClass(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getAbstractNodeMapping_DomainClass()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.TypeName" required="true"
+ * @generated
+ */
+ String getDomainClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.AbstractNodeMapping#getDomainClass
+ * <em>Domain Class</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Domain Class</em>' attribute.
+ * @see #getDomainClass()
+ * @generated
+ */
+ void setDomainClass(String value);
+
+ /**
+ * Returns the value of the '<em><b>Bordered Node Mappings</b></em>' containment reference list. The list contents
+ * are of type {@link org.eclipse.sirius.diagram.description.NodeMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The mapping for nodes that are on the border of nodes created by this mapping. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Bordered Node Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getAbstractNodeMapping_BorderedNodeMappings()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<NodeMapping> getBorderedNodeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Reused Bordered Node Mappings</b></em>' reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.NodeMapping}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reused Bordered Node Mappings</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>Reused Bordered Node Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getAbstractNodeMapping_ReusedBorderedNodeMappings()
+ * @model
+ * @generated
+ */
+ EList<NodeMapping> getReusedBorderedNodeMappings();
+
+} // AbstractNodeMapping
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/AdditionalLayer.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/AdditionalLayer.java
new file mode 100644
index 0000000000..0db7b03834
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/AdditionalLayer.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Additional Layer</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.AdditionalLayer#isActiveByDefault <em>Active By Default</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.AdditionalLayer#isOptional <em>Optional</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getAdditionalLayer()
+ * @model
+ * @generated
+ */
+public interface AdditionalLayer extends Layer {
+ /**
+ * Returns the value of the '<em><b>Active By Default</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Active By Default</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Active By Default</em>' attribute.
+ * @see #setActiveByDefault(boolean)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getAdditionalLayer_ActiveByDefault()
+ * @model
+ * @generated
+ */
+ boolean isActiveByDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.AdditionalLayer#isActiveByDefault <em>Active
+ * By Default</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Active By Default</em>' attribute.
+ * @see #isActiveByDefault()
+ * @generated
+ */
+ void setActiveByDefault(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Optional</b></em>' attribute. The default value is <code>"true"</code>. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optional</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Optional</em>' attribute.
+ * @see #setOptional(boolean)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getAdditionalLayer_Optional()
+ * @model default="true"
+ * @generated
+ */
+ boolean isOptional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.AdditionalLayer#isOptional
+ * <em>Optional</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Optional</em>' attribute.
+ * @see #isOptional()
+ * @generated
+ */
+ void setOptional(boolean value);
+
+} // AdditionalLayer
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/BooleanLayoutOption.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/BooleanLayoutOption.java
new file mode 100644
index 0000000000..17ef1ced2e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/BooleanLayoutOption.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Boolean Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.BooleanLayoutOption#isValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getBooleanLayoutOption()
+ * @model
+ * @generated
+ */
+public interface BooleanLayoutOption extends LayoutOption {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(boolean)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getBooleanLayoutOption_Value()
+ * @model
+ * @generated
+ */
+ boolean isValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.BooleanLayoutOption#isValue <em>Value</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' attribute.
+ * @see #isValue()
+ * @generated
+ */
+ void setValue(boolean value);
+
+} // BooleanLayoutOption
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CenteringStyle.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CenteringStyle.java
new file mode 100644
index 0000000000..62203f31c2
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CenteringStyle.java
@@ -0,0 +1,274 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration ' <em><b>Centering Style</b></em>', and
+ * utility methods for working with them. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCenteringStyle()
+ * @model
+ * @generated
+ */
+public enum CenteringStyle implements Enumerator {
+ /**
+ * The '<em><b>None</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(0, "None", "None"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Both</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #BOTH_VALUE
+ * @generated
+ * @ordered
+ */
+ BOTH(1, "Both", "Both"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Source</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #SOURCE_VALUE
+ * @generated
+ * @ordered
+ */
+ SOURCE(2, "Source", "Source"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Target</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #TARGET_VALUE
+ * @generated
+ * @ordered
+ */
+ TARGET(3, "Target", "Target"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>None</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>None</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #NONE
+ * @model name="None"
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 0;
+
+ /**
+ * The '<em><b>Both</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Both</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #BOTH
+ * @model name="Both"
+ * @generated
+ * @ordered
+ */
+ public static final int BOTH_VALUE = 1;
+
+ /**
+ * The '<em><b>Source</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Source</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #SOURCE
+ * @model name="Source"
+ * @generated
+ * @ordered
+ */
+ public static final int SOURCE_VALUE = 2;
+
+ /**
+ * The '<em><b>Target</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Target</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #TARGET
+ * @model name="Target"
+ * @generated
+ * @ordered
+ */
+ public static final int TARGET_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Centering Style</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final CenteringStyle[] VALUES_ARRAY = new CenteringStyle[] { NONE, BOTH, SOURCE, TARGET, };
+
+ /**
+ * A public read-only list of all the '<em><b>Centering Style</b></em>' enumerators. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<CenteringStyle> VALUES = Collections.unmodifiableList(Arrays.asList(CenteringStyle.VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Centering Style</b></em>' literal with the specified literal value. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param literal
+ * the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static CenteringStyle get(String literal) {
+ for (CenteringStyle result : CenteringStyle.VALUES_ARRAY) {
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Centering Style</b></em>' literal with the specified name. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param name
+ * the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static CenteringStyle getByName(String name) {
+ for (CenteringStyle result : CenteringStyle.VALUES_ARRAY) {
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Centering Style</b></em>' literal with the specified integer value. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static CenteringStyle get(int value) {
+ switch (value) {
+ case NONE_VALUE:
+ return NONE;
+ case BOTH_VALUE:
+ return BOTH;
+ case SOURCE_VALUE:
+ return SOURCE;
+ case TARGET_VALUE:
+ return TARGET;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private CenteringStyle(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // CenteringStyle
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CompositeLayout.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CompositeLayout.java
new file mode 100644
index 0000000000..53dbf04e63
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CompositeLayout.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Composite Layout</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.CompositeLayout#getPadding <em>Padding</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.CompositeLayout#getDirection <em>Direction</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCompositeLayout()
+ * @model
+ * @generated
+ */
+public interface CompositeLayout extends Layout {
+ /**
+ * Returns the value of the '<em><b>Padding</b></em>' attribute. The default value is <code>"30"</code>. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Padding</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Padding</em>' attribute.
+ * @see #setPadding(int)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCompositeLayout_Padding()
+ * @model default="30" required="true"
+ * @generated
+ */
+ int getPadding();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.CompositeLayout#getPadding
+ * <em>Padding</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Padding</em>' attribute.
+ * @see #getPadding()
+ * @generated
+ */
+ void setPadding(int value);
+
+ /**
+ * Returns the value of the '<em><b>Direction</b></em>' attribute. The default value is <code>"topToBottom"</code>.
+ * The literals are from the enumeration {@link org.eclipse.sirius.diagram.description.LayoutDirection}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Direction</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Direction</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.LayoutDirection
+ * @see #setDirection(LayoutDirection)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCompositeLayout_Direction()
+ * @model default="topToBottom" required="true"
+ * @generated
+ */
+ LayoutDirection getDirection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.CompositeLayout#getDirection
+ * <em>Direction</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Direction</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.LayoutDirection
+ * @see #getDirection()
+ * @generated
+ */
+ void setDirection(LayoutDirection value);
+
+} // CompositeLayout
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalContainerStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalContainerStyleDescription.java
new file mode 100644
index 0000000000..ba1c923f7f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalContainerStyleDescription.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+import org.eclipse.sirius.viewpoint.description.ConditionalStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Conditional Container Style
+ * Description</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription#getStyle <em>Style</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getConditionalContainerStyleDescription()
+ * @model
+ * @generated
+ */
+public interface ConditionalContainerStyleDescription extends ConditionalStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Style</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>Style</em>' containment reference.
+ * @see #setStyle(ContainerStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getConditionalContainerStyleDescription_Style()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ ContainerStyleDescription getStyle();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription#getStyle <em>Style</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Style</em>' containment reference.
+ * @see #getStyle()
+ * @generated
+ */
+ void setStyle(ContainerStyleDescription value);
+
+} // ConditionalContainerStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalEdgeStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalEdgeStyleDescription.java
new file mode 100644
index 0000000000..c8649b118f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalEdgeStyleDescription.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.viewpoint.description.ConditionalStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Conditional Edge Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription#getStyle <em>Style</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getConditionalEdgeStyleDescription()
+ * @model
+ * @generated
+ */
+public interface ConditionalEdgeStyleDescription extends ConditionalStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Style</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>Style</em>' containment reference.
+ * @see #setStyle(EdgeStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getConditionalEdgeStyleDescription_Style()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EdgeStyleDescription getStyle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription#getStyle
+ * <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Style</em>' containment reference.
+ * @see #getStyle()
+ * @generated
+ */
+ void setStyle(EdgeStyleDescription value);
+
+} // ConditionalEdgeStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalNodeStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalNodeStyleDescription.java
new file mode 100644
index 0000000000..8e302ccc23
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ConditionalNodeStyleDescription.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.sirius.diagram.description.style.NodeStyleDescription;
+import org.eclipse.sirius.viewpoint.description.ConditionalStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Conditional Node Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription#getStyle <em>Style</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getConditionalNodeStyleDescription()
+ * @model
+ * @generated
+ */
+public interface ConditionalNodeStyleDescription extends ConditionalStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Style</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>Style</em>' containment reference.
+ * @see #setStyle(NodeStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getConditionalNodeStyleDescription_Style()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ NodeStyleDescription getStyle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription#getStyle
+ * <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Style</em>' containment reference.
+ * @see #getStyle()
+ * @generated
+ */
+ void setStyle(NodeStyleDescription value);
+
+} // ConditionalNodeStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ContainerMapping.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ContainerMapping.java
new file mode 100644
index 0000000000..a1203a1664
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ContainerMapping.java
@@ -0,0 +1,190 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.ContainerLayout;
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Container Mapping</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <!-- begin-model-doc --> A container mapping allows to create containers (ViewNodeContainer or ViewNodeList). <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getSubNodeMappings <em>Sub Node Mappings</em>}
+ * </li>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getAllNodeMappings <em>All Node Mappings</em>}
+ * </li>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getReusedNodeMappings <em>Reused Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getSubContainerMappings <em>Sub Container
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getReusedContainerMappings <em>Reused Container
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getAllContainerMappings <em>All Container
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getStyle <em>Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getConditionnalStyles <em>Conditionnal Styles</em>
+ * }</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMapping#getChildrenPresentation <em>Children
+ * Presentation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMapping()
+ * @model
+ * @generated
+ */
+public interface ContainerMapping extends AbstractNodeMapping, DragAndDropTargetDescription {
+ /**
+ * Returns the value of the '<em><b>Sub Node Mappings</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.NodeMapping}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sub Node Mappings</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>Sub Node Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMapping_SubNodeMappings()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<NodeMapping> getSubNodeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Reused Node Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.NodeMapping}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reused Node Mappings</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>Reused Node Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMapping_ReusedNodeMappings()
+ * @model
+ * @generated
+ */
+ EList<NodeMapping> getReusedNodeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Sub Container Mappings</b></em>' containment reference list. The list contents
+ * are of type {@link org.eclipse.sirius.diagram.description.ContainerMapping}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sub Container Mappings</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>Sub Container Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMapping_SubContainerMappings()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<ContainerMapping> getSubContainerMappings();
+
+ /**
+ * Returns the value of the '<em><b>Reused Container Mappings</b></em>' reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.ContainerMapping}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reused Container Mappings</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>Reused Container Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMapping_ReusedContainerMappings()
+ * @model
+ * @generated
+ */
+ EList<ContainerMapping> getReusedContainerMappings();
+
+ /**
+ * Returns the value of the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Style</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>Style</em>' containment reference.
+ * @see #setStyle(ContainerStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMapping_Style()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ ContainerStyleDescription getStyle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getStyle <em>Style</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Style</em>' containment reference.
+ * @see #getStyle()
+ * @generated
+ */
+ void setStyle(ContainerStyleDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Conditionnal Styles</b></em>' containment reference list. The list contents are
+ * of type {@link org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription}. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Conditionnal Styles</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>Conditionnal Styles</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMapping_ConditionnalStyles()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<ConditionalContainerStyleDescription> getConditionnalStyles();
+
+ /**
+ * Returns the value of the '<em><b>Children Presentation</b></em>' attribute. The default value is
+ * <code>"FreeForm"</code>. The literals are from the enumeration {@link org.eclipse.sirius.diagram.ContainerLayout}
+ * . <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Set to List if you want a container
+ * acting like a list. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Children Presentation</em>' attribute.
+ * @see org.eclipse.sirius.diagram.ContainerLayout
+ * @see #setChildrenPresentation(ContainerLayout)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMapping_ChildrenPresentation()
+ * @model default="FreeForm" required="true"
+ * @generated
+ */
+ ContainerLayout getChildrenPresentation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getChildrenPresentation
+ * <em>Children Presentation</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Children Presentation</em>' attribute.
+ * @see org.eclipse.sirius.diagram.ContainerLayout
+ * @see #getChildrenPresentation()
+ * @generated
+ */
+ void setChildrenPresentation(ContainerLayout value);
+
+} // ContainerMapping
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ContainerMappingImport.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ContainerMappingImport.java
new file mode 100644
index 0000000000..9336f11ba0
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/ContainerMappingImport.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.sirius.viewpoint.description.AbstractMappingImport;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Container Mapping Import</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Ease the reuse of existing mappings. If the feature is not defined in this instance it will
+ * re-use the feature value of the imported one. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.ContainerMappingImport#getImportedMapping <em>Imported
+ * Mapping</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMappingImport()
+ * @model
+ * @generated
+ */
+public interface ContainerMappingImport extends ContainerMapping, AbstractMappingImport {
+ /**
+ * Returns the value of the '<em><b>Imported Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The imported mapping used to define default values for the current mapping. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Imported Mapping</em>' reference.
+ * @see #setImportedMapping(ContainerMapping)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getContainerMappingImport_ImportedMapping()
+ * @model required="true"
+ * @generated
+ */
+ ContainerMapping getImportedMapping();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.ContainerMappingImport#getImportedMapping
+ * <em>Imported Mapping</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Imported Mapping</em>' reference.
+ * @see #getImportedMapping()
+ * @generated
+ */
+ void setImportedMapping(ContainerMapping value);
+
+} // ContainerMappingImport
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CustomLayoutConfiguration.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CustomLayoutConfiguration.java
new file mode 100644
index 0000000000..0a1c16c5b7
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/CustomLayoutConfiguration.java
@@ -0,0 +1,134 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Custom Layout Configuration</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getLayoutOptions <em>Layout
+ * Options</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCustomLayoutConfiguration()
+ * @model
+ * @generated
+ */
+public interface CustomLayoutConfiguration extends Layout {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCustomLayoutConfiguration_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getId
+ * <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Label</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Label</em>' attribute.
+ * @see #setLabel(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCustomLayoutConfiguration_Label()
+ * @model
+ * @generated
+ */
+ String getLabel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getLabel
+ * <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Label</em>' attribute.
+ * @see #getLabel()
+ * @generated
+ */
+ void setLabel(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCustomLayoutConfiguration_Description()
+ * @model
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getDescription
+ * <em>Description</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Layout Options</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.LayoutOption}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Layout Options</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>Layout Options</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getCustomLayoutConfiguration_LayoutOptions()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<LayoutOption> getLayoutOptions();
+
+} // CustomLayoutConfiguration
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DescriptionFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DescriptionFactory.java
new file mode 100644
index 0000000000..a9edd1292a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DescriptionFactory.java
@@ -0,0 +1,255 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+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.sirius.diagram.description.DescriptionPackage
+ * @generated
+ */
+public interface DescriptionFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ DescriptionFactory eINSTANCE = org.eclipse.sirius.diagram.description.impl.DescriptionFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Diagram Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Diagram Description</em>'.
+ * @generated
+ */
+ DiagramDescription createDiagramDescription();
+
+ /**
+ * Returns a new object of class '<em>Diagram Import Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Diagram Import Description</em>'.
+ * @generated
+ */
+ DiagramImportDescription createDiagramImportDescription();
+
+ /**
+ * Returns a new object of class '<em>Diagram Extension Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Diagram Extension Description</em>'.
+ * @generated
+ */
+ DiagramExtensionDescription createDiagramExtensionDescription();
+
+ /**
+ * Returns a new object of class '<em>Node Mapping</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Node Mapping</em>'.
+ * @generated
+ */
+ NodeMapping createNodeMapping();
+
+ /**
+ * Returns a new object of class '<em>Container Mapping</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Container Mapping</em>'.
+ * @generated
+ */
+ ContainerMapping createContainerMapping();
+
+ /**
+ * Returns a new object of class '<em>Node Mapping Import</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Node Mapping Import</em>'.
+ * @generated
+ */
+ NodeMappingImport createNodeMappingImport();
+
+ /**
+ * Returns a new object of class '<em>Container Mapping Import</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Container Mapping Import</em>'.
+ * @generated
+ */
+ ContainerMappingImport createContainerMappingImport();
+
+ /**
+ * Returns a new object of class '<em>Edge Mapping</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Edge Mapping</em>'.
+ * @generated
+ */
+ EdgeMapping createEdgeMapping();
+
+ /**
+ * Returns a new object of class '<em>Edge Mapping</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Edge Mapping</em>'.
+ * @not-generated
+ */
+ EdgeMapping createEdgeMappingUsingDomainElement();
+
+ /**
+ * Returns a new object of class '<em>Edge Mapping Import</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Edge Mapping Import</em>'.
+ * @generated
+ */
+ EdgeMappingImport createEdgeMappingImport();
+
+ /**
+ * Returns a new object of class '<em>Conditional Node Style Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Conditional Node Style Description</em>'.
+ * @generated
+ */
+ ConditionalNodeStyleDescription createConditionalNodeStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Conditional Edge Style Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Conditional Edge Style Description</em>'.
+ * @generated
+ */
+ ConditionalEdgeStyleDescription createConditionalEdgeStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Conditional Container Style Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Conditional Container Style Description</em>'.
+ * @generated
+ */
+ ConditionalContainerStyleDescription createConditionalContainerStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Ordered Tree Layout</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Ordered Tree Layout</em>'.
+ * @generated
+ */
+ OrderedTreeLayout createOrderedTreeLayout();
+
+ /**
+ * Returns a new object of class '<em>Composite Layout</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Composite Layout</em>'.
+ * @generated
+ */
+ CompositeLayout createCompositeLayout();
+
+ /**
+ * Returns a new object of class '<em>Custom Layout Configuration</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Custom Layout Configuration</em>'.
+ * @generated
+ */
+ CustomLayoutConfiguration createCustomLayoutConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Boolean Layout Option</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Boolean Layout Option</em>'.
+ * @generated
+ */
+ BooleanLayoutOption createBooleanLayoutOption();
+
+ /**
+ * Returns a new object of class '<em>String Layout Option</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>String Layout Option</em>'.
+ * @generated
+ */
+ StringLayoutOption createStringLayoutOption();
+
+ /**
+ * Returns a new object of class '<em>Integer Layout Option</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Integer Layout Option</em>'.
+ * @generated
+ */
+ IntegerLayoutOption createIntegerLayoutOption();
+
+ /**
+ * Returns a new object of class '<em>Double Layout Option</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Double Layout Option</em>'.
+ * @generated
+ */
+ DoubleLayoutOption createDoubleLayoutOption();
+
+ /**
+ * Returns a new object of class '<em>Enum Layout Option</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Enum Layout Option</em>'.
+ * @generated
+ */
+ EnumLayoutOption createEnumLayoutOption();
+
+ /**
+ * Returns a new object of class '<em>Enum Set Layout Option</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Enum Set Layout Option</em>'.
+ * @generated
+ */
+ EnumSetLayoutOption createEnumSetLayoutOption();
+
+ /**
+ * Returns a new object of class '<em>Enum Layout Value</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Enum Layout Value</em>'.
+ * @generated
+ */
+ EnumLayoutValue createEnumLayoutValue();
+
+ /**
+ * Returns a new object of class '<em>Mapping Based Decoration</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Mapping Based Decoration</em>'.
+ * @generated
+ */
+ MappingBasedDecoration createMappingBasedDecoration();
+
+ /**
+ * Returns a new object of class '<em>Layer</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Layer</em>'.
+ * @generated
+ */
+ Layer createLayer();
+
+ /**
+ * Returns a new object of class '<em>Additional Layer</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Additional Layer</em>'.
+ * @generated
+ */
+ AdditionalLayer createAdditionalLayer();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DescriptionPackage getDescriptionPackage();
+
+} // DescriptionFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DescriptionPackage.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DescriptionPackage.java
new file mode 100644
index 0000000000..9c384ad229
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DescriptionPackage.java
@@ -0,0 +1,6322 @@
+/**
+ * Copyright (c) 2007, 2018 THALES GLOBAL SERVICES and others.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DescriptionPackage extends EPackage {
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "description"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/sirius/diagram/description/1.1.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "description"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ DescriptionPackage eINSTANCE = org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.DragAndDropTargetDescriptionImpl
+ * <em>Drag And Drop Target Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DragAndDropTargetDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDragAndDropTargetDescription()
+ * @generated
+ */
+ int DRAG_AND_DROP_TARGET_DESCRIPTION = 31;
+
+ /**
+ * The feature id for the '<em><b>Drop Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS = 0;
+
+ /**
+ * The number of structural features of the '<em>Drag And Drop Target Description</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl <em>Diagram
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDiagramDescription()
+ * @generated
+ */
+ int DIAGRAM_DESCRIPTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Drop Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__DROP_DESCRIPTIONS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__DOCUMENTATION = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>End User Documentation</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__END_USER_DOCUMENTATION = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__NAME = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__LABEL = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Title Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__TITLE_EXPRESSION = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Initialisation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__INITIALISATION = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Metamodel</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__METAMODEL = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Show On Startup</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__SHOW_ON_STARTUP = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__PASTE_DESCRIPTIONS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__FILTERS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Validation Set</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__VALIDATION_SET = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Concerns</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__CONCERNS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__DOMAIN_CLASS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Default Concern</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__DEFAULT_CONCERN = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Root Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__ROOT_EXPRESSION = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Init</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__INIT = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__LAYOUT = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 17;
+
+ /**
+ * The feature id for the '<em><b>Diagram Initialisation</b></em>' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 18;
+
+ /**
+ * The feature id for the '<em><b>Default Layer</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__DEFAULT_LAYER = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 19;
+
+ /**
+ * The feature id for the '<em><b>Additional Layers</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 20;
+
+ /**
+ * The feature id for the '<em><b>Node Mappings</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__NODE_MAPPINGS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 21;
+
+ /**
+ * The feature id for the '<em><b>Edge Mappings</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__EDGE_MAPPINGS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 22;
+
+ /**
+ * The feature id for the '<em><b>Edge Mapping Imports</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 23;
+
+ /**
+ * The feature id for the '<em><b>Container Mappings</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 24;
+
+ /**
+ * The feature id for the '<em><b>Reused Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__REUSED_MAPPINGS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 25;
+
+ /**
+ * The feature id for the '<em><b>Tool Section</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__TOOL_SECTION = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 26;
+
+ /**
+ * The feature id for the '<em><b>Reused Tools</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__REUSED_TOOLS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 27;
+
+ /**
+ * The feature id for the '<em><b>Enable Popup Bars</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 28;
+
+ /**
+ * The feature id for the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION__BACKGROUND_COLOR = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 29;
+
+ /**
+ * The number of structural features of the '<em>Diagram Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_DESCRIPTION_FEATURE_COUNT = DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION_FEATURE_COUNT + 30;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl
+ * <em>Diagram Import Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDiagramImportDescription()
+ * @generated
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>End User Documentation</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Title Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__TITLE_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION__TITLE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Initialisation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__INITIALISATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION__INITIALISATION;
+
+ /**
+ * The feature id for the '<em><b>Metamodel</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__METAMODEL = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION__METAMODEL;
+
+ /**
+ * The feature id for the '<em><b>Show On Startup</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__SHOW_ON_STARTUP = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION__SHOW_ON_STARTUP;
+
+ /**
+ * The feature id for the '<em><b>Drop Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__DROP_DESCRIPTIONS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__PASTE_DESCRIPTIONS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Validation Set</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Concerns</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__CONCERNS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__DOMAIN_CLASS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__PRECONDITION_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Default Concern</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Root Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__ROOT_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Init</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__INIT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__LAYOUT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Diagram Initialisation</b></em>' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Default Layer</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Additional Layers</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Node Mappings</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Edge Mappings</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Edge Mapping Imports</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>Container Mappings</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 17;
+
+ /**
+ * The feature id for the '<em><b>Reused Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__REUSED_MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 18;
+
+ /**
+ * The feature id for the '<em><b>Tool Section</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 19;
+
+ /**
+ * The feature id for the '<em><b>Reused Tools</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__REUSED_TOOLS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 20;
+
+ /**
+ * The feature id for the '<em><b>Enable Popup Bars</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__ENABLE_POPUP_BARS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 21;
+
+ /**
+ * The feature id for the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 22;
+
+ /**
+ * The feature id for the '<em><b>Imported Diagram</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 23;
+
+ /**
+ * The number of structural features of the '<em>Diagram Import Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_IMPORT_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_IMPORT_DESCRIPTION_FEATURE_COUNT + 24;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl
+ * <em>Diagram Extension Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDiagramExtensionDescription()
+ * @generated
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_EXTENSION_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Viewpoint URI</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION__VIEWPOINT_URI = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_EXTENSION_DESCRIPTION__VIEWPOINT_URI;
+
+ /**
+ * The feature id for the '<em><b>Representation Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION__REPRESENTATION_NAME = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_EXTENSION_DESCRIPTION__REPRESENTATION_NAME;
+
+ /**
+ * The feature id for the '<em><b>Metamodel</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION__METAMODEL = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_EXTENSION_DESCRIPTION__METAMODEL;
+
+ /**
+ * The feature id for the '<em><b>Layers</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION__LAYERS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_EXTENSION_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Validation Set</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_EXTENSION_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Concerns</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_EXTENSION_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Diagram Extension Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_EXTENSION_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_EXTENSION_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl
+ * <em>Diagram Element Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDiagramElementMapping()
+ * @generated
+ */
+ int DIAGRAM_ELEMENT_MAPPING = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__NAME = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__LABEL = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Detail Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__DETAIL_DESCRIPTIONS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING__DETAIL_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Navigation Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__NAVIGATION_DESCRIPTIONS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING__NAVIGATION_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Deletion Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Label Direct Edit</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Semantic Candidates Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Create Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Semantic Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Double Click Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Synchronization Lock</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Diagram Element Mapping</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_ELEMENT_MAPPING_FEATURE_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.AbstractNodeMappingImpl
+ * <em>Abstract Node Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.AbstractNodeMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getAbstractNodeMapping()
+ * @generated
+ */
+ int ABSTRACT_NODE_MAPPING = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__NAME = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__LABEL = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Detail Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__DETAIL_DESCRIPTIONS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DETAIL_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Navigation Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__NAVIGATION_DESCRIPTIONS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__NAVIGATION_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__PASTE_DESCRIPTIONS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__PRECONDITION_EXPRESSION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Deletion Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__DELETION_DESCRIPTION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Label Direct Edit</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__LABEL_DIRECT_EDIT = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT;
+
+ /**
+ * The feature id for the '<em><b>Semantic Candidates Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Create Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__CREATE_ELEMENTS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Semantic Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__SEMANTIC_ELEMENTS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Double Click Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__DOUBLE_CLICK_DESCRIPTION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Synchronization Lock</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__SYNCHRONIZATION_LOCK = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__DOCUMENTATION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__DOMAIN_CLASS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Bordered Node Mappings</b></em>' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Reused Bordered Node Mappings</b></em>' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Abstract Node Mapping</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_NODE_MAPPING_FEATURE_COUNT = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImpl <em>Node
+ * Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.NodeMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getNodeMapping()
+ * @generated
+ */
+ int NODE_MAPPING = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__NAME = DescriptionPackage.ABSTRACT_NODE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__LABEL = DescriptionPackage.ABSTRACT_NODE_MAPPING__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Detail Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__DETAIL_DESCRIPTIONS = DescriptionPackage.ABSTRACT_NODE_MAPPING__DETAIL_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Navigation Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__NAVIGATION_DESCRIPTIONS = DescriptionPackage.ABSTRACT_NODE_MAPPING__NAVIGATION_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__PASTE_DESCRIPTIONS = DescriptionPackage.ABSTRACT_NODE_MAPPING__PASTE_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__PRECONDITION_EXPRESSION = DescriptionPackage.ABSTRACT_NODE_MAPPING__PRECONDITION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Deletion Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__DELETION_DESCRIPTION = DescriptionPackage.ABSTRACT_NODE_MAPPING__DELETION_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Label Direct Edit</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__LABEL_DIRECT_EDIT = DescriptionPackage.ABSTRACT_NODE_MAPPING__LABEL_DIRECT_EDIT;
+
+ /**
+ * The feature id for the '<em><b>Semantic Candidates Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION = DescriptionPackage.ABSTRACT_NODE_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Create Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__CREATE_ELEMENTS = DescriptionPackage.ABSTRACT_NODE_MAPPING__CREATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Semantic Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__SEMANTIC_ELEMENTS = DescriptionPackage.ABSTRACT_NODE_MAPPING__SEMANTIC_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Double Click Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__DOUBLE_CLICK_DESCRIPTION = DescriptionPackage.ABSTRACT_NODE_MAPPING__DOUBLE_CLICK_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Synchronization Lock</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__SYNCHRONIZATION_LOCK = DescriptionPackage.ABSTRACT_NODE_MAPPING__SYNCHRONIZATION_LOCK;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__DOCUMENTATION = DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__DOMAIN_CLASS = DescriptionPackage.ABSTRACT_NODE_MAPPING__DOMAIN_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Bordered Node Mappings</b></em>' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__BORDERED_NODE_MAPPINGS = DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Reused Bordered Node Mappings</b></em>' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS = DescriptionPackage.ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Drop Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__DROP_DESCRIPTIONS = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__STYLE = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Conditionnal Styles</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING__CONDITIONNAL_STYLES = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Node Mapping</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_FEATURE_COUNT = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl <em>Container
+ * Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getContainerMapping()
+ * @generated
+ */
+ int CONTAINER_MAPPING = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__NAME = DescriptionPackage.ABSTRACT_NODE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__LABEL = DescriptionPackage.ABSTRACT_NODE_MAPPING__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Detail Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__DETAIL_DESCRIPTIONS = DescriptionPackage.ABSTRACT_NODE_MAPPING__DETAIL_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Navigation Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__NAVIGATION_DESCRIPTIONS = DescriptionPackage.ABSTRACT_NODE_MAPPING__NAVIGATION_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__PASTE_DESCRIPTIONS = DescriptionPackage.ABSTRACT_NODE_MAPPING__PASTE_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__PRECONDITION_EXPRESSION = DescriptionPackage.ABSTRACT_NODE_MAPPING__PRECONDITION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Deletion Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__DELETION_DESCRIPTION = DescriptionPackage.ABSTRACT_NODE_MAPPING__DELETION_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Label Direct Edit</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__LABEL_DIRECT_EDIT = DescriptionPackage.ABSTRACT_NODE_MAPPING__LABEL_DIRECT_EDIT;
+
+ /**
+ * The feature id for the '<em><b>Semantic Candidates Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION = DescriptionPackage.ABSTRACT_NODE_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Create Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__CREATE_ELEMENTS = DescriptionPackage.ABSTRACT_NODE_MAPPING__CREATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Semantic Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__SEMANTIC_ELEMENTS = DescriptionPackage.ABSTRACT_NODE_MAPPING__SEMANTIC_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Double Click Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__DOUBLE_CLICK_DESCRIPTION = DescriptionPackage.ABSTRACT_NODE_MAPPING__DOUBLE_CLICK_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Synchronization Lock</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__SYNCHRONIZATION_LOCK = DescriptionPackage.ABSTRACT_NODE_MAPPING__SYNCHRONIZATION_LOCK;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__DOCUMENTATION = DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__DOMAIN_CLASS = DescriptionPackage.ABSTRACT_NODE_MAPPING__DOMAIN_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Bordered Node Mappings</b></em>' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__BORDERED_NODE_MAPPINGS = DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Reused Bordered Node Mappings</b></em>' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__REUSED_BORDERED_NODE_MAPPINGS = DescriptionPackage.ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Drop Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__DROP_DESCRIPTIONS = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Sub Node Mappings</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__SUB_NODE_MAPPINGS = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Reused Node Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__REUSED_NODE_MAPPINGS = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Sub Container Mappings</b></em>' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Reused Container Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__STYLE = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Conditionnal Styles</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__CONDITIONNAL_STYLES = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Children Presentation</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING__CHILDREN_PRESENTATION = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Container Mapping</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_FEATURE_COUNT = DescriptionPackage.ABSTRACT_NODE_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImportImpl <em>Node
+ * Mapping Import</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.NodeMappingImportImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getNodeMappingImport()
+ * @generated
+ */
+ int NODE_MAPPING_IMPORT = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__NAME = DescriptionPackage.NODE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__LABEL = DescriptionPackage.NODE_MAPPING__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Detail Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__DETAIL_DESCRIPTIONS = DescriptionPackage.NODE_MAPPING__DETAIL_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Navigation Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__NAVIGATION_DESCRIPTIONS = DescriptionPackage.NODE_MAPPING__NAVIGATION_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__PASTE_DESCRIPTIONS = DescriptionPackage.NODE_MAPPING__PASTE_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__PRECONDITION_EXPRESSION = DescriptionPackage.NODE_MAPPING__PRECONDITION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Deletion Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__DELETION_DESCRIPTION = DescriptionPackage.NODE_MAPPING__DELETION_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Label Direct Edit</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__LABEL_DIRECT_EDIT = DescriptionPackage.NODE_MAPPING__LABEL_DIRECT_EDIT;
+
+ /**
+ * The feature id for the '<em><b>Semantic Candidates Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__SEMANTIC_CANDIDATES_EXPRESSION = DescriptionPackage.NODE_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Create Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__CREATE_ELEMENTS = DescriptionPackage.NODE_MAPPING__CREATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Semantic Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__SEMANTIC_ELEMENTS = DescriptionPackage.NODE_MAPPING__SEMANTIC_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Double Click Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__DOUBLE_CLICK_DESCRIPTION = DescriptionPackage.NODE_MAPPING__DOUBLE_CLICK_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Synchronization Lock</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__SYNCHRONIZATION_LOCK = DescriptionPackage.NODE_MAPPING__SYNCHRONIZATION_LOCK;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__DOCUMENTATION = DescriptionPackage.NODE_MAPPING__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__DOMAIN_CLASS = DescriptionPackage.NODE_MAPPING__DOMAIN_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Bordered Node Mappings</b></em>' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__BORDERED_NODE_MAPPINGS = DescriptionPackage.NODE_MAPPING__BORDERED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Reused Bordered Node Mappings</b></em>' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__REUSED_BORDERED_NODE_MAPPINGS = DescriptionPackage.NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Drop Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__DROP_DESCRIPTIONS = DescriptionPackage.NODE_MAPPING__DROP_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__STYLE = DescriptionPackage.NODE_MAPPING__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Conditionnal Styles</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__CONDITIONNAL_STYLES = DescriptionPackage.NODE_MAPPING__CONDITIONNAL_STYLES;
+
+ /**
+ * The feature id for the '<em><b>Hide Sub Mappings</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__HIDE_SUB_MAPPINGS = DescriptionPackage.NODE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Inherits Ancestor Filters</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS = DescriptionPackage.NODE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Imported Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT__IMPORTED_MAPPING = DescriptionPackage.NODE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Node Mapping Import</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_MAPPING_IMPORT_FEATURE_COUNT = DescriptionPackage.NODE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImportImpl
+ * <em>Container Mapping Import</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ContainerMappingImportImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getContainerMappingImport()
+ * @generated
+ */
+ int CONTAINER_MAPPING_IMPORT = 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__NAME = DescriptionPackage.CONTAINER_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__LABEL = DescriptionPackage.CONTAINER_MAPPING__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Detail Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__DETAIL_DESCRIPTIONS = DescriptionPackage.CONTAINER_MAPPING__DETAIL_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Navigation Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__NAVIGATION_DESCRIPTIONS = DescriptionPackage.CONTAINER_MAPPING__NAVIGATION_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__PASTE_DESCRIPTIONS = DescriptionPackage.CONTAINER_MAPPING__PASTE_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__PRECONDITION_EXPRESSION = DescriptionPackage.CONTAINER_MAPPING__PRECONDITION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Deletion Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__DELETION_DESCRIPTION = DescriptionPackage.CONTAINER_MAPPING__DELETION_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Label Direct Edit</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__LABEL_DIRECT_EDIT = DescriptionPackage.CONTAINER_MAPPING__LABEL_DIRECT_EDIT;
+
+ /**
+ * The feature id for the '<em><b>Semantic Candidates Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__SEMANTIC_CANDIDATES_EXPRESSION = DescriptionPackage.CONTAINER_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Create Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__CREATE_ELEMENTS = DescriptionPackage.CONTAINER_MAPPING__CREATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Semantic Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__SEMANTIC_ELEMENTS = DescriptionPackage.CONTAINER_MAPPING__SEMANTIC_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Double Click Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__DOUBLE_CLICK_DESCRIPTION = DescriptionPackage.CONTAINER_MAPPING__DOUBLE_CLICK_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Synchronization Lock</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__SYNCHRONIZATION_LOCK = DescriptionPackage.CONTAINER_MAPPING__SYNCHRONIZATION_LOCK;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__DOCUMENTATION = DescriptionPackage.CONTAINER_MAPPING__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__DOMAIN_CLASS = DescriptionPackage.CONTAINER_MAPPING__DOMAIN_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Bordered Node Mappings</b></em>' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__BORDERED_NODE_MAPPINGS = DescriptionPackage.CONTAINER_MAPPING__BORDERED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Reused Bordered Node Mappings</b></em>' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__REUSED_BORDERED_NODE_MAPPINGS = DescriptionPackage.CONTAINER_MAPPING__REUSED_BORDERED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Drop Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__DROP_DESCRIPTIONS = DescriptionPackage.CONTAINER_MAPPING__DROP_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Sub Node Mappings</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__SUB_NODE_MAPPINGS = DescriptionPackage.CONTAINER_MAPPING__SUB_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Reused Node Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__REUSED_NODE_MAPPINGS = DescriptionPackage.CONTAINER_MAPPING__REUSED_NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Sub Container Mappings</b></em>' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__SUB_CONTAINER_MAPPINGS = DescriptionPackage.CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Reused Container Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__REUSED_CONTAINER_MAPPINGS = DescriptionPackage.CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__STYLE = DescriptionPackage.CONTAINER_MAPPING__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Conditionnal Styles</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__CONDITIONNAL_STYLES = DescriptionPackage.CONTAINER_MAPPING__CONDITIONNAL_STYLES;
+
+ /**
+ * The feature id for the '<em><b>Children Presentation</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__CHILDREN_PRESENTATION = DescriptionPackage.CONTAINER_MAPPING__CHILDREN_PRESENTATION;
+
+ /**
+ * The feature id for the '<em><b>Hide Sub Mappings</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__HIDE_SUB_MAPPINGS = DescriptionPackage.CONTAINER_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Inherits Ancestor Filters</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS = DescriptionPackage.CONTAINER_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Imported Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING = DescriptionPackage.CONTAINER_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Container Mapping Import</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_MAPPING_IMPORT_FEATURE_COUNT = DescriptionPackage.CONTAINER_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl <em>Edge
+ * Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEdgeMapping()
+ * @generated
+ */
+ int EDGE_MAPPING = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__NAME = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__LABEL = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Detail Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__DETAIL_DESCRIPTIONS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DETAIL_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Navigation Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__NAVIGATION_DESCRIPTIONS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__NAVIGATION_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Paste Descriptions</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__PASTE_DESCRIPTIONS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__PRECONDITION_EXPRESSION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Deletion Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__DELETION_DESCRIPTION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Label Direct Edit</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__LABEL_DIRECT_EDIT = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT;
+
+ /**
+ * The feature id for the '<em><b>Semantic Candidates Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Create Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__CREATE_ELEMENTS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Semantic Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__SEMANTIC_ELEMENTS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Double Click Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__DOUBLE_CLICK_DESCRIPTION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Synchronization Lock</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__SYNCHRONIZATION_LOCK = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__DOCUMENTATION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Source Mapping</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__SOURCE_MAPPING = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target Mapping</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__TARGET_MAPPING = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Target Finder Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__TARGET_FINDER_EXPRESSION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Source Finder Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__SOURCE_FINDER_EXPRESSION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__STYLE = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Conditionnal Styles</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__CONDITIONNAL_STYLES = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Target Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__TARGET_EXPRESSION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__DOMAIN_CLASS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Use Domain Element</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__USE_DOMAIN_ELEMENT = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Reconnections</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__RECONNECTIONS = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Path Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__PATH_EXPRESSION = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Path Node Mapping</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING__PATH_NODE_MAPPING = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 12;
+
+ /**
+ * The number of structural features of the '<em>Edge Mapping</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING_FEATURE_COUNT = DescriptionPackage.DIAGRAM_ELEMENT_MAPPING_FEATURE_COUNT + 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.IEdgeMapping <em>IEdge Mapping</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.IEdgeMapping
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getIEdgeMapping()
+ * @generated
+ */
+ int IEDGE_MAPPING = 10;
+
+ /**
+ * The number of structural features of the '<em>IEdge Mapping</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IEDGE_MAPPING_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl <em>Edge
+ * Mapping Import</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEdgeMappingImport()
+ * @generated
+ */
+ int EDGE_MAPPING_IMPORT = 11;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING_IMPORT__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING_IMPORT__NAME = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING_IMPORT__LABEL = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Imported Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING_IMPORT__IMPORTED_MAPPING = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Conditionnal Styles</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Inherits Ancestor Filters</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Edge Mapping Import</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_MAPPING_IMPORT_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.ConditionalNodeStyleDescriptionImpl <em>Conditional Node
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ConditionalNodeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getConditionalNodeStyleDescription()
+ * @generated
+ */
+ int CONDITIONAL_NODE_STYLE_DESCRIPTION = 12;
+
+ /**
+ * The feature id for the '<em><b>Predicate Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_NODE_STYLE_DESCRIPTION__PREDICATE_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION__PREDICATE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Conditional Node Style Description</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_NODE_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.ConditionalEdgeStyleDescriptionImpl <em>Conditional Edge
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ConditionalEdgeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getConditionalEdgeStyleDescription()
+ * @generated
+ */
+ int CONDITIONAL_EDGE_STYLE_DESCRIPTION = 13;
+
+ /**
+ * The feature id for the '<em><b>Predicate Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EDGE_STYLE_DESCRIPTION__PREDICATE_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION__PREDICATE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Conditional Edge Style Description</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EDGE_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.ConditionalContainerStyleDescriptionImpl <em>Conditional
+ * Container Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ConditionalContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getConditionalContainerStyleDescription()
+ * @generated
+ */
+ int CONDITIONAL_CONTAINER_STYLE_DESCRIPTION = 14;
+
+ /**
+ * The feature id for the '<em><b>Predicate Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__PREDICATE_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION__PREDICATE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the ' <em>Conditional Container Style Description</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.CONDITIONAL_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.Layout <em>Layout</em>}' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.Layout
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayout()
+ * @generated
+ */
+ int LAYOUT = 15;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYOUT__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The number of structural features of the '<em>Layout</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.OrderedTreeLayoutImpl <em>Ordered
+ * Tree Layout</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.OrderedTreeLayoutImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getOrderedTreeLayout()
+ * @generated
+ */
+ int ORDERED_TREE_LAYOUT = 16;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ORDERED_TREE_LAYOUT__DOCUMENTATION = DescriptionPackage.LAYOUT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Children Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ORDERED_TREE_LAYOUT__CHILDREN_EXPRESSION = DescriptionPackage.LAYOUT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Node Mapping</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ORDERED_TREE_LAYOUT__NODE_MAPPING = DescriptionPackage.LAYOUT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Ordered Tree Layout</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ORDERED_TREE_LAYOUT_FEATURE_COUNT = DescriptionPackage.LAYOUT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.CompositeLayoutImpl <em>Composite
+ * Layout</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.CompositeLayoutImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getCompositeLayout()
+ * @generated
+ */
+ int COMPOSITE_LAYOUT = 17;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_LAYOUT__DOCUMENTATION = DescriptionPackage.LAYOUT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Padding</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_LAYOUT__PADDING = DescriptionPackage.LAYOUT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_LAYOUT__DIRECTION = DescriptionPackage.LAYOUT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Composite Layout</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_LAYOUT_FEATURE_COUNT = DescriptionPackage.LAYOUT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.CustomLayoutConfigurationImpl
+ * <em>Custom Layout Configuration</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.CustomLayoutConfigurationImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getCustomLayoutConfiguration()
+ * @generated
+ */
+ int CUSTOM_LAYOUT_CONFIGURATION = 18;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_CONFIGURATION__DOCUMENTATION = DescriptionPackage.LAYOUT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_CONFIGURATION__ID = DescriptionPackage.LAYOUT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_CONFIGURATION__LABEL = DescriptionPackage.LAYOUT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_CONFIGURATION__DESCRIPTION = DescriptionPackage.LAYOUT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Layout Options</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS = DescriptionPackage.LAYOUT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Custom Layout Configuration</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_CONFIGURATION_FEATURE_COUNT = DescriptionPackage.LAYOUT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.LayoutOptionImpl <em>Layout
+ * Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.LayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayoutOption()
+ * @generated
+ */
+ int LAYOUT_OPTION = 19;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_OPTION__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_OPTION__LABEL = 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_OPTION__DESCRIPTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_OPTION__TARGETS = 3;
+
+ /**
+ * The number of structural features of the '<em>Layout Option</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_OPTION_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.BooleanLayoutOptionImpl
+ * <em>Boolean Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.BooleanLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getBooleanLayoutOption()
+ * @generated
+ */
+ int BOOLEAN_LAYOUT_OPTION = 20;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LAYOUT_OPTION__ID = DescriptionPackage.LAYOUT_OPTION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LAYOUT_OPTION__LABEL = DescriptionPackage.LAYOUT_OPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LAYOUT_OPTION__DESCRIPTION = DescriptionPackage.LAYOUT_OPTION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LAYOUT_OPTION__TARGETS = DescriptionPackage.LAYOUT_OPTION__TARGETS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LAYOUT_OPTION__VALUE = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Boolean Layout Option</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LAYOUT_OPTION_FEATURE_COUNT = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.StringLayoutOptionImpl <em>String
+ * Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.StringLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getStringLayoutOption()
+ * @generated
+ */
+ int STRING_LAYOUT_OPTION = 21;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LAYOUT_OPTION__ID = DescriptionPackage.LAYOUT_OPTION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LAYOUT_OPTION__LABEL = DescriptionPackage.LAYOUT_OPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LAYOUT_OPTION__DESCRIPTION = DescriptionPackage.LAYOUT_OPTION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LAYOUT_OPTION__TARGETS = DescriptionPackage.LAYOUT_OPTION__TARGETS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LAYOUT_OPTION__VALUE = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>String Layout Option</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LAYOUT_OPTION_FEATURE_COUNT = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.IntegerLayoutOptionImpl
+ * <em>Integer Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.IntegerLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getIntegerLayoutOption()
+ * @generated
+ */
+ int INTEGER_LAYOUT_OPTION = 22;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTEGER_LAYOUT_OPTION__ID = DescriptionPackage.LAYOUT_OPTION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTEGER_LAYOUT_OPTION__LABEL = DescriptionPackage.LAYOUT_OPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTEGER_LAYOUT_OPTION__DESCRIPTION = DescriptionPackage.LAYOUT_OPTION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTEGER_LAYOUT_OPTION__TARGETS = DescriptionPackage.LAYOUT_OPTION__TARGETS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTEGER_LAYOUT_OPTION__VALUE = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Integer Layout Option</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTEGER_LAYOUT_OPTION_FEATURE_COUNT = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.DoubleLayoutOptionImpl <em>Double
+ * Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DoubleLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDoubleLayoutOption()
+ * @generated
+ */
+ int DOUBLE_LAYOUT_OPTION = 23;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_LAYOUT_OPTION__ID = DescriptionPackage.LAYOUT_OPTION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_LAYOUT_OPTION__LABEL = DescriptionPackage.LAYOUT_OPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_LAYOUT_OPTION__DESCRIPTION = DescriptionPackage.LAYOUT_OPTION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_LAYOUT_OPTION__TARGETS = DescriptionPackage.LAYOUT_OPTION__TARGETS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_LAYOUT_OPTION__VALUE = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Double Layout Option</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_LAYOUT_OPTION_FEATURE_COUNT = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.EnumOptionImpl <em>Enum
+ * Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EnumOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEnumOption()
+ * @generated
+ */
+ int ENUM_OPTION = 26;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_OPTION__ID = DescriptionPackage.LAYOUT_OPTION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_OPTION__LABEL = DescriptionPackage.LAYOUT_OPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_OPTION__DESCRIPTION = DescriptionPackage.LAYOUT_OPTION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_OPTION__TARGETS = DescriptionPackage.LAYOUT_OPTION__TARGETS;
+
+ /**
+ * The feature id for the '<em><b>Choices</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_OPTION__CHOICES = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Enum Option</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_OPTION_FEATURE_COUNT = DescriptionPackage.LAYOUT_OPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.EnumLayoutOptionImpl <em>Enum
+ * Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EnumLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEnumLayoutOption()
+ * @generated
+ */
+ int ENUM_LAYOUT_OPTION = 24;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_OPTION__ID = DescriptionPackage.ENUM_OPTION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_OPTION__LABEL = DescriptionPackage.ENUM_OPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_OPTION__DESCRIPTION = DescriptionPackage.ENUM_OPTION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_OPTION__TARGETS = DescriptionPackage.ENUM_OPTION__TARGETS;
+
+ /**
+ * The feature id for the '<em><b>Choices</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_OPTION__CHOICES = DescriptionPackage.ENUM_OPTION__CHOICES;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_OPTION__VALUE = DescriptionPackage.ENUM_OPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Enum Layout Option</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_OPTION_FEATURE_COUNT = DescriptionPackage.ENUM_OPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.EnumSetLayoutOptionImpl <em>Enum
+ * Set Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EnumSetLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEnumSetLayoutOption()
+ * @generated
+ */
+ int ENUM_SET_LAYOUT_OPTION = 25;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_SET_LAYOUT_OPTION__ID = DescriptionPackage.ENUM_OPTION__ID;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_SET_LAYOUT_OPTION__LABEL = DescriptionPackage.ENUM_OPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_SET_LAYOUT_OPTION__DESCRIPTION = DescriptionPackage.ENUM_OPTION__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_SET_LAYOUT_OPTION__TARGETS = DescriptionPackage.ENUM_OPTION__TARGETS;
+
+ /**
+ * The feature id for the '<em><b>Choices</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_SET_LAYOUT_OPTION__CHOICES = DescriptionPackage.ENUM_OPTION__CHOICES;
+
+ /**
+ * The feature id for the '<em><b>Values</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_SET_LAYOUT_OPTION__VALUES = DescriptionPackage.ENUM_OPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Enum Set Layout Option</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_SET_LAYOUT_OPTION_FEATURE_COUNT = DescriptionPackage.ENUM_OPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.EnumLayoutValueImpl <em>Enum
+ * Layout Value</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EnumLayoutValueImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEnumLayoutValue()
+ * @generated
+ */
+ int ENUM_LAYOUT_VALUE = 27;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_VALUE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_VALUE__DESCRIPTION = 1;
+
+ /**
+ * The number of structural features of the '<em>Enum Layout Value</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUM_LAYOUT_VALUE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.MappingBasedDecorationImpl
+ * <em>Mapping Based Decoration</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.MappingBasedDecorationImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getMappingBasedDecoration()
+ * @generated
+ */
+ int MAPPING_BASED_DECORATION = 28;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_BASED_DECORATION__NAME = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DECORATION_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_BASED_DECORATION__POSITION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DECORATION_DESCRIPTION__POSITION;
+
+ /**
+ * The feature id for the '<em><b>Distribution Direction</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_BASED_DECORATION__DISTRIBUTION_DIRECTION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DECORATION_DESCRIPTION__DISTRIBUTION_DIRECTION;
+
+ /**
+ * The feature id for the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_BASED_DECORATION__PRECONDITION_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DECORATION_DESCRIPTION__PRECONDITION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Image Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_BASED_DECORATION__IMAGE_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DECORATION_DESCRIPTION__IMAGE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_BASED_DECORATION__TOOLTIP_EXPRESSION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DECORATION_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Mappings</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_BASED_DECORATION__MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DECORATION_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Mapping Based Decoration</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_BASED_DECORATION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DECORATION_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.LayerImpl <em>Layer</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.LayerImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayer()
+ * @generated
+ */
+ int LAYER = 29;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>End User Documentation</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__END_USER_DOCUMENTATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__NAME = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__LABEL = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Node Mappings</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__NODE_MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Edge Mappings</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__EDGE_MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Edge Mapping Imports</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__EDGE_MAPPING_IMPORTS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Container Mappings</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__CONTAINER_MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Reused Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__REUSED_MAPPINGS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>All Tools</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__ALL_TOOLS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Tool Sections</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__TOOL_SECTIONS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Reused Tools</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__REUSED_TOOLS = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Decoration Descriptions Set</b></em>' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__DECORATION_DESCRIPTIONS_SET = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__ICON = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Customization</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER__CUSTOMIZATION = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 13;
+
+ /**
+ * The number of structural features of the '<em>Layer</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LAYER_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.impl.AdditionalLayerImpl <em>Additional
+ * Layer</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.AdditionalLayerImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getAdditionalLayer()
+ * @generated
+ */
+ int ADDITIONAL_LAYER = 30;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__DOCUMENTATION = DescriptionPackage.LAYER__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>End User Documentation</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__END_USER_DOCUMENTATION = DescriptionPackage.LAYER__END_USER_DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__NAME = DescriptionPackage.LAYER__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__LABEL = DescriptionPackage.LAYER__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Node Mappings</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__NODE_MAPPINGS = DescriptionPackage.LAYER__NODE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Edge Mappings</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__EDGE_MAPPINGS = DescriptionPackage.LAYER__EDGE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Edge Mapping Imports</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__EDGE_MAPPING_IMPORTS = DescriptionPackage.LAYER__EDGE_MAPPING_IMPORTS;
+
+ /**
+ * The feature id for the '<em><b>Container Mappings</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__CONTAINER_MAPPINGS = DescriptionPackage.LAYER__CONTAINER_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Reused Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__REUSED_MAPPINGS = DescriptionPackage.LAYER__REUSED_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>All Tools</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__ALL_TOOLS = DescriptionPackage.LAYER__ALL_TOOLS;
+
+ /**
+ * The feature id for the '<em><b>Tool Sections</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__TOOL_SECTIONS = DescriptionPackage.LAYER__TOOL_SECTIONS;
+
+ /**
+ * The feature id for the '<em><b>Reused Tools</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__REUSED_TOOLS = DescriptionPackage.LAYER__REUSED_TOOLS;
+
+ /**
+ * The feature id for the '<em><b>Decoration Descriptions Set</b></em>' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__DECORATION_DESCRIPTIONS_SET = DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__ICON = DescriptionPackage.LAYER__ICON;
+
+ /**
+ * The feature id for the '<em><b>Customization</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__CUSTOMIZATION = DescriptionPackage.LAYER__CUSTOMIZATION;
+
+ /**
+ * The feature id for the '<em><b>Active By Default</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__ACTIVE_BY_DEFAULT = DescriptionPackage.LAYER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER__OPTIONAL = DescriptionPackage.LAYER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Additional Layer</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDITIONAL_LAYER_FEATURE_COUNT = DescriptionPackage.LAYER_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.FoldingStyle <em>Folding Style</em>}'
+ * enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.FoldingStyle
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getFoldingStyle()
+ * @generated
+ */
+ int FOLDING_STYLE = 32;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.LayoutDirection <em>Layout
+ * Direction</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.LayoutDirection
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayoutDirection()
+ * @generated
+ */
+ int LAYOUT_DIRECTION = 33;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.CenteringStyle <em>Centering
+ * Style</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.CenteringStyle
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getCenteringStyle()
+ * @generated
+ */
+ int CENTERING_STYLE = 34;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.LayoutOptionTarget <em>Layout Option
+ * Target</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.LayoutOptionTarget
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayoutOptionTarget()
+ * @generated
+ */
+ int LAYOUT_OPTION_TARGET = 35;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.DiagramDescription <em>Diagram
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Diagram Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription
+ * @generated
+ */
+ EClass getDiagramDescription();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getFilters <em>Filters</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Filters</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getFilters()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_Filters();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getValidationSet <em>Validation Set</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Validation Set</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getValidationSet()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_ValidationSet();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getConcerns <em>Concerns</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Concerns</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getConcerns()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_Concerns();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getDomainClass <em>Domain Class</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Domain Class</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getDomainClass()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EAttribute getDiagramDescription_DomainClass();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getPreconditionExpression <em>Precondition
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Precondition Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getPreconditionExpression()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EAttribute getDiagramDescription_PreconditionExpression();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDefaultConcern <em>Default Concern</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Default Concern</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getDefaultConcern()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_DefaultConcern();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getRootExpression <em>Root Expression</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Root Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getRootExpression()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EAttribute getDiagramDescription_RootExpression();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getInit <em>Init</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Init</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getInit()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_Init();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getLayout <em>Layout</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Layout</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getLayout()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_Layout();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDiagramInitialisation <em>Diagram
+ * Initialisation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Diagram Initialisation</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getDiagramInitialisation()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_DiagramInitialisation();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getDefaultLayer <em>Default Layer</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Default Layer</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getDefaultLayer()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_DefaultLayer();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getAdditionalLayers <em>Additional
+ * Layers</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Additional Layers</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getAdditionalLayers()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_AdditionalLayers();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getNodeMappings <em>Node Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Node Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getNodeMappings()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_NodeMappings();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getEdgeMappings <em>Edge Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Edge Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getEdgeMappings()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_EdgeMappings();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getEdgeMappingImports <em>Edge Mapping
+ * Imports</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Edge Mapping Imports</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getEdgeMappingImports()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_EdgeMappingImports();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getContainerMappings <em>Container
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Container Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getContainerMappings()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_ContainerMappings();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getReusedMappings <em>Reused Mappings</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reused Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getReusedMappings()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_ReusedMappings();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getToolSection <em>Tool Section</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Tool Section</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getToolSection()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_ToolSection();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.DiagramDescription#getReusedTools <em>Reused Tools</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reused Tools</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getReusedTools()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_ReusedTools();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#isEnablePopupBars <em>Enable Popup Bars</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Enable Popup Bars</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#isEnablePopupBars()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EAttribute getDiagramDescription_EnablePopupBars();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getBackgroundColor <em>Background Color</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Background Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramDescription#getBackgroundColor()
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ EReference getDiagramDescription_BackgroundColor();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.DiagramImportDescription
+ * <em>Diagram Import Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Diagram Import Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramImportDescription
+ * @generated
+ */
+ EClass getDiagramImportDescription();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramImportDescription#getImportedDiagram <em>Imported
+ * Diagram</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Imported Diagram</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramImportDescription#getImportedDiagram()
+ * @see #getDiagramImportDescription()
+ * @generated
+ */
+ EReference getDiagramImportDescription_ImportedDiagram();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription
+ * <em>Diagram Extension Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Diagram Extension Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramExtensionDescription
+ * @generated
+ */
+ EClass getDiagramExtensionDescription();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getLayers <em>Layers</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Layers</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getLayers()
+ * @see #getDiagramExtensionDescription()
+ * @generated
+ */
+ EReference getDiagramExtensionDescription_Layers();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getValidationSet <em>Validation
+ * Set</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Validation Set</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getValidationSet()
+ * @see #getDiagramExtensionDescription()
+ * @generated
+ */
+ EReference getDiagramExtensionDescription_ValidationSet();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getConcerns <em>Concerns</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Concerns</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getConcerns()
+ * @see #getDiagramExtensionDescription()
+ * @generated
+ */
+ EReference getDiagramExtensionDescription_Concerns();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping
+ * <em>Diagram Element Mapping</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Diagram Element Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping
+ * @generated
+ */
+ EClass getDiagramElementMapping();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getPreconditionExpression <em>Precondition
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Precondition Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#getPreconditionExpression()
+ * @see #getDiagramElementMapping()
+ * @generated
+ */
+ EAttribute getDiagramElementMapping_PreconditionExpression();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getDeletionDescription <em>Deletion
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Deletion Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#getDeletionDescription()
+ * @see #getDiagramElementMapping()
+ * @generated
+ */
+ EReference getDiagramElementMapping_DeletionDescription();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getLabelDirectEdit <em>Label Direct
+ * Edit</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Label Direct Edit</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#getLabelDirectEdit()
+ * @see #getDiagramElementMapping()
+ * @generated
+ */
+ EReference getDiagramElementMapping_LabelDirectEdit();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getSemanticCandidatesExpression <em>Semantic
+ * Candidates Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Semantic Candidates Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#getSemanticCandidatesExpression()
+ * @see #getDiagramElementMapping()
+ * @generated
+ */
+ EAttribute getDiagramElementMapping_SemanticCandidatesExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#isCreateElements <em>Create Elements</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Create Elements</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#isCreateElements()
+ * @see #getDiagramElementMapping()
+ * @generated
+ */
+ EAttribute getDiagramElementMapping_CreateElements();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getSemanticElements <em>Semantic
+ * Elements</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Semantic Elements</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#getSemanticElements()
+ * @see #getDiagramElementMapping()
+ * @generated
+ */
+ EAttribute getDiagramElementMapping_SemanticElements();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getDoubleClickDescription <em>Double Click
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Double Click Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#getDoubleClickDescription()
+ * @see #getDiagramElementMapping()
+ * @generated
+ */
+ EReference getDiagramElementMapping_DoubleClickDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#isSynchronizationLock <em>Synchronization
+ * Lock</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Synchronization Lock</em>'.
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#isSynchronizationLock()
+ * @see #getDiagramElementMapping()
+ * @generated
+ */
+ EAttribute getDiagramElementMapping_SynchronizationLock();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.AbstractNodeMapping <em>Abstract
+ * Node Mapping</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Abstract Node Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.AbstractNodeMapping
+ * @generated
+ */
+ EClass getAbstractNodeMapping();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.AbstractNodeMapping#getDomainClass <em>Domain Class</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Domain Class</em>'.
+ * @see org.eclipse.sirius.diagram.description.AbstractNodeMapping#getDomainClass()
+ * @see #getAbstractNodeMapping()
+ * @generated
+ */
+ EAttribute getAbstractNodeMapping_DomainClass();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.AbstractNodeMapping#getBorderedNodeMappings <em>Bordered Node
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Bordered Node Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.AbstractNodeMapping#getBorderedNodeMappings()
+ * @see #getAbstractNodeMapping()
+ * @generated
+ */
+ EReference getAbstractNodeMapping_BorderedNodeMappings();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.AbstractNodeMapping#getReusedBorderedNodeMappings <em>Reused
+ * Bordered Node Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reused Bordered Node Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.AbstractNodeMapping#getReusedBorderedNodeMappings()
+ * @see #getAbstractNodeMapping()
+ * @generated
+ */
+ EReference getAbstractNodeMapping_ReusedBorderedNodeMappings();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.NodeMapping <em>Node
+ * Mapping</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.NodeMapping
+ * @generated
+ */
+ EClass getNodeMapping();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.NodeMapping#getStyle <em>Style</em>}'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.NodeMapping#getStyle()
+ * @see #getNodeMapping()
+ * @generated
+ */
+ EReference getNodeMapping_Style();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.NodeMapping#getConditionnalStyles <em>Conditionnal Styles</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Conditionnal Styles</em>'.
+ * @see org.eclipse.sirius.diagram.description.NodeMapping#getConditionnalStyles()
+ * @see #getNodeMapping()
+ * @generated
+ */
+ EReference getNodeMapping_ConditionnalStyles();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.ContainerMapping <em>Container
+ * Mapping</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Container Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMapping
+ * @generated
+ */
+ EClass getContainerMapping();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getSubNodeMappings <em>Sub Node Mappings</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Sub Node Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMapping#getSubNodeMappings()
+ * @see #getContainerMapping()
+ * @generated
+ */
+ EReference getContainerMapping_SubNodeMappings();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getReusedNodeMappings <em>Reused Node
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reused Node Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMapping#getReusedNodeMappings()
+ * @see #getContainerMapping()
+ * @generated
+ */
+ EReference getContainerMapping_ReusedNodeMappings();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getSubContainerMappings <em>Sub Container
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Sub Container Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMapping#getSubContainerMappings()
+ * @see #getContainerMapping()
+ * @generated
+ */
+ EReference getContainerMapping_SubContainerMappings();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getReusedContainerMappings <em>Reused Container
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reused Container Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMapping#getReusedContainerMappings()
+ * @see #getContainerMapping()
+ * @generated
+ */
+ EReference getContainerMapping_ReusedContainerMappings();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getStyle <em>Style</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMapping#getStyle()
+ * @see #getContainerMapping()
+ * @generated
+ */
+ EReference getContainerMapping_Style();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Conditionnal Styles</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMapping#getConditionnalStyles()
+ * @see #getContainerMapping()
+ * @generated
+ */
+ EReference getContainerMapping_ConditionnalStyles();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.ContainerMapping#getChildrenPresentation <em>Children
+ * Presentation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Children Presentation</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMapping#getChildrenPresentation()
+ * @see #getContainerMapping()
+ * @generated
+ */
+ EAttribute getContainerMapping_ChildrenPresentation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.NodeMappingImport <em>Node
+ * Mapping Import</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node Mapping Import</em>'.
+ * @see org.eclipse.sirius.diagram.description.NodeMappingImport
+ * @generated
+ */
+ EClass getNodeMappingImport();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.NodeMappingImport#getImportedMapping <em>Imported Mapping</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Imported Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.NodeMappingImport#getImportedMapping()
+ * @see #getNodeMappingImport()
+ * @generated
+ */
+ EReference getNodeMappingImport_ImportedMapping();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.ContainerMappingImport
+ * <em>Container Mapping Import</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Container Mapping Import</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMappingImport
+ * @generated
+ */
+ EClass getContainerMappingImport();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.ContainerMappingImport#getImportedMapping <em>Imported
+ * Mapping</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Imported Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.ContainerMappingImport#getImportedMapping()
+ * @see #getContainerMappingImport()
+ * @generated
+ */
+ EReference getContainerMappingImport_ImportedMapping();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.EdgeMapping <em>Edge
+ * Mapping</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Edge Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping
+ * @generated
+ */
+ EClass getEdgeMapping();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping#getSourceMapping <em>Source Mapping</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Source Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getSourceMapping()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EReference getEdgeMapping_SourceMapping();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping#getTargetMapping <em>Target Mapping</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Target Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getTargetMapping()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EReference getEdgeMapping_TargetMapping();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getTargetFinderExpression <em>Target Finder
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Target Finder Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getTargetFinderExpression()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EAttribute getEdgeMapping_TargetFinderExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getSourceFinderExpression <em>Source Finder
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Source Finder Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getSourceFinderExpression()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EAttribute getEdgeMapping_SourceFinderExpression();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getStyle <em>Style</em>}'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getStyle()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EReference getEdgeMapping_Style();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getConditionnalStyles <em>Conditionnal Styles</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Conditionnal Styles</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getConditionnalStyles()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EReference getEdgeMapping_ConditionnalStyles();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping#getTargetExpression <em>Target Expression</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Target Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getTargetExpression()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EAttribute getEdgeMapping_TargetExpression();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping#getDomainClass <em>Domain Class</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Domain Class</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getDomainClass()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EAttribute getEdgeMapping_DomainClass();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping#isUseDomainElement <em>Use Domain Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Use Domain Element</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#isUseDomainElement()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EAttribute getEdgeMapping_UseDomainElement();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping#getReconnections <em>Reconnections</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reconnections</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getReconnections()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EReference getEdgeMapping_Reconnections();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping#getPathExpression <em>Path Expression</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Path Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getPathExpression()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EAttribute getEdgeMapping_PathExpression();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping#getPathNodeMapping <em>Path Node Mapping</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list ' <em>Path Node Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMapping#getPathNodeMapping()
+ * @see #getEdgeMapping()
+ * @generated
+ */
+ EReference getEdgeMapping_PathNodeMapping();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.IEdgeMapping <em>IEdge
+ * Mapping</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>IEdge Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.IEdgeMapping
+ * @generated
+ */
+ EClass getIEdgeMapping();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.EdgeMappingImport <em>Edge
+ * Mapping Import</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Edge Mapping Import</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMappingImport
+ * @generated
+ */
+ EClass getEdgeMappingImport();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.EdgeMappingImport#getImportedMapping <em>Imported Mapping</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Imported Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMappingImport#getImportedMapping()
+ * @see #getEdgeMappingImport()
+ * @generated
+ */
+ EReference getEdgeMappingImport_ImportedMapping();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.EdgeMappingImport#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Conditionnal Styles</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMappingImport#getConditionnalStyles()
+ * @see #getEdgeMappingImport()
+ * @generated
+ */
+ EReference getEdgeMappingImport_ConditionnalStyles();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.EdgeMappingImport#isInheritsAncestorFilters <em>Inherits Ancestor
+ * Filters</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Inherits Ancestor Filters</em>'.
+ * @see org.eclipse.sirius.diagram.description.EdgeMappingImport#isInheritsAncestorFilters()
+ * @see #getEdgeMappingImport()
+ * @generated
+ */
+ EAttribute getEdgeMappingImport_InheritsAncestorFilters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription
+ * <em>Conditional Node Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Conditional Node Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription
+ * @generated
+ */
+ EClass getConditionalNodeStyleDescription();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription#getStyle <em>Style</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription#getStyle()
+ * @see #getConditionalNodeStyleDescription()
+ * @generated
+ */
+ EReference getConditionalNodeStyleDescription_Style();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription
+ * <em>Conditional Edge Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Conditional Edge Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription
+ * @generated
+ */
+ EClass getConditionalEdgeStyleDescription();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription#getStyle <em>Style</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription#getStyle()
+ * @see #getConditionalEdgeStyleDescription()
+ * @generated
+ */
+ EReference getConditionalEdgeStyleDescription_Style();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription <em>Conditional Container
+ * Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Conditional Container Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription
+ * @generated
+ */
+ EClass getConditionalContainerStyleDescription();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription#getStyle <em>Style</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription#getStyle()
+ * @see #getConditionalContainerStyleDescription()
+ * @generated
+ */
+ EReference getConditionalContainerStyleDescription_Style();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.Layout <em>Layout</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Layout</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layout
+ * @generated
+ */
+ EClass getLayout();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.OrderedTreeLayout <em>Ordered
+ * Tree Layout</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Ordered Tree Layout</em>'.
+ * @see org.eclipse.sirius.diagram.description.OrderedTreeLayout
+ * @generated
+ */
+ EClass getOrderedTreeLayout();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.OrderedTreeLayout#getChildrenExpression <em>Children
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Children Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.OrderedTreeLayout#getChildrenExpression()
+ * @see #getOrderedTreeLayout()
+ * @generated
+ */
+ EAttribute getOrderedTreeLayout_ChildrenExpression();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.OrderedTreeLayout#getNodeMapping <em>Node Mapping</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Node Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.OrderedTreeLayout#getNodeMapping()
+ * @see #getOrderedTreeLayout()
+ * @generated
+ */
+ EReference getOrderedTreeLayout_NodeMapping();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.CompositeLayout <em>Composite
+ * Layout</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Composite Layout</em>'.
+ * @see org.eclipse.sirius.diagram.description.CompositeLayout
+ * @generated
+ */
+ EClass getCompositeLayout();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.CompositeLayout#getPadding <em>Padding</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Padding</em>'.
+ * @see org.eclipse.sirius.diagram.description.CompositeLayout#getPadding()
+ * @see #getCompositeLayout()
+ * @generated
+ */
+ EAttribute getCompositeLayout_Padding();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.CompositeLayout#getDirection <em>Direction</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Direction</em>'.
+ * @see org.eclipse.sirius.diagram.description.CompositeLayout#getDirection()
+ * @see #getCompositeLayout()
+ * @generated
+ */
+ EAttribute getCompositeLayout_Direction();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration
+ * <em>Custom Layout Configuration</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Custom Layout Configuration</em>'.
+ * @see org.eclipse.sirius.diagram.description.CustomLayoutConfiguration
+ * @generated
+ */
+ EClass getCustomLayoutConfiguration();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getId <em>Id</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getId()
+ * @see #getCustomLayoutConfiguration()
+ * @generated
+ */
+ EAttribute getCustomLayoutConfiguration_Id();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getLabel <em>Label</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Label</em>'.
+ * @see org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getLabel()
+ * @see #getCustomLayoutConfiguration()
+ * @generated
+ */
+ EAttribute getCustomLayoutConfiguration_Label();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getDescription()
+ * @see #getCustomLayoutConfiguration()
+ * @generated
+ */
+ EAttribute getCustomLayoutConfiguration_Description();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getLayoutOptions <em>Layout
+ * Options</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Layout Options</em>'.
+ * @see org.eclipse.sirius.diagram.description.CustomLayoutConfiguration#getLayoutOptions()
+ * @see #getCustomLayoutConfiguration()
+ * @generated
+ */
+ EReference getCustomLayoutConfiguration_LayoutOptions();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.LayoutOption <em>Layout
+ * Option</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Layout Option</em>'.
+ * @see org.eclipse.sirius.diagram.description.LayoutOption
+ * @generated
+ */
+ EClass getLayoutOption();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.diagram.description.LayoutOption#getId
+ * <em>Id</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.sirius.diagram.description.LayoutOption#getId()
+ * @see #getLayoutOption()
+ * @generated
+ */
+ EAttribute getLayoutOption_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.diagram.description.LayoutOption#getLabel
+ * <em>Label</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Label</em>'.
+ * @see org.eclipse.sirius.diagram.description.LayoutOption#getLabel()
+ * @see #getLayoutOption()
+ * @generated
+ */
+ EAttribute getLayoutOption_Label();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.LayoutOption#getDescription <em>Description</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.LayoutOption#getDescription()
+ * @see #getLayoutOption()
+ * @generated
+ */
+ EAttribute getLayoutOption_Description();
+
+ /**
+ * Returns the meta object for the attribute list
+ * '{@link org.eclipse.sirius.diagram.description.LayoutOption#getTargets <em>Targets</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Targets</em>'.
+ * @see org.eclipse.sirius.diagram.description.LayoutOption#getTargets()
+ * @see #getLayoutOption()
+ * @generated
+ */
+ EAttribute getLayoutOption_Targets();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.BooleanLayoutOption <em>Boolean
+ * Layout Option</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Boolean Layout Option</em>'.
+ * @see org.eclipse.sirius.diagram.description.BooleanLayoutOption
+ * @generated
+ */
+ EClass getBooleanLayoutOption();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.BooleanLayoutOption#isValue <em>Value</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.sirius.diagram.description.BooleanLayoutOption#isValue()
+ * @see #getBooleanLayoutOption()
+ * @generated
+ */
+ EAttribute getBooleanLayoutOption_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.StringLayoutOption <em>String
+ * Layout Option</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>String Layout Option</em>'.
+ * @see org.eclipse.sirius.diagram.description.StringLayoutOption
+ * @generated
+ */
+ EClass getStringLayoutOption();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.StringLayoutOption#getValue <em>Value</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.sirius.diagram.description.StringLayoutOption#getValue()
+ * @see #getStringLayoutOption()
+ * @generated
+ */
+ EAttribute getStringLayoutOption_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.IntegerLayoutOption <em>Integer
+ * Layout Option</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Integer Layout Option</em>'.
+ * @see org.eclipse.sirius.diagram.description.IntegerLayoutOption
+ * @generated
+ */
+ EClass getIntegerLayoutOption();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.IntegerLayoutOption#getValue <em>Value</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.sirius.diagram.description.IntegerLayoutOption#getValue()
+ * @see #getIntegerLayoutOption()
+ * @generated
+ */
+ EAttribute getIntegerLayoutOption_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.DoubleLayoutOption <em>Double
+ * Layout Option</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Double Layout Option</em>'.
+ * @see org.eclipse.sirius.diagram.description.DoubleLayoutOption
+ * @generated
+ */
+ EClass getDoubleLayoutOption();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.DoubleLayoutOption#getValue <em>Value</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.sirius.diagram.description.DoubleLayoutOption#getValue()
+ * @see #getDoubleLayoutOption()
+ * @generated
+ */
+ EAttribute getDoubleLayoutOption_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.EnumLayoutOption <em>Enum Layout
+ * Option</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Enum Layout Option</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumLayoutOption
+ * @generated
+ */
+ EClass getEnumLayoutOption();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.EnumLayoutOption#getValue <em>Value</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Value</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumLayoutOption#getValue()
+ * @see #getEnumLayoutOption()
+ * @generated
+ */
+ EReference getEnumLayoutOption_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.EnumSetLayoutOption <em>Enum Set
+ * Layout Option</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Enum Set Layout Option</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumSetLayoutOption
+ * @generated
+ */
+ EClass getEnumSetLayoutOption();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.EnumSetLayoutOption#getValues <em>Values</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Values</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumSetLayoutOption#getValues()
+ * @see #getEnumSetLayoutOption()
+ * @generated
+ */
+ EReference getEnumSetLayoutOption_Values();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.EnumOption <em>Enum
+ * Option</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Enum Option</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumOption
+ * @generated
+ */
+ EClass getEnumOption();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.EnumOption#getChoices <em>Choices</em>}'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Choices</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumOption#getChoices()
+ * @see #getEnumOption()
+ * @generated
+ */
+ EReference getEnumOption_Choices();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.EnumLayoutValue <em>Enum Layout
+ * Value</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Enum Layout Value</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumLayoutValue
+ * @generated
+ */
+ EClass getEnumLayoutValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.diagram.description.EnumLayoutValue#getName
+ * <em>Name</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumLayoutValue#getName()
+ * @see #getEnumLayoutValue()
+ * @generated
+ */
+ EAttribute getEnumLayoutValue_Name();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.EnumLayoutValue#getDescription <em>Description</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.EnumLayoutValue#getDescription()
+ * @see #getEnumLayoutValue()
+ * @generated
+ */
+ EAttribute getEnumLayoutValue_Description();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.MappingBasedDecoration
+ * <em>Mapping Based Decoration</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Mapping Based Decoration</em>'.
+ * @see org.eclipse.sirius.diagram.description.MappingBasedDecoration
+ * @generated
+ */
+ EClass getMappingBasedDecoration();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.MappingBasedDecoration#getMappings <em>Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.MappingBasedDecoration#getMappings()
+ * @see #getMappingBasedDecoration()
+ * @generated
+ */
+ EReference getMappingBasedDecoration_Mappings();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.Layer <em>Layer</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Layer</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer
+ * @generated
+ */
+ EClass getLayer();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.Layer#getNodeMappings <em>Node Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Node Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getNodeMappings()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_NodeMappings();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.Layer#getEdgeMappings <em>Edge Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Edge Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getEdgeMappings()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_EdgeMappings();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.Layer#getEdgeMappingImports <em>Edge Mapping Imports</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Edge Mapping Imports</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getEdgeMappingImports()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_EdgeMappingImports();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.Layer#getContainerMappings <em>Container Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list ' <em>Container Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getContainerMappings()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_ContainerMappings();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.Layer#getReusedMappings <em>Reused Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reused Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getReusedMappings()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_ReusedMappings();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.sirius.diagram.description.Layer#getAllTools
+ * <em>All Tools</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>All Tools</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getAllTools()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_AllTools();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.Layer#getToolSections <em>Tool Sections</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Tool Sections</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getToolSections()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_ToolSections();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.Layer#getReusedTools <em>Reused Tools</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reused Tools</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getReusedTools()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_ReusedTools();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.Layer#getDecorationDescriptionsSet <em>Decoration Descriptions
+ * Set</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Decoration Descriptions Set</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getDecorationDescriptionsSet()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_DecorationDescriptionsSet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.diagram.description.Layer#getIcon
+ * <em>Icon</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Icon</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getIcon()
+ * @see #getLayer()
+ * @generated
+ */
+ EAttribute getLayer_Icon();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.Layer#getCustomization <em>Customization</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Customization</em>'.
+ * @see org.eclipse.sirius.diagram.description.Layer#getCustomization()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_Customization();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.AdditionalLayer <em>Additional
+ * Layer</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Additional Layer</em>'.
+ * @see org.eclipse.sirius.diagram.description.AdditionalLayer
+ * @generated
+ */
+ EClass getAdditionalLayer();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.AdditionalLayer#isActiveByDefault <em>Active By Default</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Active By Default</em>'.
+ * @see org.eclipse.sirius.diagram.description.AdditionalLayer#isActiveByDefault()
+ * @see #getAdditionalLayer()
+ * @generated
+ */
+ EAttribute getAdditionalLayer_ActiveByDefault();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.AdditionalLayer#isOptional <em>Optional</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.sirius.diagram.description.AdditionalLayer#isOptional()
+ * @see #getAdditionalLayer()
+ * @generated
+ */
+ EAttribute getAdditionalLayer_Optional();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.DragAndDropTargetDescription
+ * <em>Drag And Drop Target Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Drag And Drop Target Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.DragAndDropTargetDescription
+ * @generated
+ */
+ EClass getDragAndDropTargetDescription();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.DragAndDropTargetDescription#getDropDescriptions <em>Drop
+ * Descriptions</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Drop Descriptions</em>'.
+ * @see org.eclipse.sirius.diagram.description.DragAndDropTargetDescription#getDropDescriptions()
+ * @see #getDragAndDropTargetDescription()
+ * @generated
+ */
+ EReference getDragAndDropTargetDescription_DropDescriptions();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.sirius.diagram.description.FoldingStyle <em>Folding
+ * Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Folding Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.FoldingStyle
+ * @generated
+ */
+ EEnum getFoldingStyle();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.sirius.diagram.description.LayoutDirection <em>Layout
+ * Direction</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Layout Direction</em>'.
+ * @see org.eclipse.sirius.diagram.description.LayoutDirection
+ * @generated
+ */
+ EEnum getLayoutDirection();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.sirius.diagram.description.CenteringStyle <em>Centering
+ * Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Centering Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.CenteringStyle
+ * @generated
+ */
+ EEnum getCenteringStyle();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.sirius.diagram.description.LayoutOptionTarget <em>Layout
+ * Option Target</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Layout Option Target</em>'.
+ * @see org.eclipse.sirius.diagram.description.LayoutOptionTarget
+ * @generated
+ */
+ EEnum getLayoutOptionTarget();
+
+ /**
+ * 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
+ */
+ DescriptionFactory getDescriptionFactory();
+
+ /**
+ * <!-- 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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl
+ * <em>Diagram Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDiagramDescription()
+ * @generated
+ */
+ EClass DIAGRAM_DESCRIPTION = DescriptionPackage.eINSTANCE.getDiagramDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Filters</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__FILTERS = DescriptionPackage.eINSTANCE.getDiagramDescription_Filters();
+
+ /**
+ * The meta object literal for the '<em><b>Validation Set</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__VALIDATION_SET = DescriptionPackage.eINSTANCE.getDiagramDescription_ValidationSet();
+
+ /**
+ * The meta object literal for the '<em><b>Concerns</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__CONCERNS = DescriptionPackage.eINSTANCE.getDiagramDescription_Concerns();
+
+ /**
+ * The meta object literal for the '<em><b>Domain Class</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_DESCRIPTION__DOMAIN_CLASS = DescriptionPackage.eINSTANCE.getDiagramDescription_DomainClass();
+
+ /**
+ * The meta object literal for the ' <em><b>Precondition Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION = DescriptionPackage.eINSTANCE.getDiagramDescription_PreconditionExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Default Concern</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__DEFAULT_CONCERN = DescriptionPackage.eINSTANCE.getDiagramDescription_DefaultConcern();
+
+ /**
+ * The meta object literal for the '<em><b>Root Expression</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_DESCRIPTION__ROOT_EXPRESSION = DescriptionPackage.eINSTANCE.getDiagramDescription_RootExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Init</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__INIT = DescriptionPackage.eINSTANCE.getDiagramDescription_Init();
+
+ /**
+ * The meta object literal for the '<em><b>Layout</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__LAYOUT = DescriptionPackage.eINSTANCE.getDiagramDescription_Layout();
+
+ /**
+ * The meta object literal for the '<em><b>Diagram Initialisation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION = DescriptionPackage.eINSTANCE.getDiagramDescription_DiagramInitialisation();
+
+ /**
+ * The meta object literal for the '<em><b>Default Layer</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__DEFAULT_LAYER = DescriptionPackage.eINSTANCE.getDiagramDescription_DefaultLayer();
+
+ /**
+ * The meta object literal for the '<em><b>Additional Layers</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS = DescriptionPackage.eINSTANCE.getDiagramDescription_AdditionalLayers();
+
+ /**
+ * The meta object literal for the '<em><b>Node Mappings</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__NODE_MAPPINGS = DescriptionPackage.eINSTANCE.getDiagramDescription_NodeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Edge Mappings</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__EDGE_MAPPINGS = DescriptionPackage.eINSTANCE.getDiagramDescription_EdgeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Edge Mapping Imports</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS = DescriptionPackage.eINSTANCE.getDiagramDescription_EdgeMappingImports();
+
+ /**
+ * The meta object literal for the '<em><b>Container Mappings</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS = DescriptionPackage.eINSTANCE.getDiagramDescription_ContainerMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Reused Mappings</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__REUSED_MAPPINGS = DescriptionPackage.eINSTANCE.getDiagramDescription_ReusedMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Tool Section</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__TOOL_SECTION = DescriptionPackage.eINSTANCE.getDiagramDescription_ToolSection();
+
+ /**
+ * The meta object literal for the '<em><b>Reused Tools</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__REUSED_TOOLS = DescriptionPackage.eINSTANCE.getDiagramDescription_ReusedTools();
+
+ /**
+ * The meta object literal for the '<em><b>Enable Popup Bars</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS = DescriptionPackage.eINSTANCE.getDiagramDescription_EnablePopupBars();
+
+ /**
+ * The meta object literal for the '<em><b>Background Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_DESCRIPTION__BACKGROUND_COLOR = DescriptionPackage.eINSTANCE.getDiagramDescription_BackgroundColor();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl <em>Diagram Import
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDiagramImportDescription()
+ * @generated
+ */
+ EClass DIAGRAM_IMPORT_DESCRIPTION = DescriptionPackage.eINSTANCE.getDiagramImportDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Imported Diagram</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM = DescriptionPackage.eINSTANCE.getDiagramImportDescription_ImportedDiagram();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl <em>Diagram Extension
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDiagramExtensionDescription()
+ * @generated
+ */
+ EClass DIAGRAM_EXTENSION_DESCRIPTION = DescriptionPackage.eINSTANCE.getDiagramExtensionDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Layers</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_EXTENSION_DESCRIPTION__LAYERS = DescriptionPackage.eINSTANCE.getDiagramExtensionDescription_Layers();
+
+ /**
+ * The meta object literal for the '<em><b>Validation Set</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET = DescriptionPackage.eINSTANCE.getDiagramExtensionDescription_ValidationSet();
+
+ /**
+ * The meta object literal for the '<em><b>Concerns</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS = DescriptionPackage.eINSTANCE.getDiagramExtensionDescription_Concerns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl
+ * <em>Diagram Element Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDiagramElementMapping()
+ * @generated
+ */
+ EClass DIAGRAM_ELEMENT_MAPPING = DescriptionPackage.eINSTANCE.getDiagramElementMapping();
+
+ /**
+ * The meta object literal for the ' <em><b>Precondition Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION = DescriptionPackage.eINSTANCE.getDiagramElementMapping_PreconditionExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Deletion Description</b></em>' reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION = DescriptionPackage.eINSTANCE.getDiagramElementMapping_DeletionDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Label Direct Edit</b></em>' reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT = DescriptionPackage.eINSTANCE.getDiagramElementMapping_LabelDirectEdit();
+
+ /**
+ * The meta object literal for the '<em><b>Semantic Candidates Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION = DescriptionPackage.eINSTANCE.getDiagramElementMapping_SemanticCandidatesExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Create Elements</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS = DescriptionPackage.eINSTANCE.getDiagramElementMapping_CreateElements();
+
+ /**
+ * The meta object literal for the '<em><b>Semantic Elements</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS = DescriptionPackage.eINSTANCE.getDiagramElementMapping_SemanticElements();
+
+ /**
+ * The meta object literal for the ' <em><b>Double Click Description</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION = DescriptionPackage.eINSTANCE.getDiagramElementMapping_DoubleClickDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Synchronization Lock</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK = DescriptionPackage.eINSTANCE.getDiagramElementMapping_SynchronizationLock();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.AbstractNodeMappingImpl
+ * <em>Abstract Node Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.AbstractNodeMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getAbstractNodeMapping()
+ * @generated
+ */
+ EClass ABSTRACT_NODE_MAPPING = DescriptionPackage.eINSTANCE.getAbstractNodeMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Domain Class</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ABSTRACT_NODE_MAPPING__DOMAIN_CLASS = DescriptionPackage.eINSTANCE.getAbstractNodeMapping_DomainClass();
+
+ /**
+ * The meta object literal for the '<em><b>Bordered Node Mappings</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS = DescriptionPackage.eINSTANCE.getAbstractNodeMapping_BorderedNodeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Reused Bordered Node Mappings</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS = DescriptionPackage.eINSTANCE.getAbstractNodeMapping_ReusedBorderedNodeMappings();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImpl <em>Node
+ * Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.NodeMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getNodeMapping()
+ * @generated
+ */
+ EClass NODE_MAPPING = DescriptionPackage.eINSTANCE.getNodeMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Style</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_MAPPING__STYLE = DescriptionPackage.eINSTANCE.getNodeMapping_Style();
+
+ /**
+ * The meta object literal for the '<em><b>Conditionnal Styles</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_MAPPING__CONDITIONNAL_STYLES = DescriptionPackage.eINSTANCE.getNodeMapping_ConditionnalStyles();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl
+ * <em>Container Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getContainerMapping()
+ * @generated
+ */
+ EClass CONTAINER_MAPPING = DescriptionPackage.eINSTANCE.getContainerMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Sub Node Mappings</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_MAPPING__SUB_NODE_MAPPINGS = DescriptionPackage.eINSTANCE.getContainerMapping_SubNodeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Reused Node Mappings</b></em> ' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_MAPPING__REUSED_NODE_MAPPINGS = DescriptionPackage.eINSTANCE.getContainerMapping_ReusedNodeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Sub Container Mappings</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS = DescriptionPackage.eINSTANCE.getContainerMapping_SubContainerMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Reused Container Mappings</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS = DescriptionPackage.eINSTANCE.getContainerMapping_ReusedContainerMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Style</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_MAPPING__STYLE = DescriptionPackage.eINSTANCE.getContainerMapping_Style();
+
+ /**
+ * The meta object literal for the '<em><b>Conditionnal Styles</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_MAPPING__CONDITIONNAL_STYLES = DescriptionPackage.eINSTANCE.getContainerMapping_ConditionnalStyles();
+
+ /**
+ * The meta object literal for the ' <em><b>Children Presentation</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CONTAINER_MAPPING__CHILDREN_PRESENTATION = DescriptionPackage.eINSTANCE.getContainerMapping_ChildrenPresentation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImportImpl
+ * <em>Node Mapping Import</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.NodeMappingImportImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getNodeMappingImport()
+ * @generated
+ */
+ EClass NODE_MAPPING_IMPORT = DescriptionPackage.eINSTANCE.getNodeMappingImport();
+
+ /**
+ * The meta object literal for the '<em><b>Imported Mapping</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_MAPPING_IMPORT__IMPORTED_MAPPING = DescriptionPackage.eINSTANCE.getNodeMappingImport_ImportedMapping();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImportImpl <em>Container Mapping
+ * Import</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ContainerMappingImportImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getContainerMappingImport()
+ * @generated
+ */
+ EClass CONTAINER_MAPPING_IMPORT = DescriptionPackage.eINSTANCE.getContainerMappingImport();
+
+ /**
+ * The meta object literal for the '<em><b>Imported Mapping</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING = DescriptionPackage.eINSTANCE.getContainerMappingImport_ImportedMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl <em>Edge
+ * Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEdgeMapping()
+ * @generated
+ */
+ EClass EDGE_MAPPING = DescriptionPackage.eINSTANCE.getEdgeMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Source Mapping</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_MAPPING__SOURCE_MAPPING = DescriptionPackage.eINSTANCE.getEdgeMapping_SourceMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Target Mapping</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_MAPPING__TARGET_MAPPING = DescriptionPackage.eINSTANCE.getEdgeMapping_TargetMapping();
+
+ /**
+ * The meta object literal for the ' <em><b>Target Finder Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_MAPPING__TARGET_FINDER_EXPRESSION = DescriptionPackage.eINSTANCE.getEdgeMapping_TargetFinderExpression();
+
+ /**
+ * The meta object literal for the ' <em><b>Source Finder Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_MAPPING__SOURCE_FINDER_EXPRESSION = DescriptionPackage.eINSTANCE.getEdgeMapping_SourceFinderExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Style</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_MAPPING__STYLE = DescriptionPackage.eINSTANCE.getEdgeMapping_Style();
+
+ /**
+ * The meta object literal for the '<em><b>Conditionnal Styles</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_MAPPING__CONDITIONNAL_STYLES = DescriptionPackage.eINSTANCE.getEdgeMapping_ConditionnalStyles();
+
+ /**
+ * The meta object literal for the '<em><b>Target Expression</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_MAPPING__TARGET_EXPRESSION = DescriptionPackage.eINSTANCE.getEdgeMapping_TargetExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Domain Class</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_MAPPING__DOMAIN_CLASS = DescriptionPackage.eINSTANCE.getEdgeMapping_DomainClass();
+
+ /**
+ * The meta object literal for the '<em><b>Use Domain Element</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_MAPPING__USE_DOMAIN_ELEMENT = DescriptionPackage.eINSTANCE.getEdgeMapping_UseDomainElement();
+
+ /**
+ * The meta object literal for the '<em><b>Reconnections</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_MAPPING__RECONNECTIONS = DescriptionPackage.eINSTANCE.getEdgeMapping_Reconnections();
+
+ /**
+ * The meta object literal for the '<em><b>Path Expression</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_MAPPING__PATH_EXPRESSION = DescriptionPackage.eINSTANCE.getEdgeMapping_PathExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Path Node Mapping</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_MAPPING__PATH_NODE_MAPPING = DescriptionPackage.eINSTANCE.getEdgeMapping_PathNodeMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.IEdgeMapping <em>IEdge
+ * Mapping</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.IEdgeMapping
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getIEdgeMapping()
+ * @generated
+ */
+ EClass IEDGE_MAPPING = DescriptionPackage.eINSTANCE.getIEdgeMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl
+ * <em>Edge Mapping Import</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEdgeMappingImport()
+ * @generated
+ */
+ EClass EDGE_MAPPING_IMPORT = DescriptionPackage.eINSTANCE.getEdgeMappingImport();
+
+ /**
+ * The meta object literal for the '<em><b>Imported Mapping</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_MAPPING_IMPORT__IMPORTED_MAPPING = DescriptionPackage.eINSTANCE.getEdgeMappingImport_ImportedMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Conditionnal Styles</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES = DescriptionPackage.eINSTANCE.getEdgeMappingImport_ConditionnalStyles();
+
+ /**
+ * The meta object literal for the ' <em><b>Inherits Ancestor Filters</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS = DescriptionPackage.eINSTANCE.getEdgeMappingImport_InheritsAncestorFilters();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.ConditionalNodeStyleDescriptionImpl <em>Conditional Node
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ConditionalNodeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getConditionalNodeStyleDescription()
+ * @generated
+ */
+ EClass CONDITIONAL_NODE_STYLE_DESCRIPTION = DescriptionPackage.eINSTANCE.getConditionalNodeStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Style</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE = DescriptionPackage.eINSTANCE.getConditionalNodeStyleDescription_Style();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.ConditionalEdgeStyleDescriptionImpl <em>Conditional Edge
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ConditionalEdgeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getConditionalEdgeStyleDescription()
+ * @generated
+ */
+ EClass CONDITIONAL_EDGE_STYLE_DESCRIPTION = DescriptionPackage.eINSTANCE.getConditionalEdgeStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Style</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE = DescriptionPackage.eINSTANCE.getConditionalEdgeStyleDescription_Style();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.ConditionalContainerStyleDescriptionImpl <em>Conditional
+ * Container Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.ConditionalContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getConditionalContainerStyleDescription()
+ * @generated
+ */
+ EClass CONDITIONAL_CONTAINER_STYLE_DESCRIPTION = DescriptionPackage.eINSTANCE.getConditionalContainerStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Style</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE = DescriptionPackage.eINSTANCE.getConditionalContainerStyleDescription_Style();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.Layout <em>Layout</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.Layout
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayout()
+ * @generated
+ */
+ EClass LAYOUT = DescriptionPackage.eINSTANCE.getLayout();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.OrderedTreeLayoutImpl
+ * <em>Ordered Tree Layout</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.OrderedTreeLayoutImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getOrderedTreeLayout()
+ * @generated
+ */
+ EClass ORDERED_TREE_LAYOUT = DescriptionPackage.eINSTANCE.getOrderedTreeLayout();
+
+ /**
+ * The meta object literal for the '<em><b>Children Expression</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ORDERED_TREE_LAYOUT__CHILDREN_EXPRESSION = DescriptionPackage.eINSTANCE.getOrderedTreeLayout_ChildrenExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Node Mapping</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ORDERED_TREE_LAYOUT__NODE_MAPPING = DescriptionPackage.eINSTANCE.getOrderedTreeLayout_NodeMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.CompositeLayoutImpl
+ * <em>Composite Layout</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.CompositeLayoutImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getCompositeLayout()
+ * @generated
+ */
+ EClass COMPOSITE_LAYOUT = DescriptionPackage.eINSTANCE.getCompositeLayout();
+
+ /**
+ * The meta object literal for the '<em><b>Padding</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute COMPOSITE_LAYOUT__PADDING = DescriptionPackage.eINSTANCE.getCompositeLayout_Padding();
+
+ /**
+ * The meta object literal for the '<em><b>Direction</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute COMPOSITE_LAYOUT__DIRECTION = DescriptionPackage.eINSTANCE.getCompositeLayout_Direction();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.CustomLayoutConfigurationImpl <em>Custom Layout
+ * Configuration</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.CustomLayoutConfigurationImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getCustomLayoutConfiguration()
+ * @generated
+ */
+ EClass CUSTOM_LAYOUT_CONFIGURATION = DescriptionPackage.eINSTANCE.getCustomLayoutConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CUSTOM_LAYOUT_CONFIGURATION__ID = DescriptionPackage.eINSTANCE.getCustomLayoutConfiguration_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Label</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CUSTOM_LAYOUT_CONFIGURATION__LABEL = DescriptionPackage.eINSTANCE.getCustomLayoutConfiguration_Label();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CUSTOM_LAYOUT_CONFIGURATION__DESCRIPTION = DescriptionPackage.eINSTANCE.getCustomLayoutConfiguration_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Layout Options</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS = DescriptionPackage.eINSTANCE.getCustomLayoutConfiguration_LayoutOptions();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.LayoutOptionImpl
+ * <em>Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.LayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayoutOption()
+ * @generated
+ */
+ EClass LAYOUT_OPTION = DescriptionPackage.eINSTANCE.getLayoutOption();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute LAYOUT_OPTION__ID = DescriptionPackage.eINSTANCE.getLayoutOption_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Label</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute LAYOUT_OPTION__LABEL = DescriptionPackage.eINSTANCE.getLayoutOption_Label();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute LAYOUT_OPTION__DESCRIPTION = DescriptionPackage.eINSTANCE.getLayoutOption_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Targets</b></em>' attribute list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute LAYOUT_OPTION__TARGETS = DescriptionPackage.eINSTANCE.getLayoutOption_Targets();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.BooleanLayoutOptionImpl
+ * <em>Boolean Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.BooleanLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getBooleanLayoutOption()
+ * @generated
+ */
+ EClass BOOLEAN_LAYOUT_OPTION = DescriptionPackage.eINSTANCE.getBooleanLayoutOption();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BOOLEAN_LAYOUT_OPTION__VALUE = DescriptionPackage.eINSTANCE.getBooleanLayoutOption_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.StringLayoutOptionImpl
+ * <em>String Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.StringLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getStringLayoutOption()
+ * @generated
+ */
+ EClass STRING_LAYOUT_OPTION = DescriptionPackage.eINSTANCE.getStringLayoutOption();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STRING_LAYOUT_OPTION__VALUE = DescriptionPackage.eINSTANCE.getStringLayoutOption_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.IntegerLayoutOptionImpl
+ * <em>Integer Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.IntegerLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getIntegerLayoutOption()
+ * @generated
+ */
+ EClass INTEGER_LAYOUT_OPTION = DescriptionPackage.eINSTANCE.getIntegerLayoutOption();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute INTEGER_LAYOUT_OPTION__VALUE = DescriptionPackage.eINSTANCE.getIntegerLayoutOption_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.DoubleLayoutOptionImpl
+ * <em>Double Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DoubleLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDoubleLayoutOption()
+ * @generated
+ */
+ EClass DOUBLE_LAYOUT_OPTION = DescriptionPackage.eINSTANCE.getDoubleLayoutOption();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DOUBLE_LAYOUT_OPTION__VALUE = DescriptionPackage.eINSTANCE.getDoubleLayoutOption_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.EnumLayoutOptionImpl
+ * <em>Enum Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EnumLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEnumLayoutOption()
+ * @generated
+ */
+ EClass ENUM_LAYOUT_OPTION = DescriptionPackage.eINSTANCE.getEnumLayoutOption();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ENUM_LAYOUT_OPTION__VALUE = DescriptionPackage.eINSTANCE.getEnumLayoutOption_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.EnumSetLayoutOptionImpl
+ * <em>Enum Set Layout Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EnumSetLayoutOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEnumSetLayoutOption()
+ * @generated
+ */
+ EClass ENUM_SET_LAYOUT_OPTION = DescriptionPackage.eINSTANCE.getEnumSetLayoutOption();
+
+ /**
+ * The meta object literal for the '<em><b>Values</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ENUM_SET_LAYOUT_OPTION__VALUES = DescriptionPackage.eINSTANCE.getEnumSetLayoutOption_Values();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.EnumOptionImpl <em>Enum
+ * Option</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EnumOptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEnumOption()
+ * @generated
+ */
+ EClass ENUM_OPTION = DescriptionPackage.eINSTANCE.getEnumOption();
+
+ /**
+ * The meta object literal for the '<em><b>Choices</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ENUM_OPTION__CHOICES = DescriptionPackage.eINSTANCE.getEnumOption_Choices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.EnumLayoutValueImpl
+ * <em>Enum Layout Value</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.EnumLayoutValueImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getEnumLayoutValue()
+ * @generated
+ */
+ EClass ENUM_LAYOUT_VALUE = DescriptionPackage.eINSTANCE.getEnumLayoutValue();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ENUM_LAYOUT_VALUE__NAME = DescriptionPackage.eINSTANCE.getEnumLayoutValue_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ENUM_LAYOUT_VALUE__DESCRIPTION = DescriptionPackage.eINSTANCE.getEnumLayoutValue_Description();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.MappingBasedDecorationImpl <em>Mapping Based
+ * Decoration</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.MappingBasedDecorationImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getMappingBasedDecoration()
+ * @generated
+ */
+ EClass MAPPING_BASED_DECORATION = DescriptionPackage.eINSTANCE.getMappingBasedDecoration();
+
+ /**
+ * The meta object literal for the '<em><b>Mappings</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MAPPING_BASED_DECORATION__MAPPINGS = DescriptionPackage.eINSTANCE.getMappingBasedDecoration_Mappings();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.LayerImpl
+ * <em>Layer</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.LayerImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayer()
+ * @generated
+ */
+ EClass LAYER = DescriptionPackage.eINSTANCE.getLayer();
+
+ /**
+ * The meta object literal for the '<em><b>Node Mappings</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__NODE_MAPPINGS = DescriptionPackage.eINSTANCE.getLayer_NodeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Edge Mappings</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__EDGE_MAPPINGS = DescriptionPackage.eINSTANCE.getLayer_EdgeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Edge Mapping Imports</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__EDGE_MAPPING_IMPORTS = DescriptionPackage.eINSTANCE.getLayer_EdgeMappingImports();
+
+ /**
+ * The meta object literal for the '<em><b>Container Mappings</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__CONTAINER_MAPPINGS = DescriptionPackage.eINSTANCE.getLayer_ContainerMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Reused Mappings</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__REUSED_MAPPINGS = DescriptionPackage.eINSTANCE.getLayer_ReusedMappings();
+
+ /**
+ * The meta object literal for the '<em><b>All Tools</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__ALL_TOOLS = DescriptionPackage.eINSTANCE.getLayer_AllTools();
+
+ /**
+ * The meta object literal for the '<em><b>Tool Sections</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__TOOL_SECTIONS = DescriptionPackage.eINSTANCE.getLayer_ToolSections();
+
+ /**
+ * The meta object literal for the '<em><b>Reused Tools</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__REUSED_TOOLS = DescriptionPackage.eINSTANCE.getLayer_ReusedTools();
+
+ /**
+ * The meta object literal for the '<em><b>Decoration Descriptions Set</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__DECORATION_DESCRIPTIONS_SET = DescriptionPackage.eINSTANCE.getLayer_DecorationDescriptionsSet();
+
+ /**
+ * The meta object literal for the '<em><b>Icon</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute LAYER__ICON = DescriptionPackage.eINSTANCE.getLayer_Icon();
+
+ /**
+ * The meta object literal for the '<em><b>Customization</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LAYER__CUSTOMIZATION = DescriptionPackage.eINSTANCE.getLayer_Customization();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.impl.AdditionalLayerImpl
+ * <em>Additional Layer</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.AdditionalLayerImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getAdditionalLayer()
+ * @generated
+ */
+ EClass ADDITIONAL_LAYER = DescriptionPackage.eINSTANCE.getAdditionalLayer();
+
+ /**
+ * The meta object literal for the '<em><b>Active By Default</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ADDITIONAL_LAYER__ACTIVE_BY_DEFAULT = DescriptionPackage.eINSTANCE.getAdditionalLayer_ActiveByDefault();
+
+ /**
+ * The meta object literal for the '<em><b>Optional</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ADDITIONAL_LAYER__OPTIONAL = DescriptionPackage.eINSTANCE.getAdditionalLayer_Optional();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.impl.DragAndDropTargetDescriptionImpl <em>Drag And Drop Target
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.impl.DragAndDropTargetDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getDragAndDropTargetDescription()
+ * @generated
+ */
+ EClass DRAG_AND_DROP_TARGET_DESCRIPTION = DescriptionPackage.eINSTANCE.getDragAndDropTargetDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Drop Descriptions</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS = DescriptionPackage.eINSTANCE.getDragAndDropTargetDescription_DropDescriptions();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.FoldingStyle <em>Folding
+ * Style</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.FoldingStyle
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getFoldingStyle()
+ * @generated
+ */
+ EEnum FOLDING_STYLE = DescriptionPackage.eINSTANCE.getFoldingStyle();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.LayoutDirection <em>Layout
+ * Direction</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.LayoutDirection
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayoutDirection()
+ * @generated
+ */
+ EEnum LAYOUT_DIRECTION = DescriptionPackage.eINSTANCE.getLayoutDirection();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.CenteringStyle <em>Centering
+ * Style</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.CenteringStyle
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getCenteringStyle()
+ * @generated
+ */
+ EEnum CENTERING_STYLE = DescriptionPackage.eINSTANCE.getCenteringStyle();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.LayoutOptionTarget <em>Layout
+ * Option Target</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.LayoutOptionTarget
+ * @see org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl#getLayoutOptionTarget()
+ * @generated
+ */
+ EEnum LAYOUT_OPTION_TARGET = DescriptionPackage.eINSTANCE.getLayoutOptionTarget();
+
+ }
+
+} // DescriptionPackage
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramDescription.java
new file mode 100644
index 0000000000..d94025dd5c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramDescription.java
@@ -0,0 +1,516 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.DSemanticDiagram;
+import org.eclipse.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.PasteTargetDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationDescription;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationSet;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Diagram Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The description of a diagram. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getFilters <em>Filters</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getValidationSet <em>Validation Set</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getConcerns <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDomainClass <em>Domain Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getPreconditionExpression <em>Precondition
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDefaultConcern <em>Default Concern</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getRootExpression <em>Root Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getInit <em>Init</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getLayout <em>Layout</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDiagramInitialisation <em>Diagram
+ * Initialisation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDefaultLayer <em>Default Layer</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getAdditionalLayers <em>Additional
+ * Layers</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getNodeMappings <em>Node Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getEdgeMappings <em>Edge Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getEdgeMappingImports <em>Edge Mapping
+ * Imports</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getContainerMappings <em>Container
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getReusedMappings <em>Reused Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getToolSection <em>Tool Section</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getReusedTools <em>Reused Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#isEnablePopupBars <em>Enable Popup
+ * Bars</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramDescription#getBackgroundColor <em>Background
+ * Color</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription()
+ * @model
+ * @generated
+ */
+public interface DiagramDescription extends DragAndDropTargetDescription, RepresentationDescription, PasteTargetDescription {
+ /**
+ * Returns the value of the '<em><b>Filters</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.filter.FilterDescription}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> Filters that are owned by this simple mapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Filters</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_Filters()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<FilterDescription> getFilters();
+
+ /**
+ * Returns the value of the '<em><b>Validation Set</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The validations rules <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Validation Set</em>' containment reference.
+ * @see #setValidationSet(ValidationSet)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_ValidationSet()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ ValidationSet getValidationSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getValidationSet
+ * <em>Validation Set</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Validation Set</em>' containment reference.
+ * @see #getValidationSet()
+ * @generated
+ */
+ void setValidationSet(ValidationSet value);
+
+ /**
+ * Returns the value of the '<em><b>Concerns</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> All concerns of the viewpoint. A concern is a set of filters,
+ * validations and behaviors. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Concerns</em>' containment reference.
+ * @see #setConcerns(ConcernSet)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_Concerns()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ ConcernSet getConcerns();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getConcerns
+ * <em>Concerns</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Concerns</em>' containment reference.
+ * @see #getConcerns()
+ * @generated
+ */
+ void setConcerns(ConcernSet value);
+
+ /**
+ * Returns the value of the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> The domain class of the viewpoint. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Domain Class</em>' attribute.
+ * @see #setDomainClass(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_DomainClass()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.TypeName" required="true"
+ * @generated
+ */
+ String getDomainClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDomainClass <em>Domain
+ * Class</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Domain Class</em>' attribute.
+ * @see #getDomainClass()
+ * @generated
+ */
+ void setDomainClass(String value);
+
+ /**
+ * Returns the value of the '<em><b>Precondition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The predicate that allows (or not) to create a viewpoint from a Meta
+ * Class. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Precondition Expression</em>' attribute.
+ * @see #setPreconditionExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_PreconditionExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a boolean.'"
+ * @generated
+ */
+ String getPreconditionExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getPreconditionExpression
+ * <em>Precondition Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Precondition Expression</em>' attribute.
+ * @see #getPreconditionExpression()
+ * @generated
+ */
+ void setPreconditionExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Default Concern</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The default concern to use. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Default Concern</em>' reference.
+ * @see #setDefaultConcern(ConcernDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_DefaultConcern()
+ * @model
+ * @generated
+ */
+ ConcernDescription getDefaultConcern();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDefaultConcern
+ * <em>Default Concern</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Default Concern</em>' reference.
+ * @see #getDefaultConcern()
+ * @generated
+ */
+ void setDefaultConcern(ConcernDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Root Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Root Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Root Expression</em>' attribute.
+ * @see #setRootExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_RootExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an EObject.'"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/variables
+ * diagram='diagram.DSemanticDiagram | the current DDiagram.' viewpoint='diagram.DSemanticDiagram |
+ * (deprecated) the current DDiagram.'"
+ * @generated
+ */
+ String getRootExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getRootExpression
+ * <em>Root Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Root Expression</em>' attribute.
+ * @see #getRootExpression()
+ * @generated
+ */
+ void setRootExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Init</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Init</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Init</em>' reference.
+ * @see #setInit(RepresentationCreationDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_Init()
+ * @model annotation="TagValues"
+ * @generated
+ */
+ RepresentationCreationDescription getInit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getInit <em>Init</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Init</em>' reference.
+ * @see #getInit()
+ * @generated
+ */
+ void setInit(RepresentationCreationDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Layout</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Layout</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>Layout</em>' containment reference.
+ * @see #setLayout(Layout)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_Layout()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ Layout getLayout();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getLayout
+ * <em>Layout</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Layout</em>' containment reference.
+ * @see #getLayout()
+ * @generated
+ */
+ void setLayout(Layout value);
+
+ /**
+ * Returns the value of the '<em><b>Diagram Initialisation</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Diagram Initialisation</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>Diagram Initialisation</em>' containment reference.
+ * @see #setDiagramInitialisation(InitialOperation)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_DiagramInitialisation()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ InitialOperation getDiagramInitialisation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDiagramInitialisation
+ * <em>Diagram Initialisation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Diagram Initialisation</em>' containment reference.
+ * @see #getDiagramInitialisation()
+ * @generated
+ */
+ void setDiagramInitialisation(InitialOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Default Layer</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Layer</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>Default Layer</em>' containment reference.
+ * @see #setDefaultLayer(Layer)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_DefaultLayer()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ Layer getDefaultLayer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getDefaultLayer
+ * <em>Default Layer</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Default Layer</em>' containment reference.
+ * @see #getDefaultLayer()
+ * @generated
+ */
+ void setDefaultLayer(Layer value);
+
+ /**
+ * Returns the value of the '<em><b>Additional Layers</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.AdditionalLayer}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Additional Layers</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>Additional Layers</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_AdditionalLayers()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<AdditionalLayer> getAdditionalLayers();
+
+ /**
+ * Returns the value of the '<em><b>Node Mappings</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.NodeMapping}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Node mappings that are owned by this simple mapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Node Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_NodeMappings()
+ * @model containment="true" resolveProxies="true" keys="name" annotation="TagValues"
+ * @generated
+ */
+ EList<NodeMapping> getNodeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Edge Mappings</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.EdgeMapping}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Edge mappings that are owned by this simple mapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Edge Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_EdgeMappings()
+ * @model containment="true" resolveProxies="true" keys="name" annotation="TagValues"
+ * @generated
+ */
+ EList<EdgeMapping> getEdgeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Edge Mapping Imports</b></em>' containment reference list. The list contents are
+ * of type {@link org.eclipse.sirius.diagram.description.EdgeMappingImport}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> Edge mapping imports that are owned by this simple mapping. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Edge Mapping Imports</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_EdgeMappingImports()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<EdgeMappingImport> getEdgeMappingImports();
+
+ /**
+ * Returns the value of the '<em><b>Container Mappings</b></em>' containment reference list. The list contents are
+ * of type {@link org.eclipse.sirius.diagram.description.ContainerMapping}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> container mappings that are owned by this simple mapping. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Container Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_ContainerMappings()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<ContainerMapping> getContainerMappings();
+
+ /**
+ * Returns the value of the '<em><b>Reused Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The reused mappings. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Reused Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_ReusedMappings()
+ * @model
+ * @generated
+ */
+ EList<DiagramElementMapping> getReusedMappings();
+
+ /**
+ * Returns the value of the '<em><b>Tool Section</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> A tool section encloses many tools <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Tool Section</em>' containment reference.
+ * @see #setToolSection(ToolSection)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_ToolSection()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ ToolSection getToolSection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getToolSection <em>Tool
+ * Section</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Tool Section</em>' containment reference.
+ * @see #getToolSection()
+ * @generated
+ */
+ void setToolSection(ToolSection value);
+
+ /**
+ * Returns the value of the '<em><b>Reused Tools</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription} . <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> Tools that are reused by this viewpoint. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Reused Tools</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_ReusedTools()
+ * @model
+ * @generated
+ */
+ EList<AbstractToolDescription> getReusedTools();
+
+ /**
+ * Returns the value of the '<em><b>Enable Popup Bars</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> Boolean indicating whether or not to show dynamic popup bars with creation tools.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Enable Popup Bars</em>' attribute.
+ * @see #setEnablePopupBars(boolean)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_EnablePopupBars()
+ * @model
+ * @generated
+ */
+ boolean isEnablePopupBars();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#isEnablePopupBars
+ * <em>Enable Popup Bars</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Enable Popup Bars</em>' attribute.
+ * @see #isEnablePopupBars()
+ * @generated
+ */
+ void setEnablePopupBars(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Background Color</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> Color of the diagram background, white if unset. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Background Color</em>' reference.
+ * @see #setBackgroundColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramDescription_BackgroundColor()
+ * @model
+ * @generated
+ */
+ ColorDescription getBackgroundColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramDescription#getBackgroundColor
+ * <em>Background Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Background Color</em>' reference.
+ * @see #getBackgroundColor()
+ * @generated
+ */
+ void setBackgroundColor(ColorDescription value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ DSemanticDiagram createDiagram();
+
+} // DiagramDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramElementMapping.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramElementMapping.java
new file mode 100644
index 0000000000..f8581188b0
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramElementMapping.java
@@ -0,0 +1,282 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.sirius.diagram.description.tool.DeleteElementDescription;
+import org.eclipse.sirius.diagram.description.tool.DirectEditLabel;
+import org.eclipse.sirius.diagram.description.tool.DoubleClickDescription;
+import org.eclipse.sirius.viewpoint.description.PasteTargetDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationElementMapping;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Diagram Element Mapping</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Represent the mapping of a ViewPointElement. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getPreconditionExpression <em>Precondition
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getDeletionDescription <em>Deletion
+ * Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getLabelDirectEdit <em>Label Direct
+ * Edit</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getSemanticCandidatesExpression <em>Semantic
+ * Candidates Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#isCreateElements <em>Create
+ * Elements</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getSemanticElements <em>Semantic
+ * Elements</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getDoubleClickDescription <em>Double Click
+ * Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#isSynchronizationLock <em>Synchronization
+ * Lock</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DiagramElementMapping extends RepresentationElementMapping, PasteTargetDescription {
+ /**
+ * Returns the value of the '<em><b>Precondition Expression</b></em>' attribute. The default value is
+ * <code>""</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An expression guarding
+ * the effect if evaluated to false. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Precondition Expression</em>' attribute.
+ * @see #setPreconditionExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping_PreconditionExpression()
+ * @model default="" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation =
+ * "http://www.eclipse.org/emf/2002/GenModel contentassist=''" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a boolean.'" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/variables containerView='diagram.DragAndDropTarget |
+ * the view that should contain the potential views of the checked elements.' container='ecore.EObject | the
+ * semantic element of containerView.' viewpoint='diagram.DSemanticDiagram | (deprecated) the current
+ * DSemanticDiagram.' diagram='diagram.DSemanticDiagram | the current DSemanticDiagram.'
+ * sourceView='viewpoint.DSemanticDecorator | (edge only) the source view of the current potential edge.'
+ * source='ecore.EObject | (edge only) the semantic element of sourceView.'
+ * targetView='viewpoint.DSemanticDecorator | (edge only) the target view of the current potential edge.'
+ * target='ecore.EObject | (edge only) the semantic element of targetView.'"
+ * @generated
+ */
+ String getPreconditionExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getPreconditionExpression <em>Precondition
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Precondition Expression</em>' attribute.
+ * @see #getPreconditionExpression()
+ * @generated
+ */
+ void setPreconditionExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Deletion Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The tool that describes how to delete this element. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Deletion Description</em>' reference.
+ * @see #setDeletionDescription(DeleteElementDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping_DeletionDescription()
+ * @model
+ * @generated
+ */
+ DeleteElementDescription getDeletionDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getDeletionDescription
+ * <em>Deletion Description</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Deletion Description</em>' reference.
+ * @see #getDeletionDescription()
+ * @generated
+ */
+ void setDeletionDescription(DeleteElementDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Label Direct Edit</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The tool that describes what to do when the user edits the label of the elements.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Label Direct Edit</em>' reference.
+ * @see #setLabelDirectEdit(DirectEditLabel)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping_LabelDirectEdit()
+ * @model
+ * @generated
+ */
+ DirectEditLabel getLabelDirectEdit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getLabelDirectEdit
+ * <em>Label Direct Edit</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Label Direct Edit</em>' reference.
+ * @see #getLabelDirectEdit()
+ * @generated
+ */
+ void setLabelDirectEdit(DirectEditLabel value);
+
+ /**
+ * Returns the value of the '<em><b>Semantic Candidates Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> In the default case, candidates of a mapping are all EObjet owned by
+ * the semantic element of the view container. The semanticCandidatesExpression is an expression that returns the
+ * list of EObject that are candidates of the mapping instead of the candidates of the default case. The context of
+ * the expression is the semantic element of the view container. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Semantic Candidates Expression</em>' attribute.
+ * @see #setSemanticCandidatesExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping_SemanticCandidatesExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation =
+ * "http://www.eclipse.org/emf/2002/GenModel contentassist=''" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a Collection<EObject> or an
+ * EObject.'" annotation= "http://www.eclipse.org/sirius/interpreted/expression/variables
+ * containerView='diagram.DSemanticDiagram | the parent view of potential candidates.'
+ * diagram='diagram.DSemanticDiagram | the current DDiagram.' viewpoint='diagram.DSemanticDiagram |
+ * (deprecated) the current DDiagram.' viewPoint='diagram.DSemanticDiagram | (deprecated) the current
+ * DDiagram.'"
+ * @generated
+ */
+ String getSemanticCandidatesExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getSemanticCandidatesExpression <em>Semantic
+ * Candidates Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Semantic Candidates Expression</em>' attribute.
+ * @see #getSemanticCandidatesExpression()
+ * @generated
+ */
+ void setSemanticCandidatesExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Create Elements</b></em>' attribute. The default value is <code>"true"</code>.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> true if the init/refresh operations should
+ * create elements for this mapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Create Elements</em>' attribute.
+ * @see #setCreateElements(boolean)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping_CreateElements()
+ * @model default="true" required="true"
+ * @generated
+ */
+ boolean isCreateElements();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#isCreateElements
+ * <em>Create Elements</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Create Elements</em>' attribute.
+ * @see #isCreateElements()
+ * @generated
+ */
+ void setCreateElements(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Semantic Elements</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The elements that are represented by this connection. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Semantic Elements</em>' attribute.
+ * @see #setSemanticElements(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping_SemanticElements()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation =
+ * "http://www.eclipse.org/emf/2002/GenModel contentassist=''" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a Collection<EObject> or an
+ * EObject.'" annotation= "http://www.eclipse.org/sirius/interpreted/expression/variables
+ * diagram='diagram.DSemanticDiagram | the current DSemanticDiagram.' view='diagram.DDiagramElement | the
+ * current view created from the current mapping.' viewpoint='diagram.DSemanticDiagram | (deprecated) the
+ * current DSemanticDiagram.'"
+ * @generated
+ */
+ String getSemanticElements();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getSemanticElements
+ * <em>Semantic Elements</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Semantic Elements</em>' attribute.
+ * @see #getSemanticElements()
+ * @generated
+ */
+ void setSemanticElements(String value);
+
+ /**
+ * Returns the value of the '<em><b>Double Click Description</b></em>' reference. It is bidirectional and its
+ * opposite is '{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getMappings
+ * <em>Mappings</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Double Click Description</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Double Click Description</em>' reference.
+ * @see #setDoubleClickDescription(DoubleClickDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping_DoubleClickDescription()
+ * @see org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getMappings
+ * @model opposite="mappings"
+ * @generated
+ */
+ DoubleClickDescription getDoubleClickDescription();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getDoubleClickDescription <em>Double Click
+ * Description</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Double Click Description</em>' reference.
+ * @see #getDoubleClickDescription()
+ * @generated
+ */
+ void setDoubleClickDescription(DoubleClickDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Synchronization Lock</b></em>' attribute. The default value is
+ * <code>"false"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Set to true to force
+ * the synchronization of the elements of this mapping when the current diagram is in an unsynchronized mode. This
+ * option is used only if createElements is true and the diagram which contain the elements of this mapping is
+ * unsynchronized. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Synchronization Lock</em>' attribute.
+ * @see #setSynchronizationLock(boolean)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramElementMapping_SynchronizationLock()
+ * @model default="false"
+ * @generated
+ */
+ boolean isSynchronizationLock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping#isSynchronizationLock
+ * <em>Synchronization Lock</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Synchronization Lock</em>' attribute.
+ * @see #isSynchronizationLock()
+ * @generated
+ */
+ void setSynchronizationLock(boolean value);
+
+} // DiagramElementMapping
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramExtensionDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramExtensionDescription.java
new file mode 100644
index 0000000000..28dfc617d8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramExtensionDescription.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.viewpoint.description.RepresentationExtensionDescription;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationSet;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Diagram Extension Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getLayers <em>Layers</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getValidationSet <em>Validation
+ * Set</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getConcerns <em>Concerns</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramExtensionDescription()
+ * @model
+ * @generated
+ */
+public interface DiagramExtensionDescription extends RepresentationExtensionDescription {
+ /**
+ * Returns the value of the '<em><b>Layers</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.AdditionalLayer}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Layers</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>Layers</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramExtensionDescription_Layers()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<AdditionalLayer> getLayers();
+
+ /**
+ * Returns the value of the '<em><b>Validation Set</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The validations rules to add <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Validation Set</em>' containment reference.
+ * @see #setValidationSet(ValidationSet)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramExtensionDescription_ValidationSet()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ ValidationSet getValidationSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getValidationSet
+ * <em>Validation Set</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Validation Set</em>' containment reference.
+ * @see #getValidationSet()
+ * @generated
+ */
+ void setValidationSet(ValidationSet value);
+
+ /**
+ * Returns the value of the '<em><b>Concerns</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> All concerns of the diagrams to add. A concern is a set of filters,
+ * validations and behaviors. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Concerns</em>' containment reference.
+ * @see #setConcerns(ConcernSet)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramExtensionDescription_Concerns()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ ConcernSet getConcerns();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription#getConcerns
+ * <em>Concerns</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Concerns</em>' containment reference.
+ * @see #getConcerns()
+ * @generated
+ */
+ void setConcerns(ConcernSet value);
+
+} // DiagramExtensionDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramImportDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramImportDescription.java
new file mode 100644
index 0000000000..8031fcf083
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DiagramImportDescription.java
@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.sirius.viewpoint.description.RepresentationImportDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Diagram Import Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.DiagramImportDescription#getImportedDiagram <em>Imported
+ * Diagram</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramImportDescription()
+ * @model
+ * @generated
+ */
+public interface DiagramImportDescription extends RepresentationImportDescription, DiagramDescription {
+ /**
+ * Returns the value of the '<em><b>Imported Diagram</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> Diagram representation to import. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Imported Diagram</em>' reference.
+ * @see #setImportedDiagram(DiagramDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDiagramImportDescription_ImportedDiagram()
+ * @model
+ * @generated
+ */
+ DiagramDescription getImportedDiagram();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DiagramImportDescription#getImportedDiagram
+ * <em>Imported Diagram</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Imported Diagram</em>' reference.
+ * @see #getImportedDiagram()
+ * @generated
+ */
+ void setImportedDiagram(DiagramDescription value);
+
+} // DiagramImportDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DoubleLayoutOption.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DoubleLayoutOption.java
new file mode 100644
index 0000000000..d713d669f1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DoubleLayoutOption.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Double Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.DoubleLayoutOption#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDoubleLayoutOption()
+ * @model
+ * @generated
+ */
+public interface DoubleLayoutOption extends LayoutOption {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(double)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDoubleLayoutOption_Value()
+ * @model
+ * @generated
+ */
+ double getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.DoubleLayoutOption#getValue <em>Value</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(double value);
+
+} // DoubleLayoutOption
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DragAndDropTargetDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DragAndDropTargetDescription.java
new file mode 100644
index 0000000000..eb9d70ce61
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/DragAndDropTargetDescription.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Drag And Drop Target Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A DragAndDropTargetDescription is a Description or Mapping that can have many DropTools <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.DragAndDropTargetDescription#getDropDescriptions <em>Drop
+ * Descriptions</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDragAndDropTargetDescription()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DragAndDropTargetDescription extends EObject {
+ /**
+ * Returns the value of the '<em><b>Drop Descriptions</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Drop Descriptions</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>Drop Descriptions</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getDragAndDropTargetDescription_DropDescriptions()
+ * @model
+ * @generated
+ */
+ EList<ContainerDropDescription> getDropDescriptions();
+
+} // DragAndDropTargetDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EdgeMapping.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EdgeMapping.java
new file mode 100644
index 0000000000..d3bf490e66
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EdgeMapping.java
@@ -0,0 +1,328 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Edge Mapping</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> An edge mapping allows to create ViewEdge. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getSourceMapping <em>Source Mapping</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getTargetMapping <em>Target Mapping</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getTargetFinderExpression <em>Target Finder
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getSourceFinderExpression <em>Source Finder
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getStyle <em>Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getTargetExpression <em>Target Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getDomainClass <em>Domain Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#isUseDomainElement <em>Use Domain Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getReconnections <em>Reconnections</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getPathExpression <em>Path Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMapping#getPathNodeMapping <em>Path Node Mapping</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping()
+ * @model
+ * @generated
+ */
+public interface EdgeMapping extends DiagramElementMapping, DocumentedElement, IEdgeMapping {
+ /**
+ * Returns the value of the '<em><b>Source Mapping</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0 <!-- end-user-doc --> <!-- begin-model-doc --> The mapping that creates EdgeTargets that are the
+ * sources of the ViewEdges that are created by this EdgeMapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source Mapping</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_SourceMapping()
+ * @model required="true"
+ * @generated
+ */
+ EList<DiagramElementMapping> getSourceMapping();
+
+ /**
+ * Returns the value of the '<em><b>Target Mapping</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0 <!-- end-user-doc --> <!-- begin-model-doc --> The mapping that creates EdgeTargets that are the
+ * targets of the ViewEdges that are created by this EdgeMapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target Mapping</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_TargetMapping()
+ * @model required="true"
+ * @generated
+ */
+ EList<DiagramElementMapping> getTargetMapping();
+
+ /**
+ * Returns the value of the '<em><b>Target Finder Expression</b></em>' attribute. The default value is
+ * <code>""</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An expression to retrieve
+ * the targets of an edge. The context of the expression depends on the useDomainElement value. If useDomainElement
+ * is true, the expression will be evaluated with all objects that are instances of the type represented by the
+ * domainClass value. All this objects will depends on the semanticCandidatesExpression. By default all objects are
+ * the objects that are in the enclosing viewpoint's rootContent subtree. If the semanticCandidatesExpression is
+ * filled in then all the objects will be the objects of the returned list. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target Finder Expression</em>' attribute.
+ * @see #setTargetFinderExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_TargetFinderExpression()
+ * @model default="" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * annotation= "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a
+ * Collection<EObject> or an EObject.'" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/variables diagram='diagram.DSemanticDiagram | the
+ * current DDiagram.' viewpoint='diagram.DSemanticDiagram | (deprecated) the current DDiagram.'
+ * viewPoint='diagram.DSemanticDiagram | (deprecated) the current DDiagram.'"
+ * @generated
+ */
+ String getTargetFinderExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getTargetFinderExpression
+ * <em>Target Finder Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target Finder Expression</em>' attribute.
+ * @see #getTargetFinderExpression()
+ * @generated
+ */
+ void setTargetFinderExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Source Finder Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> An expression to retrieve the sources of an edge. All this objects will
+ * depends on the semanticCandidatesExpression. By default all objects are the objects that are in the enclosing
+ * viewpoint's rootContent subtree. If the semanticCandidatesExpression is filled in then all the objects will be
+ * the objects of the returned list. This attribute is taking in account only if the useDomainElement is true. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Source Finder Expression</em>' attribute.
+ * @see #setSourceFinderExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_SourceFinderExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a Collection<EObject> or an
+ * EObject.'" annotation= "http://www.eclipse.org/sirius/interpreted/expression/variables
+ * diagram='diagram.DSemanticDiagram | the current DDiagram.' viewpoint='diagram.DSemanticDiagram |
+ * (deprecated) the current DDiagram.' viewPoint='diagram.DSemanticDiagram | (deprecated) the current
+ * DDiagram.'"
+ * @generated
+ */
+ String getSourceFinderExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getSourceFinderExpression
+ * <em>Source Finder Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source Finder Expression</em>' attribute.
+ * @see #getSourceFinderExpression()
+ * @generated
+ */
+ void setSourceFinderExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The style of the edge. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Style</em>' containment reference.
+ * @see #setStyle(EdgeStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_Style()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EdgeStyleDescription getStyle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getStyle <em>Style</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Style</em>' containment reference.
+ * @see #getStyle()
+ * @generated
+ */
+ void setStyle(EdgeStyleDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Conditionnal Styles</b></em>' containment reference list. The list contents are
+ * of type {@link org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription} . <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> All conditional styles. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Conditionnal Styles</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_ConditionnalStyles()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<ConditionalEdgeStyleDescription> getConditionnalStyles();
+
+ /**
+ * Returns the value of the '<em><b>Target Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> An expression computing the targeted semantic element of this edge. If this attribut
+ * is not filled in. Then the target element will be : - The target element of the source node if useDomainElement
+ * is false. - The object that is an instance of domainClass value if useDomainElement is true. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Target Expression</em>' attribute.
+ * @see #setTargetExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_TargetExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an EObject.'" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/variables diagram='diagram.DSemanticDiagram | the
+ * current DDiagram.' viewpoint='diagram.DSemanticDiagram | (deprecated) the current DDiagram.'
+ * viewPoint='diagram.DSemanticDiagram | (deprecated) the current DDiagram.'"
+ * @generated
+ */
+ String getTargetExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getTargetExpression <em>Target
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target Expression</em>' attribute.
+ * @see #getTargetExpression()
+ * @generated
+ */
+ void setTargetExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> The type of the target elements that are represented by this edge. Useful only if
+ * useDomainElement is true. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Domain Class</em>' attribute.
+ * @see #setDomainClass(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_DomainClass()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.TypeName"
+ * @generated
+ */
+ String getDomainClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getDomainClass <em>Domain
+ * Class</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Domain Class</em>' attribute.
+ * @see #getDomainClass()
+ * @generated
+ */
+ void setDomainClass(String value);
+
+ /**
+ * Returns the value of the '<em><b>Use Domain Element</b></em>' attribute. The default value is
+ * <code>"false"</code>. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Use Domain Element</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Use Domain Element</em>' attribute.
+ * @see #setUseDomainElement(boolean)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_UseDomainElement()
+ * @model default="false"
+ * @generated
+ */
+ boolean isUseDomainElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMapping#isUseDomainElement <em>Use
+ * Domain Element</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Use Domain Element</em>' attribute.
+ * @see #isUseDomainElement()
+ * @generated
+ */
+ void setUseDomainElement(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Reconnections</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reconnections</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>Reconnections</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_Reconnections()
+ * @model
+ * @generated
+ */
+ EList<ReconnectEdgeDescription> getReconnections();
+
+ /**
+ * Returns the value of the '<em><b>Path Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Path Expression</em>' attribute.
+ * @see #setPathExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_PathExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a
+ * Collection&lt;EObject&gt; or an EObject.'"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/variables
+ * diagram='diagram.DSemanticDiagram | the current DDiagram.' viewpoint='diagram.DSemanticDiagram |
+ * (deprecated) the current DDiagram.' element='ecore.EObject | the semantic element of the current edge.'
+ * source='ecore.EObject | the semantic target of the current source node.' target='ecore.EObject | the
+ * semantic element of the current target node.'"
+ * @generated
+ */
+ String getPathExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMapping#getPathExpression <em>Path
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Path Expression</em>' attribute.
+ * @see #getPathExpression()
+ * @generated
+ */
+ void setPathExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Path Node Mapping</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.AbstractNodeMapping}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path Node Mapping</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>Path Node Mapping</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMapping_PathNodeMapping()
+ * @model
+ * @generated
+ */
+ EList<AbstractNodeMapping> getPathNodeMapping();
+
+} // EdgeMapping
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EdgeMappingImport.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EdgeMappingImport.java
new file mode 100644
index 0000000000..4ca12d20f8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EdgeMappingImport.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Edge Mapping Import</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMappingImport#getImportedMapping <em>Imported
+ * Mapping</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMappingImport#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.EdgeMappingImport#isInheritsAncestorFilters <em>Inherits Ancestor
+ * Filters</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMappingImport()
+ * @model
+ * @generated
+ */
+public interface EdgeMappingImport extends DocumentedElement, IEdgeMapping, IdentifiedElement {
+ /**
+ * Returns the value of the '<em><b>Imported Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The imported mapping used to define default values for the current mapping. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Imported Mapping</em>' reference.
+ * @see #setImportedMapping(IEdgeMapping)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMappingImport_ImportedMapping()
+ * @model required="true"
+ * @generated
+ */
+ IEdgeMapping getImportedMapping();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMappingImport#getImportedMapping
+ * <em>Imported Mapping</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Imported Mapping</em>' reference.
+ * @see #getImportedMapping()
+ * @generated
+ */
+ void setImportedMapping(IEdgeMapping value);
+
+ /**
+ * Returns the value of the '<em><b>Conditionnal Styles</b></em>' containment reference list. The list contents are
+ * of type {@link org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription} . <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> All conditional styles. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Conditionnal Styles</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMappingImport_ConditionnalStyles()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<ConditionalEdgeStyleDescription> getConditionnalStyles();
+
+ /**
+ * Returns the value of the '<em><b>Inherits Ancestor Filters</b></em>' attribute. The default value is
+ * <code>"true"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Set to true if you
+ * want the filters applying on the imported mappings apply on this one. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Inherits Ancestor Filters</em>' attribute.
+ * @see #setInheritsAncestorFilters(boolean)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEdgeMappingImport_InheritsAncestorFilters()
+ * @model default="true"
+ * @generated
+ */
+ boolean isInheritsAncestorFilters();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EdgeMappingImport#isInheritsAncestorFilters
+ * <em>Inherits Ancestor Filters</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Inherits Ancestor Filters</em>' attribute.
+ * @see #isInheritsAncestorFilters()
+ * @generated
+ */
+ void setInheritsAncestorFilters(boolean value);
+
+} // EdgeMappingImport
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumLayoutOption.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumLayoutOption.java
new file mode 100644
index 0000000000..56a8135fa4
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumLayoutOption.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Enum Layout Option</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.EnumLayoutOption#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumLayoutOption()
+ * @model abstract="true"
+ * @generated
+ */
+public interface EnumLayoutOption extends EnumOption {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</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>Value</em>' containment reference.
+ * @see #setValue(EnumLayoutValue)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumLayoutOption_Value()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EnumLayoutValue getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EnumLayoutOption#getValue <em>Value</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' containment reference.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(EnumLayoutValue value);
+
+} // EnumLayoutOption
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumLayoutValue.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumLayoutValue.java
new file mode 100644
index 0000000000..e11338a05b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumLayoutValue.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Enum Layout Value</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.EnumLayoutValue#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumLayoutValue()
+ * @model abstract="true"
+ * @generated
+ */
+public interface EnumLayoutValue extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumLayoutValue_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EnumLayoutValue#getName <em>Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumLayoutValue_Description()
+ * @model transient="true"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.EnumLayoutValue#getDescription
+ * <em>Description</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // EnumLayoutValue
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumOption.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumOption.java
new file mode 100644
index 0000000000..983668e70f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumOption.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Enum Option</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.EnumOption#getChoices <em>Choices</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumOption()
+ * @model abstract="true"
+ * @generated
+ */
+public interface EnumOption extends LayoutOption {
+ /**
+ * Returns the value of the '<em><b>Choices</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.EnumLayoutValue}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Choices</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>Choices</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumOption_Choices()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<EnumLayoutValue> getChoices();
+
+} // EnumOption
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumSetLayoutOption.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumSetLayoutOption.java
new file mode 100644
index 0000000000..ca37c2eaf1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/EnumSetLayoutOption.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Enum Set Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.EnumSetLayoutOption#getValues <em>Values</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumSetLayoutOption()
+ * @model
+ * @generated
+ */
+public interface EnumSetLayoutOption extends EnumOption {
+ /**
+ * Returns the value of the '<em><b>Values</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.EnumLayoutValue}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Values</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>Values</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getEnumSetLayoutOption_Values()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<EnumLayoutValue> getValues();
+
+} // EnumSetLayoutOption
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/FoldingStyle.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/FoldingStyle.java
new file mode 100644
index 0000000000..325ed22ac6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/FoldingStyle.java
@@ -0,0 +1,248 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration ' <em><b>Folding Style</b></em>', and
+ * utility methods for working with them. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getFoldingStyle()
+ * @model
+ * @generated
+ */
+public enum FoldingStyle implements Enumerator {
+ /**
+ * The '<em><b>NONE</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #NONE
+ * @generated
+ * @ordered
+ */
+ NONE_LITERAL(0, "NONE", "NONE"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>SOURCE</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #SOURCE
+ * @generated
+ * @ordered
+ */
+ SOURCE_LITERAL(1, "SOURCE", "SOURCE"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>TARGET</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #TARGET
+ * @generated
+ * @ordered
+ */
+ TARGET_LITERAL(2, "TARGET", "TARGET"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>NONE</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #NONE_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NONE = 0;
+
+ /**
+ * The '<em><b>SOURCE</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SOURCE</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #SOURCE_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SOURCE = 1;
+
+ /**
+ * The '<em><b>TARGET</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>TARGET</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #TARGET_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int TARGET = 2;
+
+ /**
+ * An array of all the '<em><b>Folding Style</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final FoldingStyle[] VALUES_ARRAY = new FoldingStyle[] { NONE_LITERAL, SOURCE_LITERAL, TARGET_LITERAL, };
+
+ /**
+ * A public read-only list of all the '<em><b>Folding Style</b></em>' enumerators. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<FoldingStyle> VALUES = Collections.unmodifiableList(Arrays.asList(FoldingStyle.VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Folding Style</b></em>' literal with the specified literal value. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param literal
+ * the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static FoldingStyle get(String literal) {
+ for (FoldingStyle result : FoldingStyle.VALUES_ARRAY) {
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Folding Style</b></em>' literal with the specified name. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param name
+ * the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static FoldingStyle getByName(String name) {
+ for (FoldingStyle result : FoldingStyle.VALUES_ARRAY) {
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Folding Style</b></em>' literal with the specified integer value. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static FoldingStyle get(int value) {
+ switch (value) {
+ case NONE:
+ return NONE_LITERAL;
+ case SOURCE:
+ return SOURCE_LITERAL;
+ case TARGET:
+ return TARGET_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private FoldingStyle(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // FoldingStyle
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/IEdgeMapping.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/IEdgeMapping.java
new file mode 100644
index 0000000000..f5b4f6ba8b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/IEdgeMapping.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>IEdge Mapping</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getIEdgeMapping()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface IEdgeMapping extends EObject {
+
+} // IEdgeMapping
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/IntegerLayoutOption.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/IntegerLayoutOption.java
new file mode 100644
index 0000000000..7794a984bf
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/IntegerLayoutOption.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Integer Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.IntegerLayoutOption#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getIntegerLayoutOption()
+ * @model
+ * @generated
+ */
+public interface IntegerLayoutOption extends LayoutOption {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(int)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getIntegerLayoutOption_Value()
+ * @model
+ * @generated
+ */
+ int getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.IntegerLayoutOption#getValue
+ * <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(int value);
+
+} // IntegerLayoutOption
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/Layer.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/Layer.java
new file mode 100644
index 0000000000..3cd4d7074d
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/Layer.java
@@ -0,0 +1,228 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.viewpoint.description.Customization;
+import org.eclipse.sirius.viewpoint.description.DecorationDescriptionsSet;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.EndUserDocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Layer</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getNodeMappings <em>Node Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getEdgeMappings <em>Edge Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getEdgeMappingImports <em>Edge Mapping Imports</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getContainerMappings <em>Container Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getReusedMappings <em>Reused Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getAllTools <em>All Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getToolSections <em>Tool Sections</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getReusedTools <em>Reused Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getDecorationDescriptionsSet <em>Decoration Descriptions
+ * Set</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getIcon <em>Icon</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.Layer#getCustomization <em>Customization</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer()
+ * @model
+ * @generated
+ */
+public interface Layer extends DocumentedElement, EndUserDocumentedElement, IdentifiedElement {
+ /**
+ * Returns the value of the '<em><b>Node Mappings</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.NodeMapping}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Node mappings that are owned by this simple mapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Node Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_NodeMappings()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<NodeMapping> getNodeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Edge Mappings</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.EdgeMapping}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Edge mappings that are owned by this simple mapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Edge Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_EdgeMappings()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<EdgeMapping> getEdgeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Edge Mapping Imports</b></em>' containment reference list. The list contents are
+ * of type {@link org.eclipse.sirius.diagram.description.EdgeMappingImport}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> Edge mapping imports that are owned by this simple mapping. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Edge Mapping Imports</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_EdgeMappingImports()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<EdgeMappingImport> getEdgeMappingImports();
+
+ /**
+ * Returns the value of the '<em><b>Container Mappings</b></em>' containment reference list. The list contents are
+ * of type {@link org.eclipse.sirius.diagram.description.ContainerMapping}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> container mappings that are owned by this simple mapping. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Container Mappings</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_ContainerMappings()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<ContainerMapping> getContainerMappings();
+
+ /**
+ * Returns the value of the '<em><b>Reused Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> Add here any mapping you want to reuse from another layer or diagram. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Reused Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_ReusedMappings()
+ * @model
+ * @generated
+ */
+ EList<DiagramElementMapping> getReusedMappings();
+
+ /**
+ * Returns the value of the '<em><b>All Tools</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription} . <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> All tools of the viewpoint. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>All Tools</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_AllTools()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ EList<AbstractToolDescription> getAllTools();
+
+ /**
+ * Returns the value of the '<em><b>Tool Sections</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.tool.ToolSection}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> A tool section encloses many tools <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Tool Sections</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_ToolSections()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<ToolSection> getToolSections();
+
+ /**
+ * Returns the value of the '<em><b>Reused Tools</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription} . <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> Tools that are reused by this viewpoint. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Reused Tools</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_ReusedTools()
+ * @model
+ * @generated
+ */
+ EList<AbstractToolDescription> getReusedTools();
+
+ /**
+ * Returns the value of the '<em><b>Decoration Descriptions Set</b></em>' containment reference. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Decoration Descriptions Set</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>Decoration Descriptions Set</em>' containment reference.
+ * @see #setDecorationDescriptionsSet(DecorationDescriptionsSet)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_DecorationDescriptionsSet()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ DecorationDescriptionsSet getDecorationDescriptionsSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.Layer#getDecorationDescriptionsSet
+ * <em>Decoration Descriptions Set</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Decoration Descriptions Set</em>' containment reference.
+ * @see #getDecorationDescriptionsSet()
+ * @generated
+ */
+ void setDecorationDescriptionsSet(DecorationDescriptionsSet value);
+
+ /**
+ * Returns the value of the '<em><b>Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> image path to use as an icon for the layer <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Icon</em>' attribute.
+ * @see #setIcon(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_Icon()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.ImagePath"
+ * @generated
+ */
+ String getIcon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.Layer#getIcon <em>Icon</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Icon</em>' attribute.
+ * @see #getIcon()
+ * @generated
+ */
+ void setIcon(String value);
+
+ /**
+ * Returns the value of the '<em><b>Customization</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Customization</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>Customization</em>' containment reference.
+ * @see #setCustomization(Customization)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayer_Customization()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ Customization getCustomization();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.Layer#getCustomization
+ * <em>Customization</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Customization</em>' containment reference.
+ * @see #getCustomization()
+ * @generated
+ */
+ void setCustomization(Customization value);
+
+} // Layer
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/Layout.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/Layout.java
new file mode 100644
index 0000000000..d47a75a70c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/Layout.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Layout</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The layout entry allow you to choose a predefined existing layout for the arrange all
+ * feature <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayout()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface Layout extends DocumentedElement {
+} // Layout
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutDirection.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutDirection.java
new file mode 100644
index 0000000000..4421bfb61f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutDirection.java
@@ -0,0 +1,248 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration ' <em><b>Layout Direction</b></em>', and
+ * utility methods for working with them. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayoutDirection()
+ * @model
+ * @generated
+ */
+public enum LayoutDirection implements Enumerator {
+ /**
+ * The '<em><b>Top To Bottom</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #TOP_TO_BOTTOM_VALUE
+ * @generated
+ * @ordered
+ */
+ TOP_TO_BOTTOM(0, "TopToBottom", "topToBottom"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Left To Right</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #LEFT_TO_RIGHT_VALUE
+ * @generated
+ * @ordered
+ */
+ LEFT_TO_RIGHT(1, "LeftToRight", "LeftToRight"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Bottom To Top</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #BOTTOM_TO_TOP_VALUE
+ * @generated
+ * @ordered
+ */
+ BOTTOM_TO_TOP(2, "BottomToTop", "bottomToTop"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Top To Bottom</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Top To Bottom</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #TOP_TO_BOTTOM
+ * @model name="TopToBottom" literal="topToBottom"
+ * @generated
+ * @ordered
+ */
+ public static final int TOP_TO_BOTTOM_VALUE = 0;
+
+ /**
+ * The '<em><b>Left To Right</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Left To Right</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #LEFT_TO_RIGHT
+ * @model name="LeftToRight"
+ * @generated
+ * @ordered
+ */
+ public static final int LEFT_TO_RIGHT_VALUE = 1;
+
+ /**
+ * The '<em><b>Bottom To Top</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Bottom To Top</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #BOTTOM_TO_TOP
+ * @model name="BottomToTop" literal="bottomToTop"
+ * @generated
+ * @ordered
+ */
+ public static final int BOTTOM_TO_TOP_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Layout Direction</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final LayoutDirection[] VALUES_ARRAY = new LayoutDirection[] { TOP_TO_BOTTOM, LEFT_TO_RIGHT, BOTTOM_TO_TOP, };
+
+ /**
+ * A public read-only list of all the '<em><b>Layout Direction</b></em>' enumerators. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<LayoutDirection> VALUES = Collections.unmodifiableList(Arrays.asList(LayoutDirection.VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Layout Direction</b></em>' literal with the specified literal value. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param literal
+ * the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static LayoutDirection get(String literal) {
+ for (LayoutDirection result : LayoutDirection.VALUES_ARRAY) {
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layout Direction</b></em>' literal with the specified name. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param name
+ * the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static LayoutDirection getByName(String name) {
+ for (LayoutDirection result : LayoutDirection.VALUES_ARRAY) {
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layout Direction</b></em>' literal with the specified integer value. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static LayoutDirection get(int value) {
+ switch (value) {
+ case TOP_TO_BOTTOM_VALUE:
+ return TOP_TO_BOTTOM;
+ case LEFT_TO_RIGHT_VALUE:
+ return LEFT_TO_RIGHT;
+ case BOTTOM_TO_TOP_VALUE:
+ return BOTTOM_TO_TOP;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private LayoutDirection(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // LayoutDirection
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutOption.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutOption.java
new file mode 100644
index 0000000000..f90a323eef
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutOption.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Layout Option</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.LayoutOption#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.LayoutOption#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.LayoutOption#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.LayoutOption#getTargets <em>Targets</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayoutOption()
+ * @model abstract="true"
+ * @generated
+ */
+public interface LayoutOption extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayoutOption_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.LayoutOption#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Label</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Label</em>' attribute.
+ * @see #setLabel(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayoutOption_Label()
+ * @model transient="true"
+ * @generated
+ */
+ String getLabel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.LayoutOption#getLabel <em>Label</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Label</em>' attribute.
+ * @see #getLabel()
+ * @generated
+ */
+ void setLabel(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayoutOption_Description()
+ * @model transient="true"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.LayoutOption#getDescription
+ * <em>Description</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Targets</b></em>' attribute list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.LayoutOptionTarget}. The literals are from the enumeration
+ * {@link org.eclipse.sirius.diagram.description.LayoutOptionTarget}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Targets</em>' attribute list isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Targets</em>' attribute list.
+ * @see org.eclipse.sirius.diagram.description.LayoutOptionTarget
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayoutOption_Targets()
+ * @model
+ * @generated
+ */
+ EList<LayoutOptionTarget> getTargets();
+
+} // LayoutOption
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutOptionTarget.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutOptionTarget.java
new file mode 100644
index 0000000000..108920f660
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/LayoutOptionTarget.java
@@ -0,0 +1,300 @@
+/**
+ * Copyright (c) 2007, 2019 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ */
+package org.eclipse.sirius.diagram.description;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration '<em><b>Layout Option Target</b></em>',
+ * and utility methods for working with them. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getLayoutOptionTarget()
+ * @model
+ * @generated
+ */
+public enum LayoutOptionTarget implements Enumerator {
+ /**
+ * The '<em><b>PARENT</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #PARENT_VALUE
+ * @generated
+ * @ordered
+ */
+ PARENT(0, "PARENT", "PARENT"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>NODE</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #NODE_VALUE
+ * @generated
+ * @ordered
+ */
+ NODE(1, "NODE", "NODE"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>EDGE</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #EDGE_VALUE
+ * @generated
+ * @ordered
+ */
+ EDGE(2, "EDGE", "EDGE"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>PORTS</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #PORTS_VALUE
+ * @generated
+ * @ordered
+ */
+ PORTS(3, "PORTS", "PORTS"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>LABEL</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #LABEL_VALUE
+ * @generated
+ * @ordered
+ */
+ LABEL(4, "LABEL", "LABEL"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>PARENT</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PARENT</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #PARENT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PARENT_VALUE = 0;
+
+ /**
+ * The '<em><b>NODE</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NODE</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #NODE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NODE_VALUE = 1;
+
+ /**
+ * The '<em><b>EDGE</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EDGE</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #EDGE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EDGE_VALUE = 2;
+
+ /**
+ * The '<em><b>PORTS</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PORTS</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #PORTS
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PORTS_VALUE = 3;
+
+ /**
+ * The '<em><b>LABEL</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>LABEL</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #LABEL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int LABEL_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Layout Option Target</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ private static final LayoutOptionTarget[] VALUES_ARRAY = new LayoutOptionTarget[] { PARENT, NODE, EDGE, PORTS, LABEL, };
+
+ /**
+ * A public read-only list of all the '<em><b>Layout Option Target</b></em>' enumerators. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<LayoutOptionTarget> VALUES = Collections.unmodifiableList(Arrays.asList(LayoutOptionTarget.VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Layout Option Target</b></em>' literal with the specified literal value. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @param literal
+ * the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static LayoutOptionTarget get(String literal) {
+ for (LayoutOptionTarget result : LayoutOptionTarget.VALUES_ARRAY) {
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layout Option Target</b></em>' literal with the specified name. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param name
+ * the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static LayoutOptionTarget getByName(String name) {
+ for (LayoutOptionTarget result : LayoutOptionTarget.VALUES_ARRAY) {
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layout Option Target</b></em>' literal with the specified integer value. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static LayoutOptionTarget get(int value) {
+ switch (value) {
+ case PARENT_VALUE:
+ return PARENT;
+ case NODE_VALUE:
+ return NODE;
+ case EDGE_VALUE:
+ return EDGE;
+ case PORTS_VALUE:
+ return PORTS;
+ case LABEL_VALUE:
+ return LABEL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private LayoutOptionTarget(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // LayoutOptionTarget
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/MappingBasedDecoration.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/MappingBasedDecoration.java
new file mode 100644
index 0000000000..537b3b19d5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/MappingBasedDecoration.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.DecorationDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Mapping Based Decoration</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A MappingBasedDecoration applies decorations on views that are issued from one or more
+ * mappings. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.MappingBasedDecoration#getMappings <em>Mappings</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getMappingBasedDecoration()
+ * @model
+ * @generated
+ */
+public interface MappingBasedDecoration extends DecorationDescription {
+ /**
+ * Returns the value of the '<em><b>Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mappings</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>Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getMappingBasedDecoration_Mappings()
+ * @model required="true"
+ * @generated
+ */
+ EList<DiagramElementMapping> getMappings();
+
+} // MappingBasedDecoration
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/NodeMapping.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/NodeMapping.java
new file mode 100644
index 0000000000..ef6c8baf9f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/NodeMapping.java
@@ -0,0 +1,74 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.style.NodeStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Node Mapping</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Represents a node mapping. A node mapping allows to create nodes (ViewNode). <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.NodeMapping#getStyle <em>Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.NodeMapping#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getNodeMapping()
+ * @model
+ * @generated
+ */
+public interface NodeMapping extends AbstractNodeMapping, DragAndDropTargetDescription {
+ /**
+ * Returns the value of the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The style of the node. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Style</em>' containment reference.
+ * @see #setStyle(NodeStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getNodeMapping_Style()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ NodeStyleDescription getStyle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.NodeMapping#getStyle <em>Style</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Style</em>' containment reference.
+ * @see #getStyle()
+ * @generated
+ */
+ void setStyle(NodeStyleDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Conditionnal Styles</b></em>' containment reference list. The list contents are
+ * of type {@link org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription} . <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> All conditional styles. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Conditionnal Styles</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getNodeMapping_ConditionnalStyles()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<ConditionalNodeStyleDescription> getConditionnalStyles();
+
+} // NodeMapping
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/NodeMappingImport.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/NodeMappingImport.java
new file mode 100644
index 0000000000..a2dd717351
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/NodeMappingImport.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.sirius.viewpoint.description.AbstractMappingImport;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Node Mapping Import</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Ease the reuse of existing mappings. If the feature is not defined in this instance it will
+ * re-use the feature value of the imported one. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.NodeMappingImport#getImportedMapping <em>Imported
+ * Mapping</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getNodeMappingImport()
+ * @model
+ * @generated
+ */
+public interface NodeMappingImport extends NodeMapping, AbstractMappingImport {
+ /**
+ * Returns the value of the '<em><b>Imported Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The imported mapping used to define default values for the current mapping. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Imported Mapping</em>' reference.
+ * @see #setImportedMapping(NodeMapping)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getNodeMappingImport_ImportedMapping()
+ * @model required="true"
+ * @generated
+ */
+ NodeMapping getImportedMapping();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.NodeMappingImport#getImportedMapping
+ * <em>Imported Mapping</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Imported Mapping</em>' reference.
+ * @see #getImportedMapping()
+ * @generated
+ */
+ void setImportedMapping(NodeMapping value);
+
+} // NodeMappingImport
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/OrderedTreeLayout.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/OrderedTreeLayout.java
new file mode 100644
index 0000000000..1c6dff0c08
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/OrderedTreeLayout.java
@@ -0,0 +1,74 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Ordered Tree Layout</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.OrderedTreeLayout#getChildrenExpression <em>Children
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.OrderedTreeLayout#getNodeMapping <em>Node Mapping</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getOrderedTreeLayout()
+ * @model
+ * @generated
+ */
+public interface OrderedTreeLayout extends Layout {
+ /**
+ * Returns the value of the '<em><b>Children Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> An expression returning the semantic children of an element, the result
+ * of this expression is used to compute a hiearchical tree for the layout. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Children Expression</em>' attribute.
+ * @see #setChildrenExpression(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getOrderedTreeLayout_ChildrenExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a Collection<EObject> or an
+ * EObject.'"
+ * @generated
+ */
+ String getChildrenExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.OrderedTreeLayout#getChildrenExpression
+ * <em>Children Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Children Expression</em>' attribute.
+ * @see #getChildrenExpression()
+ * @generated
+ */
+ void setChildrenExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Node Mapping</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.AbstractNodeMapping}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> The list of mappings affected by the ordered tree routing. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Node Mapping</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getOrderedTreeLayout_NodeMapping()
+ * @model required="true"
+ * @generated
+ */
+ EList<AbstractNodeMapping> getNodeMapping();
+
+} // OrderedTreeLayout
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/StringLayoutOption.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/StringLayoutOption.java
new file mode 100644
index 0000000000..10f3940996
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/StringLayoutOption.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>String Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.StringLayoutOption#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getStringLayoutOption()
+ * @model
+ * @generated
+ */
+public interface StringLayoutOption extends LayoutOption {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.sirius.diagram.description.DescriptionPackage#getStringLayoutOption_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.StringLayoutOption#getValue <em>Value</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // StringLayoutOption
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernDescription.java
new file mode 100644
index 0000000000..a4c2946ac2
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernDescription.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.tool.BehaviorTool;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationRule;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Description</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Describe a concern. A concern could be seen as an aspect. It allows to enable some filters,
+ * validation rules or behaviors in one click. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.ConcernDescription#getFilters <em>Filters</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.ConcernDescription#getRules <em>Rules</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.ConcernDescription#getBehaviors <em>Behaviors</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernPackage#getConcernDescription()
+ * @model annotation="TagValues"
+ * @generated
+ */
+public interface ConcernDescription extends DocumentedElement, IdentifiedElement {
+ /**
+ * Returns the value of the '<em><b>Filters</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.filter.FilterDescription}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> All filters of this concern. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Filters</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernPackage#getConcernDescription_Filters()
+ * @model
+ * @generated
+ */
+ EList<FilterDescription> getFilters();
+
+ /**
+ * Returns the value of the '<em><b>Rules</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.validation.ValidationRule} . <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> All rules of this concern. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Rules</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernPackage#getConcernDescription_Rules()
+ * @model
+ * @generated
+ */
+ EList<ValidationRule> getRules();
+
+ /**
+ * Returns the value of the '<em><b>Behaviors</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.tool.BehaviorTool}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> All behaviors of the concern. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Behaviors</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernPackage#getConcernDescription_Behaviors()
+ * @model
+ * @generated
+ */
+ EList<BehaviorTool> getBehaviors();
+
+} // ConcernDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernFactory.java
new file mode 100644
index 0000000000..39797ce4f5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernFactory.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern;
+
+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.sirius.diagram.description.concern.ConcernPackage
+ * @generated
+ */
+public interface ConcernFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ ConcernFactory eINSTANCE = org.eclipse.sirius.diagram.description.concern.impl.ConcernFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Set</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Set</em>'.
+ * @generated
+ */
+ ConcernSet createConcernSet();
+
+ /**
+ * Returns a new object of class '<em>Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Description</em>'.
+ * @generated
+ */
+ ConcernDescription createConcernDescription();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ConcernPackage getConcernPackage();
+
+} // ConcernFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernPackage.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernPackage.java
new file mode 100644
index 0000000000..b0468bcffc
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernPackage.java
@@ -0,0 +1,310 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+
+/**
+ * <!-- 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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ConcernPackage extends EPackage {
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "concern"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/sirius/diagram/description/concern/1.1.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "concern"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ ConcernPackage eINSTANCE = org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernSetImpl
+ * <em>Set</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.concern.impl.ConcernSetImpl
+ * @see org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl#getConcernSet()
+ * @generated
+ */
+ int CONCERN_SET = 0;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_SET__DOCUMENTATION = DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Concern Descriptions</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Set</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_SET_FEATURE_COUNT = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl
+ * <em>Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl#getConcernDescription()
+ * @generated
+ */
+ int CONCERN_DESCRIPTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_DESCRIPTION__DOCUMENTATION = DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_DESCRIPTION__NAME = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_DESCRIPTION__LABEL = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_DESCRIPTION__FILTERS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Rules</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_DESCRIPTION__RULES = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Behaviors</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_DESCRIPTION__BEHAVIORS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Description</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCERN_DESCRIPTION_FEATURE_COUNT = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.concern.ConcernSet
+ * <em>Set</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Set</em>'.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernSet
+ * @generated
+ */
+ EClass getConcernSet();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.concern.ConcernSet#getOwnedConcernDescriptions <em>Owned Concern
+ * Descriptions</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Owned Concern Descriptions</em>'.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernSet#getOwnedConcernDescriptions()
+ * @see #getConcernSet()
+ * @generated
+ */
+ EReference getConcernSet_OwnedConcernDescriptions();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.concern.ConcernDescription
+ * <em>Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernDescription
+ * @generated
+ */
+ EClass getConcernDescription();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.concern.ConcernDescription#getFilters <em>Filters</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Filters</em>'.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernDescription#getFilters()
+ * @see #getConcernDescription()
+ * @generated
+ */
+ EReference getConcernDescription_Filters();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.concern.ConcernDescription#getRules <em>Rules</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Rules</em>'.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernDescription#getRules()
+ * @see #getConcernDescription()
+ * @generated
+ */
+ EReference getConcernDescription_Rules();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.concern.ConcernDescription#getBehaviors <em>Behaviors</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Behaviors</em>'.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernDescription#getBehaviors()
+ * @see #getConcernDescription()
+ * @generated
+ */
+ EReference getConcernDescription_Behaviors();
+
+ /**
+ * 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
+ */
+ ConcernFactory getConcernFactory();
+
+ /**
+ * <!-- 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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernSetImpl
+ * <em>Set</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.concern.impl.ConcernSetImpl
+ * @see org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl#getConcernSet()
+ * @generated
+ */
+ EClass CONCERN_SET = ConcernPackage.eINSTANCE.getConcernSet();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Concern Descriptions</b></em>' containment reference list
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS = ConcernPackage.eINSTANCE.getConcernSet_OwnedConcernDescriptions();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl <em>Description</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl#getConcernDescription()
+ * @generated
+ */
+ EClass CONCERN_DESCRIPTION = ConcernPackage.eINSTANCE.getConcernDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Filters</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONCERN_DESCRIPTION__FILTERS = ConcernPackage.eINSTANCE.getConcernDescription_Filters();
+
+ /**
+ * The meta object literal for the '<em><b>Rules</b></em>' reference list feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONCERN_DESCRIPTION__RULES = ConcernPackage.eINSTANCE.getConcernDescription_Rules();
+
+ /**
+ * The meta object literal for the '<em><b>Behaviors</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONCERN_DESCRIPTION__BEHAVIORS = ConcernPackage.eINSTANCE.getConcernDescription_Behaviors();
+
+ }
+
+} // ConcernPackage
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernSet.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernSet.java
new file mode 100644
index 0000000000..e039239087
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/ConcernSet.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Set</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A set of many concerns. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.ConcernSet#getOwnedConcernDescriptions <em>Owned Concern
+ * Descriptions</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernPackage#getConcernSet()
+ * @model annotation="TagValues"
+ * @generated
+ */
+public interface ConcernSet extends DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Owned Concern Descriptions</b></em>' containment reference list. The list
+ * contents are of type {@link org.eclipse.sirius.diagram.description.concern.ConcernDescription} . <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> All concerns <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Owned Concern Descriptions</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.concern.ConcernPackage#getConcernSet_OwnedConcernDescriptions()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<ConcernDescription> getOwnedConcernDescriptions();
+
+} // ConcernSet
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernDescriptionImpl.java
new file mode 100644
index 0000000000..a943961a7c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernDescriptionImpl.java
@@ -0,0 +1,388 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern.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.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.tool.BehaviorTool;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationRule;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Description</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl#getFilters
+ * <em>Filters</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl#getRules <em>Rules</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernDescriptionImpl#getBehaviors
+ * <em>Behaviors</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConcernDescriptionImpl extends DocumentedElementImpl implements ConcernDescription {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = ConcernDescriptionImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = ConcernDescriptionImpl.LABEL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFilters() <em>Filters</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getFilters()
+ * @generated
+ * @ordered
+ */
+ protected EList<FilterDescription> filters;
+
+ /**
+ * The cached value of the '{@link #getRules() <em>Rules</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getRules()
+ * @generated
+ * @ordered
+ */
+ protected EList<ValidationRule> rules;
+
+ /**
+ * The cached value of the '{@link #getBehaviors() <em>Behaviors</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getBehaviors()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehaviorTool> behaviors;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConcernDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConcernPackage.Literals.CONCERN_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ConcernPackage.CONCERN_DESCRIPTION__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ConcernPackage.CONCERN_DESCRIPTION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<FilterDescription> getFilters() {
+ if (filters == null) {
+ filters = new EObjectResolvingEList<>(FilterDescription.class, this, ConcernPackage.CONCERN_DESCRIPTION__FILTERS);
+ }
+ return filters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ValidationRule> getRules() {
+ if (rules == null) {
+ rules = new EObjectResolvingEList<>(ValidationRule.class, this, ConcernPackage.CONCERN_DESCRIPTION__RULES);
+ }
+ return rules;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<BehaviorTool> getBehaviors() {
+ if (behaviors == null) {
+ behaviors = new EObjectResolvingEList<>(BehaviorTool.class, this, ConcernPackage.CONCERN_DESCRIPTION__BEHAVIORS);
+ }
+ return behaviors;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ConcernPackage.CONCERN_DESCRIPTION__NAME:
+ return getName();
+ case ConcernPackage.CONCERN_DESCRIPTION__LABEL:
+ return getLabel();
+ case ConcernPackage.CONCERN_DESCRIPTION__FILTERS:
+ return getFilters();
+ case ConcernPackage.CONCERN_DESCRIPTION__RULES:
+ return getRules();
+ case ConcernPackage.CONCERN_DESCRIPTION__BEHAVIORS:
+ return getBehaviors();
+ }
+ 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 ConcernPackage.CONCERN_DESCRIPTION__NAME:
+ setName((String) newValue);
+ return;
+ case ConcernPackage.CONCERN_DESCRIPTION__LABEL:
+ setLabel((String) newValue);
+ return;
+ case ConcernPackage.CONCERN_DESCRIPTION__FILTERS:
+ getFilters().clear();
+ getFilters().addAll((Collection<? extends FilterDescription>) newValue);
+ return;
+ case ConcernPackage.CONCERN_DESCRIPTION__RULES:
+ getRules().clear();
+ getRules().addAll((Collection<? extends ValidationRule>) newValue);
+ return;
+ case ConcernPackage.CONCERN_DESCRIPTION__BEHAVIORS:
+ getBehaviors().clear();
+ getBehaviors().addAll((Collection<? extends BehaviorTool>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConcernPackage.CONCERN_DESCRIPTION__NAME:
+ setName(ConcernDescriptionImpl.NAME_EDEFAULT);
+ return;
+ case ConcernPackage.CONCERN_DESCRIPTION__LABEL:
+ setLabel(ConcernDescriptionImpl.LABEL_EDEFAULT);
+ return;
+ case ConcernPackage.CONCERN_DESCRIPTION__FILTERS:
+ getFilters().clear();
+ return;
+ case ConcernPackage.CONCERN_DESCRIPTION__RULES:
+ getRules().clear();
+ return;
+ case ConcernPackage.CONCERN_DESCRIPTION__BEHAVIORS:
+ getBehaviors().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConcernPackage.CONCERN_DESCRIPTION__NAME:
+ return ConcernDescriptionImpl.NAME_EDEFAULT == null ? name != null : !ConcernDescriptionImpl.NAME_EDEFAULT.equals(name);
+ case ConcernPackage.CONCERN_DESCRIPTION__LABEL:
+ return ConcernDescriptionImpl.LABEL_EDEFAULT == null ? label != null : !ConcernDescriptionImpl.LABEL_EDEFAULT.equals(label);
+ case ConcernPackage.CONCERN_DESCRIPTION__FILTERS:
+ return filters != null && !filters.isEmpty();
+ case ConcernPackage.CONCERN_DESCRIPTION__RULES:
+ return rules != null && !rules.isEmpty();
+ case ConcernPackage.CONCERN_DESCRIPTION__BEHAVIORS:
+ return behaviors != null && !behaviors.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case ConcernPackage.CONCERN_DESCRIPTION__NAME:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case ConcernPackage.CONCERN_DESCRIPTION__LABEL:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return ConcernPackage.CONCERN_DESCRIPTION__NAME;
+ case DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return ConcernPackage.CONCERN_DESCRIPTION__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ConcernDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernFactoryImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernFactoryImpl.java
new file mode 100644
index 0000000000..7c70aa0503
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernFactoryImpl.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern.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.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernFactory;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConcernFactoryImpl extends EFactoryImpl implements ConcernFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static ConcernFactory init() {
+ try {
+ ConcernFactory theConcernFactory = (ConcernFactory) EPackage.Registry.INSTANCE.getEFactory(ConcernPackage.eNS_URI);
+ if (theConcernFactory != null) {
+ return theConcernFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ConcernFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcernFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ConcernPackage.CONCERN_SET:
+ return createConcernSet();
+ case ConcernPackage.CONCERN_DESCRIPTION:
+ return createConcernDescription();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernSet createConcernSet() {
+ ConcernSetImpl concernSet = new ConcernSetImpl();
+ return concernSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernDescription createConcernDescription() {
+ ConcernDescriptionImpl concernDescription = new ConcernDescriptionImpl();
+ return concernDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernPackage getConcernPackage() {
+ return (ConcernPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ConcernPackage getPackage() {
+ return ConcernPackage.eINSTANCE;
+ }
+
+} // ConcernFactoryImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernPackageImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernPackageImpl.java
new file mode 100644
index 0000000000..534fe284bf
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernPackageImpl.java
@@ -0,0 +1,319 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.sirius.diagram.DiagramPackage;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernFactory;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl;
+import org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl;
+import org.eclipse.sirius.diagram.impl.DiagramPackageImpl;
+import org.eclipse.sirius.viewpoint.ViewpointPackage;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConcernPackageImpl extends EPackageImpl implements ConcernPackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass concernSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass concernDescriptionEClass = 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.sirius.diagram.description.concern.ConcernPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ConcernPackageImpl() {
+ super(ConcernPackage.eNS_URI, ConcernFactory.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 ConcernPackage#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 ConcernPackage init() {
+ if (ConcernPackageImpl.isInited) {
+ return (ConcernPackage) EPackage.Registry.INSTANCE.getEPackage(ConcernPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ Object registeredConcernPackage = EPackage.Registry.INSTANCE.get(ConcernPackage.eNS_URI);
+ ConcernPackageImpl theConcernPackage = registeredConcernPackage instanceof ConcernPackageImpl ? (ConcernPackageImpl) registeredConcernPackage : new ConcernPackageImpl();
+
+ ConcernPackageImpl.isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ ViewpointPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DiagramPackage.eNS_URI);
+ DiagramPackageImpl theDiagramPackage = (DiagramPackageImpl) (registeredPackage instanceof DiagramPackageImpl ? registeredPackage : DiagramPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+ DescriptionPackageImpl theDescriptionPackage = (DescriptionPackageImpl) (registeredPackage instanceof DescriptionPackageImpl ? registeredPackage : DescriptionPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StylePackage.eNS_URI);
+ StylePackageImpl theStylePackage = (StylePackageImpl) (registeredPackage instanceof StylePackageImpl ? registeredPackage : StylePackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ToolPackage.eNS_URI);
+ ToolPackageImpl theToolPackage = (ToolPackageImpl) (registeredPackage instanceof ToolPackageImpl ? registeredPackage : ToolPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(FilterPackage.eNS_URI);
+ FilterPackageImpl theFilterPackage = (FilterPackageImpl) (registeredPackage instanceof FilterPackageImpl ? registeredPackage : FilterPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theConcernPackage.createPackageContents();
+ theDiagramPackage.createPackageContents();
+ theDescriptionPackage.createPackageContents();
+ theStylePackage.createPackageContents();
+ theToolPackage.createPackageContents();
+ theFilterPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theConcernPackage.initializePackageContents();
+ theDiagramPackage.initializePackageContents();
+ theDescriptionPackage.initializePackageContents();
+ theStylePackage.initializePackageContents();
+ theToolPackage.initializePackageContents();
+ theFilterPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theConcernPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ConcernPackage.eNS_URI, theConcernPackage);
+ return theConcernPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getConcernSet() {
+ return concernSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getConcernSet_OwnedConcernDescriptions() {
+ return (EReference) concernSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getConcernDescription() {
+ return concernDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getConcernDescription_Filters() {
+ return (EReference) concernDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getConcernDescription_Rules() {
+ return (EReference) concernDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getConcernDescription_Behaviors() {
+ return (EReference) concernDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernFactory getConcernFactory() {
+ return (ConcernFactory) 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
+ concernSetEClass = createEClass(ConcernPackage.CONCERN_SET);
+ createEReference(concernSetEClass, ConcernPackage.CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS);
+
+ concernDescriptionEClass = createEClass(ConcernPackage.CONCERN_DESCRIPTION);
+ createEReference(concernDescriptionEClass, ConcernPackage.CONCERN_DESCRIPTION__FILTERS);
+ createEReference(concernDescriptionEClass, ConcernPackage.CONCERN_DESCRIPTION__RULES);
+ createEReference(concernDescriptionEClass, ConcernPackage.CONCERN_DESCRIPTION__BEHAVIORS);
+ }
+
+ /**
+ * <!-- 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(ConcernPackage.eNAME);
+ setNsPrefix(ConcernPackage.eNS_PREFIX);
+ setNsURI(ConcernPackage.eNS_URI);
+
+ // Obtain other dependent packages
+ org.eclipse.sirius.viewpoint.description.DescriptionPackage theDescriptionPackage_1 = (org.eclipse.sirius.viewpoint.description.DescriptionPackage) EPackage.Registry.INSTANCE
+ .getEPackage(org.eclipse.sirius.viewpoint.description.DescriptionPackage.eNS_URI);
+ FilterPackage theFilterPackage = (FilterPackage) EPackage.Registry.INSTANCE.getEPackage(FilterPackage.eNS_URI);
+ ValidationPackage theValidationPackage = (ValidationPackage) EPackage.Registry.INSTANCE.getEPackage(ValidationPackage.eNS_URI);
+ ToolPackage theToolPackage = (ToolPackage) EPackage.Registry.INSTANCE.getEPackage(ToolPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ concernSetEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ concernDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ concernDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getIdentifiedElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(concernSetEClass, ConcernSet.class, "ConcernSet", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getConcernSet_OwnedConcernDescriptions(), this.getConcernDescription(), null, "ownedConcernDescriptions", null, 0, -1, ConcernSet.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(concernDescriptionEClass, ConcernDescription.class, "ConcernDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getConcernDescription_Filters(), theFilterPackage.getFilterDescription(), null, "filters", null, 0, -1, ConcernDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getConcernDescription_Rules(), theValidationPackage.getValidationRule(), null, "rules", null, 0, -1, ConcernDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getConcernDescription_Rules().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getConcernDescription_Behaviors(), theToolPackage.getBehaviorTool(), null, "behaviors", null, 0, -1, ConcernDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ // Create annotations
+ // TagValues
+ createTagValuesAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>TagValues</b>. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createTagValuesAnnotations() {
+ String source = "TagValues"; //$NON-NLS-1$
+ addAnnotation(concernSetEClass, source, new String[] {});
+ addAnnotation(concernDescriptionEClass, source, new String[] {});
+ }
+
+} // ConcernPackageImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernSetImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernSetImpl.java
new file mode 100644
index 0000000000..f7ae612cc6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/impl/ConcernSetImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Set</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.concern.impl.ConcernSetImpl#getOwnedConcernDescriptions <em>Owned
+ * Concern Descriptions</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConcernSetImpl extends DocumentedElementImpl implements ConcernSet {
+ /**
+ * The cached value of the '{@link #getOwnedConcernDescriptions() <em>Owned Concern Descriptions</em>}' containment
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOwnedConcernDescriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConcernDescription> ownedConcernDescriptions;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConcernSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ConcernPackage.Literals.CONCERN_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ConcernDescription> getOwnedConcernDescriptions() {
+ if (ownedConcernDescriptions == null) {
+ ownedConcernDescriptions = new EObjectContainmentEList.Resolving<>(ConcernDescription.class, this, ConcernPackage.CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS);
+ }
+ return ownedConcernDescriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ConcernPackage.CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS:
+ return ((InternalEList<?>) getOwnedConcernDescriptions()).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 ConcernPackage.CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS:
+ return getOwnedConcernDescriptions();
+ }
+ 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 ConcernPackage.CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS:
+ getOwnedConcernDescriptions().clear();
+ getOwnedConcernDescriptions().addAll((Collection<? extends ConcernDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ConcernPackage.CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS:
+ getOwnedConcernDescriptions().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ConcernPackage.CONCERN_SET__OWNED_CONCERN_DESCRIPTIONS:
+ return ownedConcernDescriptions != null && !ownedConcernDescriptions.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ConcernSetImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/util/ConcernAdapterFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/util/ConcernAdapterFactory.java
new file mode 100644
index 0000000000..ec4fb28b2f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/util/ConcernAdapterFactory.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern.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.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- 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.sirius.diagram.description.concern.ConcernPackage
+ * @generated
+ */
+public class ConcernAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ConcernPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcernAdapterFactory() {
+ if (ConcernAdapterFactory.modelPackage == null) {
+ ConcernAdapterFactory.modelPackage = ConcernPackage.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 == ConcernAdapterFactory.modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == ConcernAdapterFactory.modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConcernSwitch<Adapter> modelSwitch = new ConcernSwitch<Adapter>() {
+ @Override
+ public Adapter caseConcernSet(ConcernSet object) {
+ return createConcernSetAdapter();
+ }
+
+ @Override
+ public Adapter caseConcernDescription(ConcernDescription object) {
+ return createConcernDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDocumentedElement(DocumentedElement object) {
+ return createDocumentedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseIdentifiedElement(IdentifiedElement object) {
+ return createIdentifiedElementAdapter();
+ }
+
+ @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.sirius.diagram.description.concern.ConcernSet
+ * <em>Set</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.sirius.diagram.description.concern.ConcernSet
+ * @generated
+ */
+ public Adapter createConcernSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.concern.ConcernDescription <em>Description</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.sirius.diagram.description.concern.ConcernDescription
+ * @generated
+ */
+ public Adapter createConcernDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * <em>Documented Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * @generated
+ */
+ public Adapter createDocumentedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * <em>Identified Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * @generated
+ */
+ public Adapter createIdentifiedElementAdapter() {
+ 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;
+ }
+
+} // ConcernAdapterFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/util/ConcernSwitch.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/util/ConcernSwitch.java
new file mode 100644
index 0000000000..f5cea72632
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/concern/util/ConcernSwitch.java
@@ -0,0 +1,193 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.concern.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- 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.sirius.diagram.description.concern.ConcernPackage
+ * @generated
+ */
+public class ConcernSwitch<T> {
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ConcernPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcernSwitch() {
+ if (ConcernSwitch.modelPackage == null) {
+ ConcernSwitch.modelPackage = ConcernPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == ConcernSwitch.modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ } else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ConcernPackage.CONCERN_SET: {
+ ConcernSet concernSet = (ConcernSet) theEObject;
+ T result = caseConcernSet(concernSet);
+ if (result == null) {
+ result = caseDocumentedElement(concernSet);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ConcernPackage.CONCERN_DESCRIPTION: {
+ ConcernDescription concernDescription = (ConcernDescription) theEObject;
+ T result = caseConcernDescription(concernDescription);
+ if (result == null) {
+ result = caseDocumentedElement(concernDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(concernDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Set</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>Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConcernSet(ConcernSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Description</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>Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConcernDescription(ConcernDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documented Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentedElement(DocumentedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Identified Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Identified Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdentifiedElement(IdentifiedElement 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // ConcernSwitch
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/CompositeFilterDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/CompositeFilterDescription.java
new file mode 100644
index 0000000000..79b9ea62ed
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/CompositeFilterDescription.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Composite Filter Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A composite filter description. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription#getFilters <em>Filters</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getCompositeFilterDescription()
+ * @model
+ * @generated
+ */
+public interface CompositeFilterDescription extends FilterDescription {
+ /**
+ * Returns the value of the '<em><b>Filters</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.filter.Filter}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> All filters. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Filters</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getCompositeFilterDescription_Filters()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ EList<Filter> getFilters();
+
+} // CompositeFilterDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/Filter.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/Filter.java
new file mode 100644
index 0000000000..8678a5637b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/Filter.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Filter</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A filter. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.Filter#getFilterKind <em>Filter Kind</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getFilter()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Filter extends EObject {
+ /**
+ * Returns the value of the '<em><b>Filter Kind</b></em>' attribute. The default value is <code>"HIDE"</code>. The
+ * literals are from the enumeration {@link org.eclipse.sirius.diagram.description.filter.FilterKind}. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A filter might hide elements or just shrink
+ * them. In the case of the shrink, the edges going to this element will be kept. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Filter Kind</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.filter.FilterKind
+ * @see #setFilterKind(FilterKind)
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getFilter_FilterKind()
+ * @model default="HIDE"
+ * @generated
+ */
+ FilterKind getFilterKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.filter.Filter#getFilterKind <em>Filter
+ * Kind</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Filter Kind</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.filter.FilterKind
+ * @see #getFilterKind()
+ * @generated
+ */
+ void setFilterKind(FilterKind value);
+
+} // Filter
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterDescription.java
new file mode 100644
index 0000000000..5af27990b4
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterDescription.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter;
+
+import org.eclipse.sirius.diagram.DDiagramElement;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Description</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Describe a filter. A filter allows to hide some elements. <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getFilterDescription()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FilterDescription extends DocumentedElement, IdentifiedElement {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Return true if the specified viewpoint
+ * element is visible for this filter.
+ *
+ * @param element
+ * The element to test. <!-- end-model-doc -->
+ * @model
+ * @generated
+ */
+ boolean isVisible(DDiagramElement element);
+
+} // FilterDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterFactory.java
new file mode 100644
index 0000000000..45be14dd77
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterFactory.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter;
+
+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.sirius.diagram.description.filter.FilterPackage
+ * @generated
+ */
+public interface FilterFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ FilterFactory eINSTANCE = org.eclipse.sirius.diagram.description.filter.impl.FilterFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Mapping Filter</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Mapping Filter</em>'.
+ * @generated
+ */
+ MappingFilter createMappingFilter();
+
+ /**
+ * Returns a new object of class '<em>Composite Filter Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Composite Filter Description</em>'.
+ * @generated
+ */
+ CompositeFilterDescription createCompositeFilterDescription();
+
+ /**
+ * Returns a new object of class '<em>Variable Filter</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Variable Filter</em>'.
+ * @generated
+ */
+ VariableFilter createVariableFilter();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ FilterPackage getFilterPackage();
+
+} // FilterFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterKind.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterKind.java
new file mode 100644
index 0000000000..8c5194a8aa
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterKind.java
@@ -0,0 +1,221 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration ' <em><b>Kind</b></em>', and utility
+ * methods for working with them. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getFilterKind()
+ * @model
+ * @generated
+ */
+public enum FilterKind implements Enumerator {
+ /**
+ * The '<em><b>HIDE</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #HIDE
+ * @generated
+ * @ordered
+ */
+ HIDE_LITERAL(0, "HIDE", "HIDE"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>COLLAPSE</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #COLLAPSE
+ * @generated
+ * @ordered
+ */
+ COLLAPSE_LITERAL(1, "COLLAPSE", "COLLAPSE"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>HIDE</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>HIDE</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #HIDE_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int HIDE = 0;
+
+ /**
+ * The '<em><b>COLLAPSE</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>COLLAPSE</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #COLLAPSE_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int COLLAPSE = 1;
+
+ /**
+ * An array of all the '<em><b>Kind</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final FilterKind[] VALUES_ARRAY = new FilterKind[] { HIDE_LITERAL, COLLAPSE_LITERAL, };
+
+ /**
+ * A public read-only list of all the '<em><b>Kind</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public static final List<FilterKind> VALUES = Collections.unmodifiableList(Arrays.asList(FilterKind.VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Kind</b></em>' literal with the specified literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param literal
+ * the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static FilterKind get(String literal) {
+ for (FilterKind result : FilterKind.VALUES_ARRAY) {
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Kind</b></em>' literal with the specified name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param name
+ * the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static FilterKind getByName(String name) {
+ for (FilterKind result : FilterKind.VALUES_ARRAY) {
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Kind</b></em>' literal with the specified integer value. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static FilterKind get(int value) {
+ switch (value) {
+ case HIDE:
+ return HIDE_LITERAL;
+ case COLLAPSE:
+ return COLLAPSE_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private FilterKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // FilterKind
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterPackage.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterPackage.java
new file mode 100644
index 0000000000..46f763311c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/FilterPackage.java
@@ -0,0 +1,582 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+
+/**
+ * <!-- 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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FilterPackage extends EPackage {
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "filter"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/sirius/diagram/description/filter/1.1.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "filter"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ FilterPackage eINSTANCE = org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.filter.impl.FilterDescriptionImpl
+ * <em>Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getFilterDescription()
+ * @generated
+ */
+ int FILTER_DESCRIPTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FILTER_DESCRIPTION__DOCUMENTATION = DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FILTER_DESCRIPTION__NAME = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FILTER_DESCRIPTION__LABEL = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Description</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FILTER_DESCRIPTION_FEATURE_COUNT = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.filter.impl.FilterImpl
+ * <em>Filter</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getFilter()
+ * @generated
+ */
+ int FILTER = 1;
+
+ /**
+ * The feature id for the '<em><b>Filter Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FILTER__FILTER_KIND = 0;
+
+ /**
+ * The number of structural features of the '<em>Filter</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FILTER_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.filter.impl.MappingFilterImpl
+ * <em>Mapping Filter</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.MappingFilterImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getMappingFilter()
+ * @generated
+ */
+ int MAPPING_FILTER = 2;
+
+ /**
+ * The feature id for the '<em><b>Filter Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_FILTER__FILTER_KIND = FilterPackage.FILTER__FILTER_KIND;
+
+ /**
+ * The feature id for the '<em><b>Mappings</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_FILTER__MAPPINGS = FilterPackage.FILTER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Semantic Condition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_FILTER__SEMANTIC_CONDITION_EXPRESSION = FilterPackage.FILTER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>View Condition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_FILTER__VIEW_CONDITION_EXPRESSION = FilterPackage.FILTER_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Mapping Filter</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPING_FILTER_FEATURE_COUNT = FilterPackage.FILTER_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.filter.impl.CompositeFilterDescriptionImpl <em>Composite Filter
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.CompositeFilterDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getCompositeFilterDescription()
+ * @generated
+ */
+ int COMPOSITE_FILTER_DESCRIPTION = 3;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_FILTER_DESCRIPTION__DOCUMENTATION = FilterPackage.FILTER_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_FILTER_DESCRIPTION__NAME = FilterPackage.FILTER_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_FILTER_DESCRIPTION__LABEL = FilterPackage.FILTER_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_FILTER_DESCRIPTION__FILTERS = FilterPackage.FILTER_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Composite Filter Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_FILTER_DESCRIPTION_FEATURE_COUNT = FilterPackage.FILTER_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl
+ * <em>Variable Filter</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getVariableFilter()
+ * @generated
+ */
+ int VARIABLE_FILTER = 4;
+
+ /**
+ * The feature id for the '<em><b>Filter Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_FILTER__FILTER_KIND = FilterPackage.FILTER__FILTER_KIND;
+
+ /**
+ * The feature id for the '<em><b>Owned Variables</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_FILTER__OWNED_VARIABLES = FilterPackage.FILTER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Semantic Condition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_FILTER__SEMANTIC_CONDITION_EXPRESSION = FilterPackage.FILTER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Variable Filter</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_FILTER_FEATURE_COUNT = FilterPackage.FILTER_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.filter.FilterKind <em>Kind</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterKind
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getFilterKind()
+ * @generated
+ */
+ int FILTER_KIND = 5;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.filter.FilterDescription
+ * <em>Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.FilterDescription
+ * @generated
+ */
+ EClass getFilterDescription();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.filter.Filter <em>Filter</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Filter</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.Filter
+ * @generated
+ */
+ EClass getFilter();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.filter.Filter#getFilterKind <em>Filter Kind</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Filter Kind</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.Filter#getFilterKind()
+ * @see #getFilter()
+ * @generated
+ */
+ EAttribute getFilter_FilterKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.filter.MappingFilter <em>Mapping
+ * Filter</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Mapping Filter</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.MappingFilter
+ * @generated
+ */
+ EClass getMappingFilter();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.filter.MappingFilter#getMappings <em>Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.MappingFilter#getMappings()
+ * @see #getMappingFilter()
+ * @generated
+ */
+ EReference getMappingFilter_Mappings();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.filter.MappingFilter#getSemanticConditionExpression <em>Semantic
+ * Condition Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Semantic Condition Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.MappingFilter#getSemanticConditionExpression()
+ * @see #getMappingFilter()
+ * @generated
+ */
+ EAttribute getMappingFilter_SemanticConditionExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.filter.MappingFilter#getViewConditionExpression <em>View Condition
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>View Condition Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.MappingFilter#getViewConditionExpression()
+ * @see #getMappingFilter()
+ * @generated
+ */
+ EAttribute getMappingFilter_ViewConditionExpression();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription <em>Composite Filter
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Composite Filter Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription
+ * @generated
+ */
+ EClass getCompositeFilterDescription();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription#getFilters <em>Filters</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Filters</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription#getFilters()
+ * @see #getCompositeFilterDescription()
+ * @generated
+ */
+ EReference getCompositeFilterDescription_Filters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.filter.VariableFilter
+ * <em>Variable Filter</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Variable Filter</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.VariableFilter
+ * @generated
+ */
+ EClass getVariableFilter();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.filter.VariableFilter#getOwnedVariables <em>Owned
+ * Variables</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Owned Variables</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.VariableFilter#getOwnedVariables()
+ * @see #getVariableFilter()
+ * @generated
+ */
+ EReference getVariableFilter_OwnedVariables();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.filter.VariableFilter#getSemanticConditionExpression <em>Semantic
+ * Condition Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Semantic Condition Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.VariableFilter#getSemanticConditionExpression()
+ * @see #getVariableFilter()
+ * @generated
+ */
+ EAttribute getVariableFilter_SemanticConditionExpression();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.sirius.diagram.description.filter.FilterKind
+ * <em>Kind</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Kind</em>'.
+ * @see org.eclipse.sirius.diagram.description.filter.FilterKind
+ * @generated
+ */
+ EEnum getFilterKind();
+
+ /**
+ * 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
+ */
+ FilterFactory getFilterFactory();
+
+ /**
+ * <!-- 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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.filter.impl.FilterDescriptionImpl <em>Description</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getFilterDescription()
+ * @generated
+ */
+ EClass FILTER_DESCRIPTION = FilterPackage.eINSTANCE.getFilterDescription();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.filter.impl.FilterImpl
+ * <em>Filter</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getFilter()
+ * @generated
+ */
+ EClass FILTER = FilterPackage.eINSTANCE.getFilter();
+
+ /**
+ * The meta object literal for the '<em><b>Filter Kind</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute FILTER__FILTER_KIND = FilterPackage.eINSTANCE.getFilter_FilterKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.filter.impl.MappingFilterImpl
+ * <em>Mapping Filter</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.MappingFilterImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getMappingFilter()
+ * @generated
+ */
+ EClass MAPPING_FILTER = FilterPackage.eINSTANCE.getMappingFilter();
+
+ /**
+ * The meta object literal for the '<em><b>Mappings</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MAPPING_FILTER__MAPPINGS = FilterPackage.eINSTANCE.getMappingFilter_Mappings();
+
+ /**
+ * The meta object literal for the '<em><b>Semantic Condition Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MAPPING_FILTER__SEMANTIC_CONDITION_EXPRESSION = FilterPackage.eINSTANCE.getMappingFilter_SemanticConditionExpression();
+
+ /**
+ * The meta object literal for the ' <em><b>View Condition Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MAPPING_FILTER__VIEW_CONDITION_EXPRESSION = FilterPackage.eINSTANCE.getMappingFilter_ViewConditionExpression();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.filter.impl.CompositeFilterDescriptionImpl <em>Composite
+ * Filter Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.CompositeFilterDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getCompositeFilterDescription()
+ * @generated
+ */
+ EClass COMPOSITE_FILTER_DESCRIPTION = FilterPackage.eINSTANCE.getCompositeFilterDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Filters</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference COMPOSITE_FILTER_DESCRIPTION__FILTERS = FilterPackage.eINSTANCE.getCompositeFilterDescription_Filters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl
+ * <em>Variable Filter</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getVariableFilter()
+ * @generated
+ */
+ EClass VARIABLE_FILTER = FilterPackage.eINSTANCE.getVariableFilter();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Variables</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference VARIABLE_FILTER__OWNED_VARIABLES = FilterPackage.eINSTANCE.getVariableFilter_OwnedVariables();
+
+ /**
+ * The meta object literal for the '<em><b>Semantic Condition Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute VARIABLE_FILTER__SEMANTIC_CONDITION_EXPRESSION = FilterPackage.eINSTANCE.getVariableFilter_SemanticConditionExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.filter.FilterKind
+ * <em>Kind</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterKind
+ * @see org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl#getFilterKind()
+ * @generated
+ */
+ EEnum FILTER_KIND = FilterPackage.eINSTANCE.getFilterKind();
+
+ }
+
+} // FilterPackage
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/MappingFilter.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/MappingFilter.java
new file mode 100644
index 0000000000..f4266fe6c8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/MappingFilter.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Mapping Filter</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A filter that filters mappings. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.MappingFilter#getMappings <em>Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.MappingFilter#getSemanticConditionExpression <em>Semantic
+ * Condition Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.MappingFilter#getViewConditionExpression <em>View Condition
+ * Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getMappingFilter()
+ * @model
+ * @generated
+ */
+public interface MappingFilter extends Filter {
+ /**
+ * Returns the value of the '<em><b>Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> All mappings to filter. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getMappingFilter_Mappings()
+ * @model
+ * @generated
+ */
+ EList<DiagramElementMapping> getMappings();
+
+ /**
+ * Returns the value of the '<em><b>Semantic Condition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The condition to apply on the semantic element, if true the element is
+ * filtered. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Semantic Condition Expression</em>' attribute.
+ * @see #setSemanticConditionExpression(String)
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getMappingFilter_SemanticConditionExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a boolean.'"
+ * @generated
+ */
+ String getSemanticConditionExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.filter.MappingFilter#getSemanticConditionExpression <em>Semantic
+ * Condition Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Semantic Condition Expression</em>' attribute.
+ * @see #getSemanticConditionExpression()
+ * @generated
+ */
+ void setSemanticConditionExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>View Condition Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The condition to apply on the view element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>View Condition Expression</em>' attribute.
+ * @see #setViewConditionExpression(String)
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getMappingFilter_ViewConditionExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a boolean.'"
+ * @generated
+ */
+ String getViewConditionExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.filter.MappingFilter#getViewConditionExpression <em>View Condition
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>View Condition Expression</em>' attribute.
+ * @see #getViewConditionExpression()
+ * @generated
+ */
+ void setViewConditionExpression(String value);
+
+} // MappingFilter
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/VariableFilter.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/VariableFilter.java
new file mode 100644
index 0000000000..132a847711
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/VariableFilter.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2007, 2015 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Variable Filter</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <!-- begin-model-doc --> A filter that filters viewpoint elements considering an expression and some variables
+ * defined by the user.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.VariableFilter#getOwnedVariables <em>Owned Variables</em>}
+ * </li>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.VariableFilter#getSemanticConditionExpression <em>Semantic
+ * Condition Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getVariableFilter()
+ * @model
+ * @generated
+ */
+public interface VariableFilter extends Filter {
+ /**
+ * Returns the value of the '<em><b>Owned Variables</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Variables</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 Variables</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getVariableFilter_OwnedVariables()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<InteractiveVariableDescription> getOwnedVariables();
+
+ /**
+ * Returns the value of the '<em><b>Semantic Condition Expression</b></em>' attribute. The default value is
+ * <code>""</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The condition to apply on
+ * the semantic element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Semantic Condition Expression</em>' attribute.
+ * @see #setSemanticConditionExpression(String)
+ * @see org.eclipse.sirius.diagram.description.filter.FilterPackage#getVariableFilter_SemanticConditionExpression()
+ * @model default="" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a boolean.'"
+ * @generated
+ */
+ String getSemanticConditionExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.filter.VariableFilter#getSemanticConditionExpression <em>Semantic
+ * Condition Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Semantic Condition Expression</em>' attribute.
+ * @see #getSemanticConditionExpression()
+ * @generated
+ */
+ void setSemanticConditionExpression(String value);
+
+} // VariableFilter
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/CompositeFilterDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/CompositeFilterDescriptionImpl.java
new file mode 100644
index 0000000000..11046afc76
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/CompositeFilterDescriptionImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription;
+import org.eclipse.sirius.diagram.description.filter.Filter;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Composite Filter Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.CompositeFilterDescriptionImpl#getFilters
+ * <em>Filters</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CompositeFilterDescriptionImpl extends FilterDescriptionImpl implements CompositeFilterDescription {
+ /**
+ * The cached value of the '{@link #getFilters() <em>Filters</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getFilters()
+ * @generated
+ * @ordered
+ */
+ protected EList<Filter> filters;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CompositeFilterDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FilterPackage.Literals.COMPOSITE_FILTER_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<Filter> getFilters() {
+ if (filters == null) {
+ filters = new EObjectContainmentEList.Resolving<>(Filter.class, this, FilterPackage.COMPOSITE_FILTER_DESCRIPTION__FILTERS);
+ }
+ return filters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case FilterPackage.COMPOSITE_FILTER_DESCRIPTION__FILTERS:
+ return ((InternalEList<?>) getFilters()).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 FilterPackage.COMPOSITE_FILTER_DESCRIPTION__FILTERS:
+ return getFilters();
+ }
+ 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 FilterPackage.COMPOSITE_FILTER_DESCRIPTION__FILTERS:
+ getFilters().clear();
+ getFilters().addAll((Collection<? extends Filter>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FilterPackage.COMPOSITE_FILTER_DESCRIPTION__FILTERS:
+ getFilters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FilterPackage.COMPOSITE_FILTER_DESCRIPTION__FILTERS:
+ return filters != null && !filters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // CompositeFilterDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterDescriptionImpl.java
new file mode 100644
index 0000000000..3ea10d2d65
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterDescriptionImpl.java
@@ -0,0 +1,286 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.DDiagramElement;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Description</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.FilterDescriptionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.FilterDescriptionImpl#getLabel <em>Label</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FilterDescriptionImpl extends DocumentedElementImpl implements FilterDescription {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = FilterDescriptionImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = FilterDescriptionImpl.LABEL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected FilterDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FilterPackage.Literals.FILTER_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, FilterPackage.FILTER_DESCRIPTION__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, FilterPackage.FILTER_DESCRIPTION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isVisible(DDiagramElement element) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FilterPackage.FILTER_DESCRIPTION__NAME:
+ return getName();
+ case FilterPackage.FILTER_DESCRIPTION__LABEL:
+ return getLabel();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FilterPackage.FILTER_DESCRIPTION__NAME:
+ setName((String) newValue);
+ return;
+ case FilterPackage.FILTER_DESCRIPTION__LABEL:
+ setLabel((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FilterPackage.FILTER_DESCRIPTION__NAME:
+ setName(FilterDescriptionImpl.NAME_EDEFAULT);
+ return;
+ case FilterPackage.FILTER_DESCRIPTION__LABEL:
+ setLabel(FilterDescriptionImpl.LABEL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FilterPackage.FILTER_DESCRIPTION__NAME:
+ return FilterDescriptionImpl.NAME_EDEFAULT == null ? name != null : !FilterDescriptionImpl.NAME_EDEFAULT.equals(name);
+ case FilterPackage.FILTER_DESCRIPTION__LABEL:
+ return FilterDescriptionImpl.LABEL_EDEFAULT == null ? label != null : !FilterDescriptionImpl.LABEL_EDEFAULT.equals(label);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case FilterPackage.FILTER_DESCRIPTION__NAME:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case FilterPackage.FILTER_DESCRIPTION__LABEL:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return FilterPackage.FILTER_DESCRIPTION__NAME;
+ case DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return FilterPackage.FILTER_DESCRIPTION__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FilterDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterFactoryImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterFactoryImpl.java
new file mode 100644
index 0000000000..8934059294
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterFactoryImpl.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) 2007, 2018 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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.sirius.diagram.description.filter.CompositeFilterDescription;
+import org.eclipse.sirius.diagram.description.filter.FilterFactory;
+import org.eclipse.sirius.diagram.description.filter.FilterKind;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.MappingFilter;
+import org.eclipse.sirius.diagram.description.filter.VariableFilter;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FilterFactoryImpl extends EFactoryImpl implements FilterFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static FilterFactory init() {
+ try {
+ FilterFactory theFilterFactory = (FilterFactory) EPackage.Registry.INSTANCE.getEFactory(FilterPackage.eNS_URI);
+ if (theFilterFactory != null) {
+ return theFilterFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new FilterFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FilterFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case FilterPackage.MAPPING_FILTER:
+ return createMappingFilter();
+ case FilterPackage.COMPOSITE_FILTER_DESCRIPTION:
+ return createCompositeFilterDescription();
+ case FilterPackage.VARIABLE_FILTER:
+ return createVariableFilter();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case FilterPackage.FILTER_KIND:
+ return createFilterKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case FilterPackage.FILTER_KIND:
+ return convertFilterKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public MappingFilter createMappingFilter() {
+ MappingFilterImpl mappingFilter = new MappingFilterImpl();
+ return mappingFilter;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CompositeFilterDescription createCompositeFilterDescription() {
+ CompositeFilterDescriptionImpl compositeFilterDescription = new CompositeFilterDescriptionImpl();
+ return compositeFilterDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public VariableFilter createVariableFilter() {
+ VariableFilterImpl variableFilter = new VariableFilterImpl();
+ return variableFilter;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FilterKind createFilterKindFromString(EDataType eDataType, String initialValue) {
+ FilterKind result = FilterKind.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertFilterKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public FilterPackage getFilterPackage() {
+ return (FilterPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static FilterPackage getPackage() {
+ return FilterPackage.eINSTANCE;
+ }
+
+} // FilterFactoryImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterImpl.java
new file mode 100644
index 0000000000..3a5cec3707
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterImpl.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.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.sirius.diagram.description.filter.Filter;
+import org.eclipse.sirius.diagram.description.filter.FilterKind;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Filter</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.FilterImpl#getFilterKind <em>Filter Kind</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FilterImpl extends MinimalEObjectImpl.Container implements Filter {
+ /**
+ * The default value of the '{@link #getFilterKind() <em>Filter Kind</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getFilterKind()
+ * @generated
+ * @ordered
+ */
+ protected static final FilterKind FILTER_KIND_EDEFAULT = FilterKind.HIDE_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getFilterKind() <em>Filter Kind</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getFilterKind()
+ * @generated
+ * @ordered
+ */
+ protected FilterKind filterKind = FilterImpl.FILTER_KIND_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected FilterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FilterPackage.Literals.FILTER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public FilterKind getFilterKind() {
+ return filterKind;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFilterKind(FilterKind newFilterKind) {
+ FilterKind oldFilterKind = filterKind;
+ filterKind = newFilterKind == null ? FilterImpl.FILTER_KIND_EDEFAULT : newFilterKind;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, FilterPackage.FILTER__FILTER_KIND, oldFilterKind, filterKind));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FilterPackage.FILTER__FILTER_KIND:
+ return getFilterKind();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FilterPackage.FILTER__FILTER_KIND:
+ setFilterKind((FilterKind) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FilterPackage.FILTER__FILTER_KIND:
+ setFilterKind(FilterImpl.FILTER_KIND_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FilterPackage.FILTER__FILTER_KIND:
+ return filterKind != FilterImpl.FILTER_KIND_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (filterKind: "); //$NON-NLS-1$
+ result.append(filterKind);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FilterImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterPackageImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterPackageImpl.java
new file mode 100644
index 0000000000..f0f86ec884
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/FilterPackageImpl.java
@@ -0,0 +1,479 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.sirius.diagram.DiagramPackage;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl;
+import org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription;
+import org.eclipse.sirius.diagram.description.filter.Filter;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.filter.FilterFactory;
+import org.eclipse.sirius.diagram.description.filter.FilterKind;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.MappingFilter;
+import org.eclipse.sirius.diagram.description.filter.VariableFilter;
+import org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl;
+import org.eclipse.sirius.diagram.impl.DiagramPackageImpl;
+import org.eclipse.sirius.viewpoint.ViewpointPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FilterPackageImpl extends EPackageImpl implements FilterPackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass filterDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass filterEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass mappingFilterEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass compositeFilterDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass variableFilterEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum filterKindEEnum = 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.sirius.diagram.description.filter.FilterPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private FilterPackageImpl() {
+ super(FilterPackage.eNS_URI, FilterFactory.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 FilterPackage#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 FilterPackage init() {
+ if (FilterPackageImpl.isInited) {
+ return (FilterPackage) EPackage.Registry.INSTANCE.getEPackage(FilterPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ Object registeredFilterPackage = EPackage.Registry.INSTANCE.get(FilterPackage.eNS_URI);
+ FilterPackageImpl theFilterPackage = registeredFilterPackage instanceof FilterPackageImpl ? (FilterPackageImpl) registeredFilterPackage : new FilterPackageImpl();
+
+ FilterPackageImpl.isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ ViewpointPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DiagramPackage.eNS_URI);
+ DiagramPackageImpl theDiagramPackage = (DiagramPackageImpl) (registeredPackage instanceof DiagramPackageImpl ? registeredPackage : DiagramPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+ DescriptionPackageImpl theDescriptionPackage = (DescriptionPackageImpl) (registeredPackage instanceof DescriptionPackageImpl ? registeredPackage : DescriptionPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StylePackage.eNS_URI);
+ StylePackageImpl theStylePackage = (StylePackageImpl) (registeredPackage instanceof StylePackageImpl ? registeredPackage : StylePackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ToolPackage.eNS_URI);
+ ToolPackageImpl theToolPackage = (ToolPackageImpl) (registeredPackage instanceof ToolPackageImpl ? registeredPackage : ToolPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConcernPackage.eNS_URI);
+ ConcernPackageImpl theConcernPackage = (ConcernPackageImpl) (registeredPackage instanceof ConcernPackageImpl ? registeredPackage : ConcernPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theFilterPackage.createPackageContents();
+ theDiagramPackage.createPackageContents();
+ theDescriptionPackage.createPackageContents();
+ theStylePackage.createPackageContents();
+ theToolPackage.createPackageContents();
+ theConcernPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theFilterPackage.initializePackageContents();
+ theDiagramPackage.initializePackageContents();
+ theDescriptionPackage.initializePackageContents();
+ theStylePackage.initializePackageContents();
+ theToolPackage.initializePackageContents();
+ theConcernPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theFilterPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(FilterPackage.eNS_URI, theFilterPackage);
+ return theFilterPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getFilterDescription() {
+ return filterDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getFilter() {
+ return filterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getFilter_FilterKind() {
+ return (EAttribute) filterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getMappingFilter() {
+ return mappingFilterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getMappingFilter_Mappings() {
+ return (EReference) mappingFilterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getMappingFilter_SemanticConditionExpression() {
+ return (EAttribute) mappingFilterEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getMappingFilter_ViewConditionExpression() {
+ return (EAttribute) mappingFilterEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCompositeFilterDescription() {
+ return compositeFilterDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getCompositeFilterDescription_Filters() {
+ return (EReference) compositeFilterDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getVariableFilter() {
+ return variableFilterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getVariableFilter_OwnedVariables() {
+ return (EReference) variableFilterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getVariableFilter_SemanticConditionExpression() {
+ return (EAttribute) variableFilterEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getFilterKind() {
+ return filterKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public FilterFactory getFilterFactory() {
+ return (FilterFactory) 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
+ filterDescriptionEClass = createEClass(FilterPackage.FILTER_DESCRIPTION);
+
+ filterEClass = createEClass(FilterPackage.FILTER);
+ createEAttribute(filterEClass, FilterPackage.FILTER__FILTER_KIND);
+
+ mappingFilterEClass = createEClass(FilterPackage.MAPPING_FILTER);
+ createEReference(mappingFilterEClass, FilterPackage.MAPPING_FILTER__MAPPINGS);
+ createEAttribute(mappingFilterEClass, FilterPackage.MAPPING_FILTER__SEMANTIC_CONDITION_EXPRESSION);
+ createEAttribute(mappingFilterEClass, FilterPackage.MAPPING_FILTER__VIEW_CONDITION_EXPRESSION);
+
+ compositeFilterDescriptionEClass = createEClass(FilterPackage.COMPOSITE_FILTER_DESCRIPTION);
+ createEReference(compositeFilterDescriptionEClass, FilterPackage.COMPOSITE_FILTER_DESCRIPTION__FILTERS);
+
+ variableFilterEClass = createEClass(FilterPackage.VARIABLE_FILTER);
+ createEReference(variableFilterEClass, FilterPackage.VARIABLE_FILTER__OWNED_VARIABLES);
+ createEAttribute(variableFilterEClass, FilterPackage.VARIABLE_FILTER__SEMANTIC_CONDITION_EXPRESSION);
+
+ // Create enums
+ filterKindEEnum = createEEnum(FilterPackage.FILTER_KIND);
+ }
+
+ /**
+ * <!-- 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(FilterPackage.eNAME);
+ setNsPrefix(FilterPackage.eNS_PREFIX);
+ setNsURI(FilterPackage.eNS_URI);
+
+ // Obtain other dependent packages
+ org.eclipse.sirius.viewpoint.description.DescriptionPackage theDescriptionPackage_1 = (org.eclipse.sirius.viewpoint.description.DescriptionPackage) EPackage.Registry.INSTANCE
+ .getEPackage(org.eclipse.sirius.viewpoint.description.DescriptionPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ DiagramPackage theDiagramPackage = (DiagramPackage) EPackage.Registry.INSTANCE.getEPackage(DiagramPackage.eNS_URI);
+ DescriptionPackage theDescriptionPackage = (DescriptionPackage) EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ filterDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ filterDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getIdentifiedElement());
+ mappingFilterEClass.getESuperTypes().add(this.getFilter());
+ compositeFilterDescriptionEClass.getESuperTypes().add(this.getFilterDescription());
+ variableFilterEClass.getESuperTypes().add(this.getFilter());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(filterDescriptionEClass, FilterDescription.class, "FilterDescription", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ EOperation op = addEOperation(filterDescriptionEClass, theEcorePackage.getEBoolean(), "isVisible", 0, 1, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ addEParameter(op, theDiagramPackage.getDDiagramElement(), "element", 0, 1, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(filterEClass, Filter.class, "Filter", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getFilter_FilterKind(), this.getFilterKind(), "filterKind", "HIDE", 0, 1, Filter.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(mappingFilterEClass, MappingFilter.class, "MappingFilter", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getMappingFilter_Mappings(), theDescriptionPackage.getDiagramElementMapping(), null, "mappings", null, 0, -1, MappingFilter.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getMappingFilter_SemanticConditionExpression(), theDescriptionPackage_1.getInterpretedExpression(), "semanticConditionExpression", null, 0, 1, MappingFilter.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEAttribute(getMappingFilter_ViewConditionExpression(), theDescriptionPackage_1.getInterpretedExpression(), "viewConditionExpression", null, 0, 1, MappingFilter.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(compositeFilterDescriptionEClass, CompositeFilterDescription.class, "CompositeFilterDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCompositeFilterDescription_Filters(), this.getFilter(), null, "filters", null, 1, -1, CompositeFilterDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(variableFilterEClass, VariableFilter.class, "VariableFilter", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getVariableFilter_OwnedVariables(), theDescriptionPackage_1.getInteractiveVariableDescription(), null, "ownedVariables", null, 0, -1, VariableFilter.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getVariableFilter_SemanticConditionExpression(), theDescriptionPackage_1.getInterpretedExpression(), "semanticConditionExpression", "", 0, 1, VariableFilter.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(filterKindEEnum, FilterKind.class, "FilterKind"); //$NON-NLS-1$
+ addEEnumLiteral(filterKindEEnum, FilterKind.HIDE_LITERAL);
+ addEEnumLiteral(filterKindEEnum, FilterKind.COLLAPSE_LITERAL);
+
+ // Create annotations
+ // http://www.eclipse.org/sirius/interpreted/expression/returnType
+ createReturnTypeAnnotations();
+ // http://www.eclipse.org/sirius/interpreted/expression/variables
+ createVariablesAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/sirius/interpreted/expression/returnType</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createReturnTypeAnnotations() {
+ String source = "http://www.eclipse.org/sirius/interpreted/expression/returnType"; //$NON-NLS-1$
+ addAnnotation(getMappingFilter_SemanticConditionExpression(), source, new String[] { "returnType", "a boolean." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getMappingFilter_ViewConditionExpression(), source, new String[] { "returnType", "a boolean." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getVariableFilter_SemanticConditionExpression(), source, new String[] { "returnType", "a boolean." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/sirius/interpreted/expression/variables</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createVariablesAnnotations() {
+ String source = "http://www.eclipse.org/sirius/interpreted/expression/variables"; //$NON-NLS-1$
+ addAnnotation(getMappingFilter_SemanticConditionExpression(), source, new String[] {});
+ addAnnotation(getMappingFilter_ViewConditionExpression(), source, new String[] {});
+ addAnnotation(getVariableFilter_SemanticConditionExpression(), source, new String[] {});
+ }
+
+} // FilterPackageImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/MappingFilterImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/MappingFilterImpl.java
new file mode 100644
index 0000000000..dad9590fd1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/MappingFilterImpl.java
@@ -0,0 +1,276 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.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.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.MappingFilter;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Mapping Filter</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.MappingFilterImpl#getMappings <em>Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.MappingFilterImpl#getSemanticConditionExpression
+ * <em>Semantic Condition Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.MappingFilterImpl#getViewConditionExpression <em>View
+ * Condition Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MappingFilterImpl extends FilterImpl implements MappingFilter {
+ /**
+ * The cached value of the '{@link #getMappings() <em>Mappings</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> mappings;
+
+ /**
+ * The default value of the '{@link #getSemanticConditionExpression() <em>Semantic Condition Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSemanticConditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEMANTIC_CONDITION_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSemanticConditionExpression() <em>Semantic Condition Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSemanticConditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected String semanticConditionExpression = MappingFilterImpl.SEMANTIC_CONDITION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getViewConditionExpression() <em>View Condition Expression</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getViewConditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String VIEW_CONDITION_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getViewConditionExpression() <em>View Condition Expression</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getViewConditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected String viewConditionExpression = MappingFilterImpl.VIEW_CONDITION_EXPRESSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MappingFilterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FilterPackage.Literals.MAPPING_FILTER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getMappings() {
+ if (mappings == null) {
+ mappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, FilterPackage.MAPPING_FILTER__MAPPINGS);
+ }
+ return mappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSemanticConditionExpression() {
+ return semanticConditionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSemanticConditionExpression(String newSemanticConditionExpression) {
+ String oldSemanticConditionExpression = semanticConditionExpression;
+ semanticConditionExpression = newSemanticConditionExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, FilterPackage.MAPPING_FILTER__SEMANTIC_CONDITION_EXPRESSION, oldSemanticConditionExpression, semanticConditionExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getViewConditionExpression() {
+ return viewConditionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setViewConditionExpression(String newViewConditionExpression) {
+ String oldViewConditionExpression = viewConditionExpression;
+ viewConditionExpression = newViewConditionExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, FilterPackage.MAPPING_FILTER__VIEW_CONDITION_EXPRESSION, oldViewConditionExpression, viewConditionExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FilterPackage.MAPPING_FILTER__MAPPINGS:
+ return getMappings();
+ case FilterPackage.MAPPING_FILTER__SEMANTIC_CONDITION_EXPRESSION:
+ return getSemanticConditionExpression();
+ case FilterPackage.MAPPING_FILTER__VIEW_CONDITION_EXPRESSION:
+ return getViewConditionExpression();
+ }
+ 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 FilterPackage.MAPPING_FILTER__MAPPINGS:
+ getMappings().clear();
+ getMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case FilterPackage.MAPPING_FILTER__SEMANTIC_CONDITION_EXPRESSION:
+ setSemanticConditionExpression((String) newValue);
+ return;
+ case FilterPackage.MAPPING_FILTER__VIEW_CONDITION_EXPRESSION:
+ setViewConditionExpression((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FilterPackage.MAPPING_FILTER__MAPPINGS:
+ getMappings().clear();
+ return;
+ case FilterPackage.MAPPING_FILTER__SEMANTIC_CONDITION_EXPRESSION:
+ setSemanticConditionExpression(MappingFilterImpl.SEMANTIC_CONDITION_EXPRESSION_EDEFAULT);
+ return;
+ case FilterPackage.MAPPING_FILTER__VIEW_CONDITION_EXPRESSION:
+ setViewConditionExpression(MappingFilterImpl.VIEW_CONDITION_EXPRESSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FilterPackage.MAPPING_FILTER__MAPPINGS:
+ return mappings != null && !mappings.isEmpty();
+ case FilterPackage.MAPPING_FILTER__SEMANTIC_CONDITION_EXPRESSION:
+ return MappingFilterImpl.SEMANTIC_CONDITION_EXPRESSION_EDEFAULT == null ? semanticConditionExpression != null
+ : !MappingFilterImpl.SEMANTIC_CONDITION_EXPRESSION_EDEFAULT.equals(semanticConditionExpression);
+ case FilterPackage.MAPPING_FILTER__VIEW_CONDITION_EXPRESSION:
+ return MappingFilterImpl.VIEW_CONDITION_EXPRESSION_EDEFAULT == null ? viewConditionExpression != null
+ : !MappingFilterImpl.VIEW_CONDITION_EXPRESSION_EDEFAULT.equals(viewConditionExpression);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (semanticConditionExpression: "); //$NON-NLS-1$
+ result.append(semanticConditionExpression);
+ result.append(", viewConditionExpression: "); //$NON-NLS-1$
+ result.append(viewConditionExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // MappingFilterImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/VariableFilterImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/VariableFilterImpl.java
new file mode 100644
index 0000000000..52dc701c43
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/impl/VariableFilterImpl.java
@@ -0,0 +1,235 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.VariableFilter;
+import org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Variable Filter</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl#getOwnedVariables <em>Owned
+ * Variables</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl#getSemanticConditionExpression
+ * <em>Semantic Condition Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class VariableFilterImpl extends FilterImpl implements VariableFilter {
+ /**
+ * The cached value of the '{@link #getOwnedVariables() <em>Owned Variables</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOwnedVariables()
+ * @generated
+ * @ordered
+ */
+ protected EList<InteractiveVariableDescription> ownedVariables;
+
+ /**
+ * The default value of the '{@link #getSemanticConditionExpression() <em>Semantic Condition Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSemanticConditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEMANTIC_CONDITION_EXPRESSION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getSemanticConditionExpression() <em>Semantic Condition Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSemanticConditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected String semanticConditionExpression = VariableFilterImpl.SEMANTIC_CONDITION_EXPRESSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected VariableFilterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FilterPackage.Literals.VARIABLE_FILTER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<InteractiveVariableDescription> getOwnedVariables() {
+ if (ownedVariables == null) {
+ ownedVariables = new EObjectContainmentEList.Resolving<>(InteractiveVariableDescription.class, this, FilterPackage.VARIABLE_FILTER__OWNED_VARIABLES);
+ }
+ return ownedVariables;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSemanticConditionExpression() {
+ return semanticConditionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSemanticConditionExpression(String newSemanticConditionExpression) {
+ String oldSemanticConditionExpression = semanticConditionExpression;
+ semanticConditionExpression = newSemanticConditionExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, FilterPackage.VARIABLE_FILTER__SEMANTIC_CONDITION_EXPRESSION, oldSemanticConditionExpression, semanticConditionExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case FilterPackage.VARIABLE_FILTER__OWNED_VARIABLES:
+ return ((InternalEList<?>) getOwnedVariables()).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 FilterPackage.VARIABLE_FILTER__OWNED_VARIABLES:
+ return getOwnedVariables();
+ case FilterPackage.VARIABLE_FILTER__SEMANTIC_CONDITION_EXPRESSION:
+ return getSemanticConditionExpression();
+ }
+ 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 FilterPackage.VARIABLE_FILTER__OWNED_VARIABLES:
+ getOwnedVariables().clear();
+ getOwnedVariables().addAll((Collection<? extends InteractiveVariableDescription>) newValue);
+ return;
+ case FilterPackage.VARIABLE_FILTER__SEMANTIC_CONDITION_EXPRESSION:
+ setSemanticConditionExpression((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FilterPackage.VARIABLE_FILTER__OWNED_VARIABLES:
+ getOwnedVariables().clear();
+ return;
+ case FilterPackage.VARIABLE_FILTER__SEMANTIC_CONDITION_EXPRESSION:
+ setSemanticConditionExpression(VariableFilterImpl.SEMANTIC_CONDITION_EXPRESSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FilterPackage.VARIABLE_FILTER__OWNED_VARIABLES:
+ return ownedVariables != null && !ownedVariables.isEmpty();
+ case FilterPackage.VARIABLE_FILTER__SEMANTIC_CONDITION_EXPRESSION:
+ return VariableFilterImpl.SEMANTIC_CONDITION_EXPRESSION_EDEFAULT == null ? semanticConditionExpression != null
+ : !VariableFilterImpl.SEMANTIC_CONDITION_EXPRESSION_EDEFAULT.equals(semanticConditionExpression);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (semanticConditionExpression: "); //$NON-NLS-1$
+ result.append(semanticConditionExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // VariableFilterImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/util/FilterAdapterFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/util/FilterAdapterFactory.java
new file mode 100644
index 0000000000..98d297ed83
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/util/FilterAdapterFactory.java
@@ -0,0 +1,242 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.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.sirius.diagram.description.filter.CompositeFilterDescription;
+import org.eclipse.sirius.diagram.description.filter.Filter;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.MappingFilter;
+import org.eclipse.sirius.diagram.description.filter.VariableFilter;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- 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.sirius.diagram.description.filter.FilterPackage
+ * @generated
+ */
+public class FilterAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static FilterPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FilterAdapterFactory() {
+ if (FilterAdapterFactory.modelPackage == null) {
+ FilterAdapterFactory.modelPackage = FilterPackage.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 == FilterAdapterFactory.modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == FilterAdapterFactory.modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected FilterSwitch<Adapter> modelSwitch = new FilterSwitch<Adapter>() {
+ @Override
+ public Adapter caseFilterDescription(FilterDescription object) {
+ return createFilterDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseFilter(Filter object) {
+ return createFilterAdapter();
+ }
+
+ @Override
+ public Adapter caseMappingFilter(MappingFilter object) {
+ return createMappingFilterAdapter();
+ }
+
+ @Override
+ public Adapter caseCompositeFilterDescription(CompositeFilterDescription object) {
+ return createCompositeFilterDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseVariableFilter(VariableFilter object) {
+ return createVariableFilterAdapter();
+ }
+
+ @Override
+ public Adapter caseDocumentedElement(DocumentedElement object) {
+ return createDocumentedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseIdentifiedElement(IdentifiedElement object) {
+ return createIdentifiedElementAdapter();
+ }
+
+ @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.sirius.diagram.description.filter.FilterDescription <em>Description</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.sirius.diagram.description.filter.FilterDescription
+ * @generated
+ */
+ public Adapter createFilterDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.filter.Filter
+ * <em>Filter</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.sirius.diagram.description.filter.Filter
+ * @generated
+ */
+ public Adapter createFilterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.filter.MappingFilter
+ * <em>Mapping Filter</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.sirius.diagram.description.filter.MappingFilter
+ * @generated
+ */
+ public Adapter createMappingFilterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription <em>Composite Filter
+ * Description</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.sirius.diagram.description.filter.CompositeFilterDescription
+ * @generated
+ */
+ public Adapter createCompositeFilterDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.filter.VariableFilter
+ * <em>Variable Filter</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.sirius.diagram.description.filter.VariableFilter
+ * @generated
+ */
+ public Adapter createVariableFilterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * <em>Documented Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * @generated
+ */
+ public Adapter createDocumentedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * <em>Identified Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * @generated
+ */
+ public Adapter createIdentifiedElementAdapter() {
+ 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;
+ }
+
+} // FilterAdapterFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/util/FilterSwitch.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/util/FilterSwitch.java
new file mode 100644
index 0000000000..5e2531bd33
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/filter/util/FilterSwitch.java
@@ -0,0 +1,277 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.filter.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.diagram.description.filter.CompositeFilterDescription;
+import org.eclipse.sirius.diagram.description.filter.Filter;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.MappingFilter;
+import org.eclipse.sirius.diagram.description.filter.VariableFilter;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- 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.sirius.diagram.description.filter.FilterPackage
+ * @generated
+ */
+public class FilterSwitch<T> {
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static FilterPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FilterSwitch() {
+ if (FilterSwitch.modelPackage == null) {
+ FilterSwitch.modelPackage = FilterPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == FilterSwitch.modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ } else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case FilterPackage.FILTER_DESCRIPTION: {
+ FilterDescription filterDescription = (FilterDescription) theEObject;
+ T result = caseFilterDescription(filterDescription);
+ if (result == null) {
+ result = caseDocumentedElement(filterDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(filterDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case FilterPackage.FILTER: {
+ Filter filter = (Filter) theEObject;
+ T result = caseFilter(filter);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case FilterPackage.MAPPING_FILTER: {
+ MappingFilter mappingFilter = (MappingFilter) theEObject;
+ T result = caseMappingFilter(mappingFilter);
+ if (result == null) {
+ result = caseFilter(mappingFilter);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case FilterPackage.COMPOSITE_FILTER_DESCRIPTION: {
+ CompositeFilterDescription compositeFilterDescription = (CompositeFilterDescription) theEObject;
+ T result = caseCompositeFilterDescription(compositeFilterDescription);
+ if (result == null) {
+ result = caseFilterDescription(compositeFilterDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(compositeFilterDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(compositeFilterDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case FilterPackage.VARIABLE_FILTER: {
+ VariableFilter variableFilter = (VariableFilter) theEObject;
+ T result = caseVariableFilter(variableFilter);
+ if (result == null) {
+ result = caseFilter(variableFilter);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Description</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>Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFilterDescription(FilterDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Filter</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>Filter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFilter(Filter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Mapping Filter</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>Mapping Filter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMappingFilter(MappingFilter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Composite Filter Description</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>Composite Filter Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCompositeFilterDescription(CompositeFilterDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Variable Filter</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>Variable Filter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVariableFilter(VariableFilter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documented Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentedElement(DocumentedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Identified Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Identified Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdentifiedElement(IdentifiedElement 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // FilterSwitch
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/AbstractNodeMappingImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/AbstractNodeMappingImpl.java
new file mode 100644
index 0000000000..f62f0601d4
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/AbstractNodeMappingImpl.java
@@ -0,0 +1,366 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Abstract Node Mapping</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.AbstractNodeMappingImpl#getDocumentation
+ * <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.AbstractNodeMappingImpl#getDomainClass <em>Domain
+ * Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.AbstractNodeMappingImpl#getBorderedNodeMappings <em>Bordered
+ * Node Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.AbstractNodeMappingImpl#getReusedBorderedNodeMappings
+ * <em>Reused Bordered Node Mappings</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class AbstractNodeMappingImpl extends DiagramElementMappingImpl implements AbstractNodeMapping {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = AbstractNodeMappingImpl.DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOMAIN_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected String domainClass = AbstractNodeMappingImpl.DOMAIN_CLASS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBorderedNodeMappings() <em>Bordered Node Mappings</em>}' containment
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderedNodeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeMapping> borderedNodeMappings;
+
+ /**
+ * The cached value of the '{@link #getReusedBorderedNodeMappings() <em>Reused Bordered Node Mappings</em>}'
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReusedBorderedNodeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeMapping> reusedBorderedNodeMappings;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AbstractNodeMappingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.ABSTRACT_NODE_MAPPING;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION, oldDocumentation, documentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDomainClass() {
+ return domainClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDomainClass(String newDomainClass) {
+ String oldDomainClass = domainClass;
+ domainClass = newDomainClass;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.ABSTRACT_NODE_MAPPING__DOMAIN_CLASS, oldDomainClass, domainClass));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<NodeMapping> getBorderedNodeMappings() {
+ if (borderedNodeMappings == null) {
+ borderedNodeMappings = new EObjectContainmentEList.Resolving<>(NodeMapping.class, this, DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS);
+ }
+ return borderedNodeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<NodeMapping> getReusedBorderedNodeMappings() {
+ if (reusedBorderedNodeMappings == null) {
+ reusedBorderedNodeMappings = new EObjectResolvingEList<>(NodeMapping.class, this, DescriptionPackage.ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS);
+ }
+ return reusedBorderedNodeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS:
+ return ((InternalEList<?>) getBorderedNodeMappings()).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 DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION:
+ return getDocumentation();
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__DOMAIN_CLASS:
+ return getDomainClass();
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS:
+ return getBorderedNodeMappings();
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS:
+ return getReusedBorderedNodeMappings();
+ }
+ 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 DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION:
+ setDocumentation((String) newValue);
+ return;
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__DOMAIN_CLASS:
+ setDomainClass((String) newValue);
+ return;
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS:
+ getBorderedNodeMappings().clear();
+ getBorderedNodeMappings().addAll((Collection<? extends NodeMapping>) newValue);
+ return;
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS:
+ getReusedBorderedNodeMappings().clear();
+ getReusedBorderedNodeMappings().addAll((Collection<? extends NodeMapping>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION:
+ setDocumentation(AbstractNodeMappingImpl.DOCUMENTATION_EDEFAULT);
+ return;
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__DOMAIN_CLASS:
+ setDomainClass(AbstractNodeMappingImpl.DOMAIN_CLASS_EDEFAULT);
+ return;
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS:
+ getBorderedNodeMappings().clear();
+ return;
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS:
+ getReusedBorderedNodeMappings().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION:
+ return AbstractNodeMappingImpl.DOCUMENTATION_EDEFAULT == null ? documentation != null : !AbstractNodeMappingImpl.DOCUMENTATION_EDEFAULT.equals(documentation);
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__DOMAIN_CLASS:
+ return AbstractNodeMappingImpl.DOMAIN_CLASS_EDEFAULT == null ? domainClass != null : !AbstractNodeMappingImpl.DOMAIN_CLASS_EDEFAULT.equals(domainClass);
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS:
+ return borderedNodeMappings != null && !borderedNodeMappings.isEmpty();
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS:
+ return reusedBorderedNodeMappings != null && !reusedBorderedNodeMappings.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return DescriptionPackage.ABSTRACT_NODE_MAPPING__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(", domainClass: "); //$NON-NLS-1$
+ result.append(domainClass);
+ result.append(')');
+ return result.toString();
+ }
+
+} // AbstractNodeMappingImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/AdditionalLayerImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/AdditionalLayerImpl.java
new file mode 100644
index 0000000000..9cd7fa2c77
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/AdditionalLayerImpl.java
@@ -0,0 +1,232 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.AdditionalLayer;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Additional Layer</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.AdditionalLayerImpl#isActiveByDefault <em>Active By
+ * Default</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.AdditionalLayerImpl#isOptional <em>Optional</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AdditionalLayerImpl extends LayerImpl implements AdditionalLayer {
+ /**
+ * The default value of the '{@link #isActiveByDefault() <em>Active By Default</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isActiveByDefault()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ACTIVE_BY_DEFAULT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isActiveByDefault() <em>Active By Default</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isActiveByDefault()
+ * @generated
+ * @ordered
+ */
+ protected boolean activeByDefault = AdditionalLayerImpl.ACTIVE_BY_DEFAULT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isOptional() <em>Optional</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OPTIONAL_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isOptional() <em>Optional</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected boolean optional = AdditionalLayerImpl.OPTIONAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AdditionalLayerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.ADDITIONAL_LAYER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isActiveByDefault() {
+ return activeByDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setActiveByDefault(boolean newActiveByDefault) {
+ boolean oldActiveByDefault = activeByDefault;
+ activeByDefault = newActiveByDefault;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.ADDITIONAL_LAYER__ACTIVE_BY_DEFAULT, oldActiveByDefault, activeByDefault));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isOptional() {
+ return optional;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOptional(boolean newOptional) {
+ boolean oldOptional = optional;
+ optional = newOptional;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.ADDITIONAL_LAYER__OPTIONAL, oldOptional, optional));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.ADDITIONAL_LAYER__ACTIVE_BY_DEFAULT:
+ return isActiveByDefault();
+ case DescriptionPackage.ADDITIONAL_LAYER__OPTIONAL:
+ return isOptional();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.ADDITIONAL_LAYER__ACTIVE_BY_DEFAULT:
+ setActiveByDefault((Boolean) newValue);
+ return;
+ case DescriptionPackage.ADDITIONAL_LAYER__OPTIONAL:
+ setOptional((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ADDITIONAL_LAYER__ACTIVE_BY_DEFAULT:
+ setActiveByDefault(AdditionalLayerImpl.ACTIVE_BY_DEFAULT_EDEFAULT);
+ return;
+ case DescriptionPackage.ADDITIONAL_LAYER__OPTIONAL:
+ setOptional(AdditionalLayerImpl.OPTIONAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ADDITIONAL_LAYER__ACTIVE_BY_DEFAULT:
+ return activeByDefault != AdditionalLayerImpl.ACTIVE_BY_DEFAULT_EDEFAULT;
+ case DescriptionPackage.ADDITIONAL_LAYER__OPTIONAL:
+ return optional != AdditionalLayerImpl.OPTIONAL_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (activeByDefault: "); //$NON-NLS-1$
+ result.append(activeByDefault);
+ result.append(", optional: "); //$NON-NLS-1$
+ result.append(optional);
+ result.append(')');
+ return result.toString();
+ }
+
+} // AdditionalLayerImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/BooleanLayoutOptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/BooleanLayoutOptionImpl.java
new file mode 100644
index 0000000000..3232299f8e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/BooleanLayoutOptionImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.BooleanLayoutOption;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Boolean Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.BooleanLayoutOptionImpl#isValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BooleanLayoutOptionImpl extends LayoutOptionImpl implements BooleanLayoutOption {
+ /**
+ * The default value of the '{@link #isValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #isValue()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean VALUE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #isValue()
+ * @generated
+ * @ordered
+ */
+ protected boolean value = BooleanLayoutOptionImpl.VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BooleanLayoutOptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.BOOLEAN_LAYOUT_OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValue(boolean newValue) {
+ boolean oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.BOOLEAN_LAYOUT_OPTION__VALUE, oldValue, value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.BOOLEAN_LAYOUT_OPTION__VALUE:
+ return isValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.BOOLEAN_LAYOUT_OPTION__VALUE:
+ setValue((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.BOOLEAN_LAYOUT_OPTION__VALUE:
+ setValue(BooleanLayoutOptionImpl.VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.BOOLEAN_LAYOUT_OPTION__VALUE:
+ return value != BooleanLayoutOptionImpl.VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BooleanLayoutOptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/CompositeLayoutImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/CompositeLayoutImpl.java
new file mode 100644
index 0000000000..f26dcd1e2c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/CompositeLayoutImpl.java
@@ -0,0 +1,233 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.CompositeLayout;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.LayoutDirection;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Composite Layout</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.CompositeLayoutImpl#getPadding <em>Padding</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.CompositeLayoutImpl#getDirection <em>Direction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CompositeLayoutImpl extends DocumentedElementImpl implements CompositeLayout {
+ /**
+ * The default value of the '{@link #getPadding() <em>Padding</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getPadding()
+ * @generated
+ * @ordered
+ */
+ protected static final int PADDING_EDEFAULT = 30;
+
+ /**
+ * The cached value of the '{@link #getPadding() <em>Padding</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getPadding()
+ * @generated
+ * @ordered
+ */
+ protected int padding = CompositeLayoutImpl.PADDING_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected static final LayoutDirection DIRECTION_EDEFAULT = LayoutDirection.TOP_TO_BOTTOM;
+
+ /**
+ * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected LayoutDirection direction = CompositeLayoutImpl.DIRECTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CompositeLayoutImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.COMPOSITE_LAYOUT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getPadding() {
+ return padding;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setPadding(int newPadding) {
+ int oldPadding = padding;
+ padding = newPadding;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.COMPOSITE_LAYOUT__PADDING, oldPadding, padding));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LayoutDirection getDirection() {
+ return direction;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDirection(LayoutDirection newDirection) {
+ LayoutDirection oldDirection = direction;
+ direction = newDirection == null ? CompositeLayoutImpl.DIRECTION_EDEFAULT : newDirection;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.COMPOSITE_LAYOUT__DIRECTION, oldDirection, direction));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.COMPOSITE_LAYOUT__PADDING:
+ return getPadding();
+ case DescriptionPackage.COMPOSITE_LAYOUT__DIRECTION:
+ return getDirection();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.COMPOSITE_LAYOUT__PADDING:
+ setPadding((Integer) newValue);
+ return;
+ case DescriptionPackage.COMPOSITE_LAYOUT__DIRECTION:
+ setDirection((LayoutDirection) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.COMPOSITE_LAYOUT__PADDING:
+ setPadding(CompositeLayoutImpl.PADDING_EDEFAULT);
+ return;
+ case DescriptionPackage.COMPOSITE_LAYOUT__DIRECTION:
+ setDirection(CompositeLayoutImpl.DIRECTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.COMPOSITE_LAYOUT__PADDING:
+ return padding != CompositeLayoutImpl.PADDING_EDEFAULT;
+ case DescriptionPackage.COMPOSITE_LAYOUT__DIRECTION:
+ return direction != CompositeLayoutImpl.DIRECTION_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (padding: "); //$NON-NLS-1$
+ result.append(padding);
+ result.append(", direction: "); //$NON-NLS-1$
+ result.append(direction);
+ result.append(')');
+ return result.toString();
+ }
+
+} // CompositeLayoutImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalContainerStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalContainerStyleDescriptionImpl.java
new file mode 100644
index 0000000000..153f074bfa
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalContainerStyleDescriptionImpl.java
@@ -0,0 +1,223 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.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.sirius.diagram.description.ConditionalContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+import org.eclipse.sirius.viewpoint.description.impl.ConditionalStyleDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Conditional Container Style
+ * Description</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ConditionalContainerStyleDescriptionImpl#getStyle
+ * <em>Style</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConditionalContainerStyleDescriptionImpl extends ConditionalStyleDescriptionImpl implements ConditionalContainerStyleDescription {
+ /**
+ * The cached value of the '{@link #getStyle() <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStyle()
+ * @generated
+ * @ordered
+ */
+ protected ContainerStyleDescription style;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConditionalContainerStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerStyleDescription getStyle() {
+ if (style != null && style.eIsProxy()) {
+ InternalEObject oldStyle = (InternalEObject) style;
+ style = (ContainerStyleDescription) eResolveProxy(oldStyle);
+ if (style != oldStyle) {
+ InternalEObject newStyle = (InternalEObject) style;
+ NotificationChain msgs = oldStyle.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE, null, null);
+ if (newStyle.eInternalContainer() == null) {
+ msgs = newStyle.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE, oldStyle, style));
+ }
+ }
+ }
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ContainerStyleDescription basicGetStyle() {
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyle(ContainerStyleDescription newStyle, NotificationChain msgs) {
+ ContainerStyleDescription oldStyle = style;
+ style = newStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE, oldStyle, newStyle);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStyle(ContainerStyleDescription newStyle) {
+ if (newStyle != style) {
+ NotificationChain msgs = null;
+ if (style != null) {
+ msgs = ((InternalEObject) style).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ if (newStyle != null) {
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ msgs = basicSetStyle(newStyle, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE, newStyle, newStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE:
+ return basicSetStyle(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 DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE:
+ if (resolve) {
+ return getStyle();
+ }
+ return basicGetStyle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE:
+ setStyle((ContainerStyleDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE:
+ setStyle((ContainerStyleDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE:
+ return style != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ConditionalContainerStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalEdgeStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalEdgeStyleDescriptionImpl.java
new file mode 100644
index 0000000000..c14ceaf9e1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalEdgeStyleDescriptionImpl.java
@@ -0,0 +1,223 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.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.sirius.diagram.description.ConditionalEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.viewpoint.description.impl.ConditionalStyleDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Conditional Edge Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ConditionalEdgeStyleDescriptionImpl#getStyle
+ * <em>Style</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConditionalEdgeStyleDescriptionImpl extends ConditionalStyleDescriptionImpl implements ConditionalEdgeStyleDescription {
+ /**
+ * The cached value of the '{@link #getStyle() <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStyle()
+ * @generated
+ * @ordered
+ */
+ protected EdgeStyleDescription style;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConditionalEdgeStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.CONDITIONAL_EDGE_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EdgeStyleDescription getStyle() {
+ if (style != null && style.eIsProxy()) {
+ InternalEObject oldStyle = (InternalEObject) style;
+ style = (EdgeStyleDescription) eResolveProxy(oldStyle);
+ if (style != oldStyle) {
+ InternalEObject newStyle = (InternalEObject) style;
+ NotificationChain msgs = oldStyle.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE, null, null);
+ if (newStyle.eInternalContainer() == null) {
+ msgs = newStyle.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE, oldStyle, style));
+ }
+ }
+ }
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EdgeStyleDescription basicGetStyle() {
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyle(EdgeStyleDescription newStyle, NotificationChain msgs) {
+ EdgeStyleDescription oldStyle = style;
+ style = newStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE, oldStyle, newStyle);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStyle(EdgeStyleDescription newStyle) {
+ if (newStyle != style) {
+ NotificationChain msgs = null;
+ if (style != null) {
+ msgs = ((InternalEObject) style).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ if (newStyle != null) {
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ msgs = basicSetStyle(newStyle, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE, newStyle, newStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE:
+ return basicSetStyle(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 DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE:
+ if (resolve) {
+ return getStyle();
+ }
+ return basicGetStyle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE:
+ setStyle((EdgeStyleDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE:
+ setStyle((EdgeStyleDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE:
+ return style != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ConditionalEdgeStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalNodeStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalNodeStyleDescriptionImpl.java
new file mode 100644
index 0000000000..986b2bf52e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ConditionalNodeStyleDescriptionImpl.java
@@ -0,0 +1,223 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.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.sirius.diagram.description.ConditionalNodeStyleDescription;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.style.NodeStyleDescription;
+import org.eclipse.sirius.viewpoint.description.impl.ConditionalStyleDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Conditional Node Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ConditionalNodeStyleDescriptionImpl#getStyle
+ * <em>Style</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConditionalNodeStyleDescriptionImpl extends ConditionalStyleDescriptionImpl implements ConditionalNodeStyleDescription {
+ /**
+ * The cached value of the '{@link #getStyle() <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStyle()
+ * @generated
+ * @ordered
+ */
+ protected NodeStyleDescription style;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConditionalNodeStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.CONDITIONAL_NODE_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NodeStyleDescription getStyle() {
+ if (style != null && style.eIsProxy()) {
+ InternalEObject oldStyle = (InternalEObject) style;
+ style = (NodeStyleDescription) eResolveProxy(oldStyle);
+ if (style != oldStyle) {
+ InternalEObject newStyle = (InternalEObject) style;
+ NotificationChain msgs = oldStyle.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE, null, null);
+ if (newStyle.eInternalContainer() == null) {
+ msgs = newStyle.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE, oldStyle, style));
+ }
+ }
+ }
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeStyleDescription basicGetStyle() {
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyle(NodeStyleDescription newStyle, NotificationChain msgs) {
+ NodeStyleDescription oldStyle = style;
+ style = newStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE, oldStyle, newStyle);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStyle(NodeStyleDescription newStyle) {
+ if (newStyle != style) {
+ NotificationChain msgs = null;
+ if (style != null) {
+ msgs = ((InternalEObject) style).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ if (newStyle != null) {
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE, null, msgs);
+ }
+ msgs = basicSetStyle(newStyle, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE, newStyle, newStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE:
+ return basicSetStyle(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 DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE:
+ if (resolve) {
+ return getStyle();
+ }
+ return basicGetStyle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE:
+ setStyle((NodeStyleDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE:
+ setStyle((NodeStyleDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE:
+ return style != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ConditionalNodeStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ContainerMappingImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ContainerMappingImpl.java
new file mode 100644
index 0000000000..b5c8251406
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ContainerMappingImpl.java
@@ -0,0 +1,569 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.ContainerLayout;
+import org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Container Mapping</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getDropDescriptions <em>Drop
+ * Descriptions</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getSubNodeMappings <em>Sub Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getAllNodeMappings <em>All Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getReusedNodeMappings <em>Reused Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getSubContainerMappings <em>Sub Container
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getReusedContainerMappings <em>Reused
+ * Container Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getAllContainerMappings <em>All Container
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getStyle <em>Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImpl#getChildrenPresentation <em>Children
+ * Presentation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ContainerMappingImpl extends AbstractNodeMappingImpl implements ContainerMapping {
+ /**
+ * The cached value of the '{@link #getDropDescriptions() <em>Drop Descriptions</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDropDescriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerDropDescription> dropDescriptions;
+
+ /**
+ * The cached value of the '{@link #getSubNodeMappings() <em>Sub Node Mappings</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubNodeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeMapping> subNodeMappings;
+
+ /**
+ * The cached value of the '{@link #getReusedNodeMappings() <em>Reused Node Mappings</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReusedNodeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeMapping> reusedNodeMappings;
+
+ /**
+ * The cached value of the '{@link #getSubContainerMappings() <em>Sub Container Mappings</em>}' containment
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubContainerMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerMapping> subContainerMappings;
+
+ /**
+ * The cached value of the '{@link #getReusedContainerMappings() <em>Reused Container Mappings</em>}' reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReusedContainerMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerMapping> reusedContainerMappings;
+
+ /**
+ * The cached value of the '{@link #getStyle() <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStyle()
+ * @generated
+ * @ordered
+ */
+ protected ContainerStyleDescription style;
+
+ /**
+ * The cached value of the '{@link #getConditionnalStyles() <em>Conditionnal Styles</em>}' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConditionnalStyles()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConditionalContainerStyleDescription> conditionnalStyles;
+
+ /**
+ * The default value of the '{@link #getChildrenPresentation() <em>Children Presentation</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getChildrenPresentation()
+ * @generated
+ * @ordered
+ */
+ protected static final ContainerLayout CHILDREN_PRESENTATION_EDEFAULT = ContainerLayout.FREE_FORM;
+
+ /**
+ * The cached value of the '{@link #getChildrenPresentation() <em>Children Presentation</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getChildrenPresentation()
+ * @generated
+ * @ordered
+ */
+ protected ContainerLayout childrenPresentation = ContainerMappingImpl.CHILDREN_PRESENTATION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ContainerMappingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.CONTAINER_MAPPING;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerDropDescription> getDropDescriptions() {
+ if (dropDescriptions == null) {
+ dropDescriptions = new EObjectResolvingEList<>(ContainerDropDescription.class, this, DescriptionPackage.CONTAINER_MAPPING__DROP_DESCRIPTIONS);
+ }
+ return dropDescriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<NodeMapping> getSubNodeMappings() {
+ if (subNodeMappings == null) {
+ subNodeMappings = new EObjectContainmentEList.Resolving<>(NodeMapping.class, this, DescriptionPackage.CONTAINER_MAPPING__SUB_NODE_MAPPINGS);
+ }
+ return subNodeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<NodeMapping> getReusedNodeMappings() {
+ if (reusedNodeMappings == null) {
+ reusedNodeMappings = new EObjectResolvingEList<>(NodeMapping.class, this, DescriptionPackage.CONTAINER_MAPPING__REUSED_NODE_MAPPINGS);
+ }
+ return reusedNodeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerMapping> getSubContainerMappings() {
+ if (subContainerMappings == null) {
+ subContainerMappings = new EObjectContainmentEList.Resolving<>(ContainerMapping.class, this, DescriptionPackage.CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS);
+ }
+ return subContainerMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerMapping> getReusedContainerMappings() {
+ if (reusedContainerMappings == null) {
+ reusedContainerMappings = new EObjectResolvingEList<>(ContainerMapping.class, this, DescriptionPackage.CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS);
+ }
+ return reusedContainerMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerStyleDescription getStyle() {
+ if (style != null && style.eIsProxy()) {
+ InternalEObject oldStyle = (InternalEObject) style;
+ style = (ContainerStyleDescription) eResolveProxy(oldStyle);
+ if (style != oldStyle) {
+ InternalEObject newStyle = (InternalEObject) style;
+ NotificationChain msgs = oldStyle.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONTAINER_MAPPING__STYLE, null, null);
+ if (newStyle.eInternalContainer() == null) {
+ msgs = newStyle.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONTAINER_MAPPING__STYLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.CONTAINER_MAPPING__STYLE, oldStyle, style));
+ }
+ }
+ }
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ContainerStyleDescription basicGetStyle() {
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyle(ContainerStyleDescription newStyle, NotificationChain msgs) {
+ ContainerStyleDescription oldStyle = style;
+ style = newStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONTAINER_MAPPING__STYLE, oldStyle, newStyle);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStyle(ContainerStyleDescription newStyle) {
+ if (newStyle != style) {
+ NotificationChain msgs = null;
+ if (style != null) {
+ msgs = ((InternalEObject) style).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONTAINER_MAPPING__STYLE, null, msgs);
+ }
+ if (newStyle != null) {
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.CONTAINER_MAPPING__STYLE, null, msgs);
+ }
+ msgs = basicSetStyle(newStyle, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONTAINER_MAPPING__STYLE, newStyle, newStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ConditionalContainerStyleDescription> getConditionnalStyles() {
+ if (conditionnalStyles == null) {
+ conditionnalStyles = new EObjectContainmentEList.Resolving<>(ConditionalContainerStyleDescription.class, this, DescriptionPackage.CONTAINER_MAPPING__CONDITIONNAL_STYLES);
+ }
+ return conditionnalStyles;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerLayout getChildrenPresentation() {
+ return childrenPresentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setChildrenPresentation(ContainerLayout newChildrenPresentation) {
+ ContainerLayout oldChildrenPresentation = childrenPresentation;
+ childrenPresentation = newChildrenPresentation == null ? ContainerMappingImpl.CHILDREN_PRESENTATION_EDEFAULT : newChildrenPresentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONTAINER_MAPPING__CHILDREN_PRESENTATION, oldChildrenPresentation, childrenPresentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_NODE_MAPPINGS:
+ return ((InternalEList<?>) getSubNodeMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS:
+ return ((InternalEList<?>) getSubContainerMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.CONTAINER_MAPPING__STYLE:
+ return basicSetStyle(null, msgs);
+ case DescriptionPackage.CONTAINER_MAPPING__CONDITIONNAL_STYLES:
+ return ((InternalEList<?>) getConditionnalStyles()).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 DescriptionPackage.CONTAINER_MAPPING__DROP_DESCRIPTIONS:
+ return getDropDescriptions();
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_NODE_MAPPINGS:
+ return getSubNodeMappings();
+ case DescriptionPackage.CONTAINER_MAPPING__REUSED_NODE_MAPPINGS:
+ return getReusedNodeMappings();
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS:
+ return getSubContainerMappings();
+ case DescriptionPackage.CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS:
+ return getReusedContainerMappings();
+ case DescriptionPackage.CONTAINER_MAPPING__STYLE:
+ if (resolve) {
+ return getStyle();
+ }
+ return basicGetStyle();
+ case DescriptionPackage.CONTAINER_MAPPING__CONDITIONNAL_STYLES:
+ return getConditionnalStyles();
+ case DescriptionPackage.CONTAINER_MAPPING__CHILDREN_PRESENTATION:
+ return getChildrenPresentation();
+ }
+ 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 DescriptionPackage.CONTAINER_MAPPING__DROP_DESCRIPTIONS:
+ getDropDescriptions().clear();
+ getDropDescriptions().addAll((Collection<? extends ContainerDropDescription>) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_NODE_MAPPINGS:
+ getSubNodeMappings().clear();
+ getSubNodeMappings().addAll((Collection<? extends NodeMapping>) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__REUSED_NODE_MAPPINGS:
+ getReusedNodeMappings().clear();
+ getReusedNodeMappings().addAll((Collection<? extends NodeMapping>) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS:
+ getSubContainerMappings().clear();
+ getSubContainerMappings().addAll((Collection<? extends ContainerMapping>) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS:
+ getReusedContainerMappings().clear();
+ getReusedContainerMappings().addAll((Collection<? extends ContainerMapping>) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__STYLE:
+ setStyle((ContainerStyleDescription) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__CONDITIONNAL_STYLES:
+ getConditionnalStyles().clear();
+ getConditionnalStyles().addAll((Collection<? extends ConditionalContainerStyleDescription>) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__CHILDREN_PRESENTATION:
+ setChildrenPresentation((ContainerLayout) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONTAINER_MAPPING__DROP_DESCRIPTIONS:
+ getDropDescriptions().clear();
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_NODE_MAPPINGS:
+ getSubNodeMappings().clear();
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__REUSED_NODE_MAPPINGS:
+ getReusedNodeMappings().clear();
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS:
+ getSubContainerMappings().clear();
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS:
+ getReusedContainerMappings().clear();
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__STYLE:
+ setStyle((ContainerStyleDescription) null);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__CONDITIONNAL_STYLES:
+ getConditionnalStyles().clear();
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING__CHILDREN_PRESENTATION:
+ setChildrenPresentation(ContainerMappingImpl.CHILDREN_PRESENTATION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONTAINER_MAPPING__DROP_DESCRIPTIONS:
+ return dropDescriptions != null && !dropDescriptions.isEmpty();
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_NODE_MAPPINGS:
+ return subNodeMappings != null && !subNodeMappings.isEmpty();
+ case DescriptionPackage.CONTAINER_MAPPING__REUSED_NODE_MAPPINGS:
+ return reusedNodeMappings != null && !reusedNodeMappings.isEmpty();
+ case DescriptionPackage.CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS:
+ return subContainerMappings != null && !subContainerMappings.isEmpty();
+ case DescriptionPackage.CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS:
+ return reusedContainerMappings != null && !reusedContainerMappings.isEmpty();
+ case DescriptionPackage.CONTAINER_MAPPING__STYLE:
+ return style != null;
+ case DescriptionPackage.CONTAINER_MAPPING__CONDITIONNAL_STYLES:
+ return conditionnalStyles != null && !conditionnalStyles.isEmpty();
+ case DescriptionPackage.CONTAINER_MAPPING__CHILDREN_PRESENTATION:
+ return childrenPresentation != ContainerMappingImpl.CHILDREN_PRESENTATION_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DragAndDropTargetDescription.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.CONTAINER_MAPPING__DROP_DESCRIPTIONS:
+ return DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DragAndDropTargetDescription.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS:
+ return DescriptionPackage.CONTAINER_MAPPING__DROP_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (childrenPresentation: "); //$NON-NLS-1$
+ result.append(childrenPresentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ContainerMappingImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ContainerMappingImportImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ContainerMappingImportImpl.java
new file mode 100644
index 0000000000..8e3766c9f8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/ContainerMappingImportImpl.java
@@ -0,0 +1,343 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.ContainerMappingImport;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.AbstractMappingImport;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Container Mapping Import</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImportImpl#isHideSubMappings <em>Hide Sub
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImportImpl#isInheritsAncestorFilters
+ * <em>Inherits Ancestor Filters</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.ContainerMappingImportImpl#getImportedMapping <em>Imported
+ * Mapping</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ContainerMappingImportImpl extends ContainerMappingImpl implements ContainerMappingImport {
+ /**
+ * The default value of the '{@link #isHideSubMappings() <em>Hide Sub Mappings</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isHideSubMappings()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean HIDE_SUB_MAPPINGS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isHideSubMappings() <em>Hide Sub Mappings</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isHideSubMappings()
+ * @generated
+ * @ordered
+ */
+ protected boolean hideSubMappings = ContainerMappingImportImpl.HIDE_SUB_MAPPINGS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isInheritsAncestorFilters() <em>Inherits Ancestor Filters</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isInheritsAncestorFilters()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INHERITS_ANCESTOR_FILTERS_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isInheritsAncestorFilters() <em>Inherits Ancestor Filters</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isInheritsAncestorFilters()
+ * @generated
+ * @ordered
+ */
+ protected boolean inheritsAncestorFilters = ContainerMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getImportedMapping() <em>Imported Mapping</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getImportedMapping()
+ * @generated
+ * @ordered
+ */
+ protected ContainerMapping importedMapping;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ContainerMappingImportImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.CONTAINER_MAPPING_IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isHideSubMappings() {
+ return hideSubMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHideSubMappings(boolean newHideSubMappings) {
+ boolean oldHideSubMappings = hideSubMappings;
+ hideSubMappings = newHideSubMappings;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONTAINER_MAPPING_IMPORT__HIDE_SUB_MAPPINGS, oldHideSubMappings, hideSubMappings));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isInheritsAncestorFilters() {
+ return inheritsAncestorFilters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInheritsAncestorFilters(boolean newInheritsAncestorFilters) {
+ boolean oldInheritsAncestorFilters = inheritsAncestorFilters;
+ inheritsAncestorFilters = newInheritsAncestorFilters;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONTAINER_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS, oldInheritsAncestorFilters, inheritsAncestorFilters));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerMapping getImportedMapping() {
+ if (importedMapping != null && importedMapping.eIsProxy()) {
+ InternalEObject oldImportedMapping = (InternalEObject) importedMapping;
+ importedMapping = (ContainerMapping) eResolveProxy(oldImportedMapping);
+ if (importedMapping != oldImportedMapping) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING, oldImportedMapping, importedMapping));
+ }
+ }
+ }
+ return importedMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ContainerMapping basicGetImportedMapping() {
+ return importedMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setImportedMapping(ContainerMapping newImportedMapping) {
+ ContainerMapping oldImportedMapping = importedMapping;
+ importedMapping = newImportedMapping;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING, oldImportedMapping, importedMapping));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ return isHideSubMappings();
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return isInheritsAncestorFilters();
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING:
+ if (resolve) {
+ return getImportedMapping();
+ }
+ return basicGetImportedMapping();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ setHideSubMappings((Boolean) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ setInheritsAncestorFilters((Boolean) newValue);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING:
+ setImportedMapping((ContainerMapping) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ setHideSubMappings(ContainerMappingImportImpl.HIDE_SUB_MAPPINGS_EDEFAULT);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ setInheritsAncestorFilters(ContainerMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT);
+ return;
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING:
+ setImportedMapping((ContainerMapping) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ return hideSubMappings != ContainerMappingImportImpl.HIDE_SUB_MAPPINGS_EDEFAULT;
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return inheritsAncestorFilters != ContainerMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT;
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING:
+ return importedMapping != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == AbstractMappingImport.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.ABSTRACT_MAPPING_IMPORT__HIDE_SUB_MAPPINGS;
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.ABSTRACT_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == AbstractMappingImport.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.ABSTRACT_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ return DescriptionPackage.CONTAINER_MAPPING_IMPORT__HIDE_SUB_MAPPINGS;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.ABSTRACT_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return DescriptionPackage.CONTAINER_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (hideSubMappings: "); //$NON-NLS-1$
+ result.append(hideSubMappings);
+ result.append(", inheritsAncestorFilters: "); //$NON-NLS-1$
+ result.append(inheritsAncestorFilters);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ContainerMappingImportImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/CustomLayoutConfigurationImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/CustomLayoutConfigurationImpl.java
new file mode 100644
index 0000000000..d98a4c6a68
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/CustomLayoutConfigurationImpl.java
@@ -0,0 +1,347 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.CustomLayoutConfiguration;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.LayoutOption;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Custom Layout Configuration</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.CustomLayoutConfigurationImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.CustomLayoutConfigurationImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.CustomLayoutConfigurationImpl#getDescription
+ * <em>Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.CustomLayoutConfigurationImpl#getLayoutOptions <em>Layout
+ * Options</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CustomLayoutConfigurationImpl extends DocumentedElementImpl implements CustomLayoutConfiguration {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = CustomLayoutConfigurationImpl.ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = CustomLayoutConfigurationImpl.LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = CustomLayoutConfigurationImpl.DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLayoutOptions() <em>Layout Options</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLayoutOptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<LayoutOption> layoutOptions;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CustomLayoutConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.CUSTOM_LAYOUT_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__ID, oldId, id));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__DESCRIPTION, oldDescription, description));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<LayoutOption> getLayoutOptions() {
+ if (layoutOptions == null) {
+ layoutOptions = new EObjectContainmentEList.Resolving<>(LayoutOption.class, this, DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS);
+ }
+ return layoutOptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS:
+ return ((InternalEList<?>) getLayoutOptions()).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 DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__ID:
+ return getId();
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LABEL:
+ return getLabel();
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__DESCRIPTION:
+ return getDescription();
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS:
+ return getLayoutOptions();
+ }
+ 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 DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__ID:
+ setId((String) newValue);
+ return;
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LABEL:
+ setLabel((String) newValue);
+ return;
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__DESCRIPTION:
+ setDescription((String) newValue);
+ return;
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS:
+ getLayoutOptions().clear();
+ getLayoutOptions().addAll((Collection<? extends LayoutOption>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__ID:
+ setId(CustomLayoutConfigurationImpl.ID_EDEFAULT);
+ return;
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LABEL:
+ setLabel(CustomLayoutConfigurationImpl.LABEL_EDEFAULT);
+ return;
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__DESCRIPTION:
+ setDescription(CustomLayoutConfigurationImpl.DESCRIPTION_EDEFAULT);
+ return;
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS:
+ getLayoutOptions().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__ID:
+ return CustomLayoutConfigurationImpl.ID_EDEFAULT == null ? id != null : !CustomLayoutConfigurationImpl.ID_EDEFAULT.equals(id);
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LABEL:
+ return CustomLayoutConfigurationImpl.LABEL_EDEFAULT == null ? label != null : !CustomLayoutConfigurationImpl.LABEL_EDEFAULT.equals(label);
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__DESCRIPTION:
+ return CustomLayoutConfigurationImpl.DESCRIPTION_EDEFAULT == null ? description != null : !CustomLayoutConfigurationImpl.DESCRIPTION_EDEFAULT.equals(description);
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS:
+ return layoutOptions != null && !layoutOptions.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(", description: "); //$NON-NLS-1$
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+} // CustomLayoutConfigurationImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DescriptionFactoryImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DescriptionFactoryImpl.java
new file mode 100644
index 0000000000..396a43c2cb
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DescriptionFactoryImpl.java
@@ -0,0 +1,596 @@
+/**
+ * Copyright (c) 2007, 2018 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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.sirius.diagram.description.AdditionalLayer;
+import org.eclipse.sirius.diagram.description.BooleanLayoutOption;
+import org.eclipse.sirius.diagram.description.CenteringStyle;
+import org.eclipse.sirius.diagram.description.CompositeLayout;
+import org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.ContainerMappingImport;
+import org.eclipse.sirius.diagram.description.CustomLayoutConfiguration;
+import org.eclipse.sirius.diagram.description.DescriptionFactory;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.DiagramExtensionDescription;
+import org.eclipse.sirius.diagram.description.DiagramImportDescription;
+import org.eclipse.sirius.diagram.description.DoubleLayoutOption;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.EnumLayoutOption;
+import org.eclipse.sirius.diagram.description.EnumLayoutValue;
+import org.eclipse.sirius.diagram.description.EnumSetLayoutOption;
+import org.eclipse.sirius.diagram.description.FoldingStyle;
+import org.eclipse.sirius.diagram.description.IntegerLayoutOption;
+import org.eclipse.sirius.diagram.description.Layer;
+import org.eclipse.sirius.diagram.description.LayoutDirection;
+import org.eclipse.sirius.diagram.description.LayoutOptionTarget;
+import org.eclipse.sirius.diagram.description.MappingBasedDecoration;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.NodeMappingImport;
+import org.eclipse.sirius.diagram.description.OrderedTreeLayout;
+import org.eclipse.sirius.diagram.description.StringLayoutOption;
+import org.eclipse.sirius.diagram.model.business.internal.description.spec.AdditionalLayerSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.spec.ContainerMappingImportSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.spec.ContainerMappingSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.spec.DiagramDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.spec.DiagramImportDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.spec.LayerSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.spec.NodeMappingImportSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.spec.NodeMappingSpec;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DescriptionFactoryImpl extends EFactoryImpl implements DescriptionFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static DescriptionFactory init() {
+ try {
+ DescriptionFactory theDescriptionFactory = (DescriptionFactory) EPackage.Registry.INSTANCE.getEFactory(DescriptionPackage.eNS_URI);
+ if (theDescriptionFactory != null) {
+ return theDescriptionFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DescriptionFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DescriptionFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION:
+ return createDiagramDescription();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION:
+ return createDiagramImportDescription();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION:
+ return createDiagramExtensionDescription();
+ case DescriptionPackage.NODE_MAPPING:
+ return createNodeMapping();
+ case DescriptionPackage.CONTAINER_MAPPING:
+ return createContainerMapping();
+ case DescriptionPackage.NODE_MAPPING_IMPORT:
+ return createNodeMappingImport();
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT:
+ return createContainerMappingImport();
+ case DescriptionPackage.EDGE_MAPPING:
+ return createEdgeMapping();
+ case DescriptionPackage.EDGE_MAPPING_IMPORT:
+ return createEdgeMappingImport();
+ case DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION:
+ return createConditionalNodeStyleDescription();
+ case DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION:
+ return createConditionalEdgeStyleDescription();
+ case DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION:
+ return createConditionalContainerStyleDescription();
+ case DescriptionPackage.ORDERED_TREE_LAYOUT:
+ return createOrderedTreeLayout();
+ case DescriptionPackage.COMPOSITE_LAYOUT:
+ return createCompositeLayout();
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION:
+ return createCustomLayoutConfiguration();
+ case DescriptionPackage.BOOLEAN_LAYOUT_OPTION:
+ return createBooleanLayoutOption();
+ case DescriptionPackage.STRING_LAYOUT_OPTION:
+ return createStringLayoutOption();
+ case DescriptionPackage.INTEGER_LAYOUT_OPTION:
+ return createIntegerLayoutOption();
+ case DescriptionPackage.DOUBLE_LAYOUT_OPTION:
+ return createDoubleLayoutOption();
+ case DescriptionPackage.ENUM_LAYOUT_OPTION:
+ return createEnumLayoutOption();
+ case DescriptionPackage.ENUM_SET_LAYOUT_OPTION:
+ return createEnumSetLayoutOption();
+ case DescriptionPackage.ENUM_LAYOUT_VALUE:
+ return createEnumLayoutValue();
+ case DescriptionPackage.MAPPING_BASED_DECORATION:
+ return createMappingBasedDecoration();
+ case DescriptionPackage.LAYER:
+ return createLayer();
+ case DescriptionPackage.ADDITIONAL_LAYER:
+ return createAdditionalLayer();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case DescriptionPackage.FOLDING_STYLE:
+ return createFoldingStyleFromString(eDataType, initialValue);
+ case DescriptionPackage.LAYOUT_DIRECTION:
+ return createLayoutDirectionFromString(eDataType, initialValue);
+ case DescriptionPackage.CENTERING_STYLE:
+ return createCenteringStyleFromString(eDataType, initialValue);
+ case DescriptionPackage.LAYOUT_OPTION_TARGET:
+ return createLayoutOptionTargetFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case DescriptionPackage.FOLDING_STYLE:
+ return convertFoldingStyleToString(eDataType, instanceValue);
+ case DescriptionPackage.LAYOUT_DIRECTION:
+ return convertLayoutDirectionToString(eDataType, instanceValue);
+ case DescriptionPackage.CENTERING_STYLE:
+ return convertCenteringStyleToString(eDataType, instanceValue);
+ case DescriptionPackage.LAYOUT_OPTION_TARGET:
+ return convertLayoutOptionTargetToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public DiagramDescription createDiagramDescription() {
+ DiagramDescriptionImpl diagramDescription = new DiagramDescriptionSpec();
+ return diagramDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public DiagramImportDescription createDiagramImportDescription() {
+ DiagramImportDescription diagramImportDescription = new DiagramImportDescriptionSpec();
+ return diagramImportDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DiagramExtensionDescription createDiagramExtensionDescription() {
+ DiagramExtensionDescriptionImpl diagramExtensionDescription = new DiagramExtensionDescriptionImpl();
+ return diagramExtensionDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public NodeMapping createNodeMapping() {
+ NodeMappingImpl nodeMapping = new NodeMappingSpec();
+ return nodeMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public ContainerMapping createContainerMapping() {
+ ContainerMappingImpl containerMapping = new ContainerMappingSpec();
+ return containerMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public NodeMappingImport createNodeMappingImport() {
+ NodeMappingImport nodeMappingImport = new NodeMappingImportSpec();
+ return nodeMappingImport;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public ContainerMappingImport createContainerMappingImport() {
+ ContainerMappingImport containerMappingImport = new ContainerMappingImportSpec();
+ return containerMappingImport;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public EdgeMapping createEdgeMapping() {
+ EdgeMappingImpl edgeMapping = new EdgeMappingImpl();
+ edgeMapping.setUseDomainElement(false);
+ return edgeMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public EdgeMapping createEdgeMappingUsingDomainElement() {
+ EdgeMappingImpl edgeMapping = new EdgeMappingImpl();
+ edgeMapping.setUseDomainElement(true);
+ return edgeMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EdgeMappingImport createEdgeMappingImport() {
+ EdgeMappingImportImpl edgeMappingImport = new EdgeMappingImportImpl();
+ return edgeMappingImport;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConditionalNodeStyleDescription createConditionalNodeStyleDescription() {
+ ConditionalNodeStyleDescriptionImpl conditionalNodeStyleDescription = new ConditionalNodeStyleDescriptionImpl();
+ return conditionalNodeStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConditionalEdgeStyleDescription createConditionalEdgeStyleDescription() {
+ ConditionalEdgeStyleDescriptionImpl conditionalEdgeStyleDescription = new ConditionalEdgeStyleDescriptionImpl();
+ return conditionalEdgeStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConditionalContainerStyleDescription createConditionalContainerStyleDescription() {
+ ConditionalContainerStyleDescriptionImpl conditionalContainerStyleDescription = new ConditionalContainerStyleDescriptionImpl();
+ return conditionalContainerStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public OrderedTreeLayout createOrderedTreeLayout() {
+ OrderedTreeLayoutImpl orderedTreeLayout = new OrderedTreeLayoutImpl();
+ return orderedTreeLayout;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CompositeLayout createCompositeLayout() {
+ CompositeLayoutImpl compositeLayout = new CompositeLayoutImpl();
+ return compositeLayout;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CustomLayoutConfiguration createCustomLayoutConfiguration() {
+ CustomLayoutConfigurationImpl customLayoutConfiguration = new CustomLayoutConfigurationImpl();
+ return customLayoutConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public BooleanLayoutOption createBooleanLayoutOption() {
+ BooleanLayoutOptionImpl booleanLayoutOption = new BooleanLayoutOptionImpl();
+ return booleanLayoutOption;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public StringLayoutOption createStringLayoutOption() {
+ StringLayoutOptionImpl stringLayoutOption = new StringLayoutOptionImpl();
+ return stringLayoutOption;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public IntegerLayoutOption createIntegerLayoutOption() {
+ IntegerLayoutOptionImpl integerLayoutOption = new IntegerLayoutOptionImpl();
+ return integerLayoutOption;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DoubleLayoutOption createDoubleLayoutOption() {
+ DoubleLayoutOptionImpl doubleLayoutOption = new DoubleLayoutOptionImpl();
+ return doubleLayoutOption;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EnumLayoutOption createEnumLayoutOption() {
+ EnumLayoutOptionImpl enumLayoutOption = new EnumLayoutOptionImpl();
+ return enumLayoutOption;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EnumSetLayoutOption createEnumSetLayoutOption() {
+ EnumSetLayoutOptionImpl enumSetLayoutOption = new EnumSetLayoutOptionImpl();
+ return enumSetLayoutOption;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EnumLayoutValue createEnumLayoutValue() {
+ EnumLayoutValueImpl enumLayoutValue = new EnumLayoutValueImpl();
+ return enumLayoutValue;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public MappingBasedDecoration createMappingBasedDecoration() {
+ MappingBasedDecorationImpl mappingBasedDecoration = new MappingBasedDecorationImpl();
+ return mappingBasedDecoration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public Layer createLayer() {
+ LayerImpl layer = new LayerSpec();
+ return layer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public AdditionalLayer createAdditionalLayer() {
+ AdditionalLayerImpl additionalLayer = new AdditionalLayerSpec();
+ return additionalLayer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FoldingStyle createFoldingStyleFromString(EDataType eDataType, String initialValue) {
+ FoldingStyle result = FoldingStyle.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertFoldingStyleToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LayoutDirection createLayoutDirectionFromString(EDataType eDataType, String initialValue) {
+ LayoutDirection result = LayoutDirection.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertLayoutDirectionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CenteringStyle createCenteringStyleFromString(EDataType eDataType, String initialValue) {
+ CenteringStyle result = CenteringStyle.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertCenteringStyleToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LayoutOptionTarget createLayoutOptionTargetFromString(EDataType eDataType, String initialValue) {
+ LayoutOptionTarget result = LayoutOptionTarget.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertLayoutOptionTargetToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DescriptionPackage getDescriptionPackage() {
+ return (DescriptionPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DescriptionPackage getPackage() {
+ return DescriptionPackage.eINSTANCE;
+ }
+
+} // DescriptionFactoryImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DescriptionPackageImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DescriptionPackageImpl.java
new file mode 100644
index 0000000000..0c436dd63a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DescriptionPackageImpl.java
@@ -0,0 +1,2578 @@
+/**
+ * Copyright (c) 2007, 2018 THALES GLOBAL SERVICES and others.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.sirius.diagram.DiagramPackage;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.AdditionalLayer;
+import org.eclipse.sirius.diagram.description.BooleanLayoutOption;
+import org.eclipse.sirius.diagram.description.CenteringStyle;
+import org.eclipse.sirius.diagram.description.CompositeLayout;
+import org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.ContainerMappingImport;
+import org.eclipse.sirius.diagram.description.CustomLayoutConfiguration;
+import org.eclipse.sirius.diagram.description.DescriptionFactory;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.DiagramExtensionDescription;
+import org.eclipse.sirius.diagram.description.DiagramImportDescription;
+import org.eclipse.sirius.diagram.description.DoubleLayoutOption;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.EnumLayoutOption;
+import org.eclipse.sirius.diagram.description.EnumLayoutValue;
+import org.eclipse.sirius.diagram.description.EnumOption;
+import org.eclipse.sirius.diagram.description.EnumSetLayoutOption;
+import org.eclipse.sirius.diagram.description.FoldingStyle;
+import org.eclipse.sirius.diagram.description.IEdgeMapping;
+import org.eclipse.sirius.diagram.description.IntegerLayoutOption;
+import org.eclipse.sirius.diagram.description.Layer;
+import org.eclipse.sirius.diagram.description.Layout;
+import org.eclipse.sirius.diagram.description.LayoutDirection;
+import org.eclipse.sirius.diagram.description.LayoutOption;
+import org.eclipse.sirius.diagram.description.LayoutOptionTarget;
+import org.eclipse.sirius.diagram.description.MappingBasedDecoration;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.NodeMappingImport;
+import org.eclipse.sirius.diagram.description.OrderedTreeLayout;
+import org.eclipse.sirius.diagram.description.StringLayoutOption;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl;
+import org.eclipse.sirius.diagram.impl.DiagramPackageImpl;
+import org.eclipse.sirius.viewpoint.ViewpointPackage;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DescriptionPackageImpl extends EPackageImpl implements DescriptionPackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass diagramDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass diagramImportDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass diagramExtensionDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass diagramElementMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass abstractNodeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nodeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass containerMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nodeMappingImportEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass containerMappingImportEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass edgeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass iEdgeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass edgeMappingImportEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass conditionalNodeStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass conditionalEdgeStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass conditionalContainerStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass layoutEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass orderedTreeLayoutEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass compositeLayoutEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass customLayoutConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass layoutOptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass booleanLayoutOptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass stringLayoutOptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass integerLayoutOptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass doubleLayoutOptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass enumLayoutOptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass enumSetLayoutOptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass enumOptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass enumLayoutValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass mappingBasedDecorationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass layerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass additionalLayerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass dragAndDropTargetDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum foldingStyleEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum layoutDirectionEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum centeringStyleEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum layoutOptionTargetEEnum = 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.sirius.diagram.description.DescriptionPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DescriptionPackageImpl() {
+ super(DescriptionPackage.eNS_URI, DescriptionFactory.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 DescriptionPackage#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 DescriptionPackage init() {
+ if (DescriptionPackageImpl.isInited) {
+ return (DescriptionPackage) EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ Object registeredDescriptionPackage = EPackage.Registry.INSTANCE.get(DescriptionPackage.eNS_URI);
+ DescriptionPackageImpl theDescriptionPackage = registeredDescriptionPackage instanceof DescriptionPackageImpl ? (DescriptionPackageImpl) registeredDescriptionPackage
+ : new DescriptionPackageImpl();
+
+ DescriptionPackageImpl.isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ ViewpointPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DiagramPackage.eNS_URI);
+ DiagramPackageImpl theDiagramPackage = (DiagramPackageImpl) (registeredPackage instanceof DiagramPackageImpl ? registeredPackage : DiagramPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StylePackage.eNS_URI);
+ StylePackageImpl theStylePackage = (StylePackageImpl) (registeredPackage instanceof StylePackageImpl ? registeredPackage : StylePackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ToolPackage.eNS_URI);
+ ToolPackageImpl theToolPackage = (ToolPackageImpl) (registeredPackage instanceof ToolPackageImpl ? registeredPackage : ToolPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(FilterPackage.eNS_URI);
+ FilterPackageImpl theFilterPackage = (FilterPackageImpl) (registeredPackage instanceof FilterPackageImpl ? registeredPackage : FilterPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConcernPackage.eNS_URI);
+ ConcernPackageImpl theConcernPackage = (ConcernPackageImpl) (registeredPackage instanceof ConcernPackageImpl ? registeredPackage : ConcernPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theDescriptionPackage.createPackageContents();
+ theDiagramPackage.createPackageContents();
+ theStylePackage.createPackageContents();
+ theToolPackage.createPackageContents();
+ theFilterPackage.createPackageContents();
+ theConcernPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDescriptionPackage.initializePackageContents();
+ theDiagramPackage.initializePackageContents();
+ theStylePackage.initializePackageContents();
+ theToolPackage.initializePackageContents();
+ theFilterPackage.initializePackageContents();
+ theConcernPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theDescriptionPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DescriptionPackage.eNS_URI, theDescriptionPackage);
+ return theDescriptionPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDiagramDescription() {
+ return diagramDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_Filters() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_ValidationSet() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_Concerns() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramDescription_DomainClass() {
+ return (EAttribute) diagramDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramDescription_PreconditionExpression() {
+ return (EAttribute) diagramDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_DefaultConcern() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramDescription_RootExpression() {
+ return (EAttribute) diagramDescriptionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_Init() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_Layout() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_DiagramInitialisation() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_DefaultLayer() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_AdditionalLayers() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_NodeMappings() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_EdgeMappings() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_EdgeMappingImports() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_ContainerMappings() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_ReusedMappings() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_ToolSection() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_ReusedTools() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramDescription_EnablePopupBars() {
+ return (EAttribute) diagramDescriptionEClass.getEStructuralFeatures().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramDescription_BackgroundColor() {
+ return (EReference) diagramDescriptionEClass.getEStructuralFeatures().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDiagramImportDescription() {
+ return diagramImportDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramImportDescription_ImportedDiagram() {
+ return (EReference) diagramImportDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDiagramExtensionDescription() {
+ return diagramExtensionDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramExtensionDescription_Layers() {
+ return (EReference) diagramExtensionDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramExtensionDescription_ValidationSet() {
+ return (EReference) diagramExtensionDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramExtensionDescription_Concerns() {
+ return (EReference) diagramExtensionDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDiagramElementMapping() {
+ return diagramElementMappingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramElementMapping_PreconditionExpression() {
+ return (EAttribute) diagramElementMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramElementMapping_DeletionDescription() {
+ return (EReference) diagramElementMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramElementMapping_LabelDirectEdit() {
+ return (EReference) diagramElementMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramElementMapping_SemanticCandidatesExpression() {
+ return (EAttribute) diagramElementMappingEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramElementMapping_CreateElements() {
+ return (EAttribute) diagramElementMappingEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramElementMapping_SemanticElements() {
+ return (EAttribute) diagramElementMappingEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramElementMapping_DoubleClickDescription() {
+ return (EReference) diagramElementMappingEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDiagramElementMapping_SynchronizationLock() {
+ return (EAttribute) diagramElementMappingEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getAbstractNodeMapping() {
+ return abstractNodeMappingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getAbstractNodeMapping_DomainClass() {
+ return (EAttribute) abstractNodeMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getAbstractNodeMapping_BorderedNodeMappings() {
+ return (EReference) abstractNodeMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getAbstractNodeMapping_ReusedBorderedNodeMappings() {
+ return (EReference) abstractNodeMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getNodeMapping() {
+ return nodeMappingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNodeMapping_Style() {
+ return (EReference) nodeMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNodeMapping_ConditionnalStyles() {
+ return (EReference) nodeMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getContainerMapping() {
+ return containerMappingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerMapping_SubNodeMappings() {
+ return (EReference) containerMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerMapping_ReusedNodeMappings() {
+ return (EReference) containerMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerMapping_SubContainerMappings() {
+ return (EReference) containerMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerMapping_ReusedContainerMappings() {
+ return (EReference) containerMappingEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerMapping_Style() {
+ return (EReference) containerMappingEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerMapping_ConditionnalStyles() {
+ return (EReference) containerMappingEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getContainerMapping_ChildrenPresentation() {
+ return (EAttribute) containerMappingEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getNodeMappingImport() {
+ return nodeMappingImportEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNodeMappingImport_ImportedMapping() {
+ return (EReference) nodeMappingImportEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getContainerMappingImport() {
+ return containerMappingImportEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerMappingImport_ImportedMapping() {
+ return (EReference) containerMappingImportEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEdgeMapping() {
+ return edgeMappingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeMapping_SourceMapping() {
+ return (EReference) edgeMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeMapping_TargetMapping() {
+ return (EReference) edgeMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeMapping_TargetFinderExpression() {
+ return (EAttribute) edgeMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeMapping_SourceFinderExpression() {
+ return (EAttribute) edgeMappingEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeMapping_Style() {
+ return (EReference) edgeMappingEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeMapping_ConditionnalStyles() {
+ return (EReference) edgeMappingEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeMapping_TargetExpression() {
+ return (EAttribute) edgeMappingEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeMapping_DomainClass() {
+ return (EAttribute) edgeMappingEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeMapping_UseDomainElement() {
+ return (EAttribute) edgeMappingEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeMapping_Reconnections() {
+ return (EReference) edgeMappingEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeMapping_PathExpression() {
+ return (EAttribute) edgeMappingEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeMapping_PathNodeMapping() {
+ return (EReference) edgeMappingEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getIEdgeMapping() {
+ return iEdgeMappingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEdgeMappingImport() {
+ return edgeMappingImportEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeMappingImport_ImportedMapping() {
+ return (EReference) edgeMappingImportEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeMappingImport_ConditionnalStyles() {
+ return (EReference) edgeMappingImportEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeMappingImport_InheritsAncestorFilters() {
+ return (EAttribute) edgeMappingImportEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getConditionalNodeStyleDescription() {
+ return conditionalNodeStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getConditionalNodeStyleDescription_Style() {
+ return (EReference) conditionalNodeStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getConditionalEdgeStyleDescription() {
+ return conditionalEdgeStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getConditionalEdgeStyleDescription_Style() {
+ return (EReference) conditionalEdgeStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getConditionalContainerStyleDescription() {
+ return conditionalContainerStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getConditionalContainerStyleDescription_Style() {
+ return (EReference) conditionalContainerStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getLayout() {
+ return layoutEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getOrderedTreeLayout() {
+ return orderedTreeLayoutEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getOrderedTreeLayout_ChildrenExpression() {
+ return (EAttribute) orderedTreeLayoutEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getOrderedTreeLayout_NodeMapping() {
+ return (EReference) orderedTreeLayoutEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCompositeLayout() {
+ return compositeLayoutEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCompositeLayout_Padding() {
+ return (EAttribute) compositeLayoutEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCompositeLayout_Direction() {
+ return (EAttribute) compositeLayoutEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCustomLayoutConfiguration() {
+ return customLayoutConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCustomLayoutConfiguration_Id() {
+ return (EAttribute) customLayoutConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCustomLayoutConfiguration_Label() {
+ return (EAttribute) customLayoutConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCustomLayoutConfiguration_Description() {
+ return (EAttribute) customLayoutConfigurationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getCustomLayoutConfiguration_LayoutOptions() {
+ return (EReference) customLayoutConfigurationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getLayoutOption() {
+ return layoutOptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getLayoutOption_Id() {
+ return (EAttribute) layoutOptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getLayoutOption_Label() {
+ return (EAttribute) layoutOptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getLayoutOption_Description() {
+ return (EAttribute) layoutOptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getLayoutOption_Targets() {
+ return (EAttribute) layoutOptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getBooleanLayoutOption() {
+ return booleanLayoutOptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBooleanLayoutOption_Value() {
+ return (EAttribute) booleanLayoutOptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getStringLayoutOption() {
+ return stringLayoutOptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getStringLayoutOption_Value() {
+ return (EAttribute) stringLayoutOptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getIntegerLayoutOption() {
+ return integerLayoutOptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getIntegerLayoutOption_Value() {
+ return (EAttribute) integerLayoutOptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDoubleLayoutOption() {
+ return doubleLayoutOptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDoubleLayoutOption_Value() {
+ return (EAttribute) doubleLayoutOptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEnumLayoutOption() {
+ return enumLayoutOptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEnumLayoutOption_Value() {
+ return (EReference) enumLayoutOptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEnumSetLayoutOption() {
+ return enumSetLayoutOptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEnumSetLayoutOption_Values() {
+ return (EReference) enumSetLayoutOptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEnumOption() {
+ return enumOptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEnumOption_Choices() {
+ return (EReference) enumOptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEnumLayoutValue() {
+ return enumLayoutValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEnumLayoutValue_Name() {
+ return (EAttribute) enumLayoutValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEnumLayoutValue_Description() {
+ return (EAttribute) enumLayoutValueEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getMappingBasedDecoration() {
+ return mappingBasedDecorationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getMappingBasedDecoration_Mappings() {
+ return (EReference) mappingBasedDecorationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getLayer() {
+ return layerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_NodeMappings() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_EdgeMappings() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_EdgeMappingImports() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_ContainerMappings() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_ReusedMappings() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_AllTools() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_ToolSections() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_ReusedTools() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_DecorationDescriptionsSet() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getLayer_Icon() {
+ return (EAttribute) layerEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLayer_Customization() {
+ return (EReference) layerEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getAdditionalLayer() {
+ return additionalLayerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getAdditionalLayer_ActiveByDefault() {
+ return (EAttribute) additionalLayerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getAdditionalLayer_Optional() {
+ return (EAttribute) additionalLayerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDragAndDropTargetDescription() {
+ return dragAndDropTargetDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDragAndDropTargetDescription_DropDescriptions() {
+ return (EReference) dragAndDropTargetDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getFoldingStyle() {
+ return foldingStyleEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getLayoutDirection() {
+ return layoutDirectionEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getCenteringStyle() {
+ return centeringStyleEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getLayoutOptionTarget() {
+ return layoutOptionTargetEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DescriptionFactory getDescriptionFactory() {
+ return (DescriptionFactory) 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
+ diagramDescriptionEClass = createEClass(DescriptionPackage.DIAGRAM_DESCRIPTION);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS);
+ createEAttribute(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__DOMAIN_CLASS);
+ createEAttribute(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN);
+ createEAttribute(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__ROOT_EXPRESSION);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__INIT);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_MAPPINGS);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_TOOLS);
+ createEAttribute(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS);
+ createEReference(diagramDescriptionEClass, DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR);
+
+ diagramImportDescriptionEClass = createEClass(DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION);
+ createEReference(diagramImportDescriptionEClass, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM);
+
+ diagramExtensionDescriptionEClass = createEClass(DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION);
+ createEReference(diagramExtensionDescriptionEClass, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__LAYERS);
+ createEReference(diagramExtensionDescriptionEClass, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET);
+ createEReference(diagramExtensionDescriptionEClass, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS);
+
+ diagramElementMappingEClass = createEClass(DescriptionPackage.DIAGRAM_ELEMENT_MAPPING);
+ createEAttribute(diagramElementMappingEClass, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION);
+ createEReference(diagramElementMappingEClass, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION);
+ createEReference(diagramElementMappingEClass, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT);
+ createEAttribute(diagramElementMappingEClass, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION);
+ createEAttribute(diagramElementMappingEClass, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS);
+ createEAttribute(diagramElementMappingEClass, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS);
+ createEReference(diagramElementMappingEClass, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION);
+ createEAttribute(diagramElementMappingEClass, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK);
+
+ abstractNodeMappingEClass = createEClass(DescriptionPackage.ABSTRACT_NODE_MAPPING);
+ createEAttribute(abstractNodeMappingEClass, DescriptionPackage.ABSTRACT_NODE_MAPPING__DOMAIN_CLASS);
+ createEReference(abstractNodeMappingEClass, DescriptionPackage.ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS);
+ createEReference(abstractNodeMappingEClass, DescriptionPackage.ABSTRACT_NODE_MAPPING__REUSED_BORDERED_NODE_MAPPINGS);
+
+ nodeMappingEClass = createEClass(DescriptionPackage.NODE_MAPPING);
+ createEReference(nodeMappingEClass, DescriptionPackage.NODE_MAPPING__STYLE);
+ createEReference(nodeMappingEClass, DescriptionPackage.NODE_MAPPING__CONDITIONNAL_STYLES);
+
+ containerMappingEClass = createEClass(DescriptionPackage.CONTAINER_MAPPING);
+ createEReference(containerMappingEClass, DescriptionPackage.CONTAINER_MAPPING__SUB_NODE_MAPPINGS);
+ createEReference(containerMappingEClass, DescriptionPackage.CONTAINER_MAPPING__REUSED_NODE_MAPPINGS);
+ createEReference(containerMappingEClass, DescriptionPackage.CONTAINER_MAPPING__SUB_CONTAINER_MAPPINGS);
+ createEReference(containerMappingEClass, DescriptionPackage.CONTAINER_MAPPING__REUSED_CONTAINER_MAPPINGS);
+ createEReference(containerMappingEClass, DescriptionPackage.CONTAINER_MAPPING__STYLE);
+ createEReference(containerMappingEClass, DescriptionPackage.CONTAINER_MAPPING__CONDITIONNAL_STYLES);
+ createEAttribute(containerMappingEClass, DescriptionPackage.CONTAINER_MAPPING__CHILDREN_PRESENTATION);
+
+ nodeMappingImportEClass = createEClass(DescriptionPackage.NODE_MAPPING_IMPORT);
+ createEReference(nodeMappingImportEClass, DescriptionPackage.NODE_MAPPING_IMPORT__IMPORTED_MAPPING);
+
+ containerMappingImportEClass = createEClass(DescriptionPackage.CONTAINER_MAPPING_IMPORT);
+ createEReference(containerMappingImportEClass, DescriptionPackage.CONTAINER_MAPPING_IMPORT__IMPORTED_MAPPING);
+
+ edgeMappingEClass = createEClass(DescriptionPackage.EDGE_MAPPING);
+ createEReference(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__SOURCE_MAPPING);
+ createEReference(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__TARGET_MAPPING);
+ createEAttribute(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__TARGET_FINDER_EXPRESSION);
+ createEAttribute(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__SOURCE_FINDER_EXPRESSION);
+ createEReference(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__STYLE);
+ createEReference(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__CONDITIONNAL_STYLES);
+ createEAttribute(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__TARGET_EXPRESSION);
+ createEAttribute(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__DOMAIN_CLASS);
+ createEAttribute(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__USE_DOMAIN_ELEMENT);
+ createEReference(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__RECONNECTIONS);
+ createEAttribute(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__PATH_EXPRESSION);
+ createEReference(edgeMappingEClass, DescriptionPackage.EDGE_MAPPING__PATH_NODE_MAPPING);
+
+ iEdgeMappingEClass = createEClass(DescriptionPackage.IEDGE_MAPPING);
+
+ edgeMappingImportEClass = createEClass(DescriptionPackage.EDGE_MAPPING_IMPORT);
+ createEReference(edgeMappingImportEClass, DescriptionPackage.EDGE_MAPPING_IMPORT__IMPORTED_MAPPING);
+ createEReference(edgeMappingImportEClass, DescriptionPackage.EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES);
+ createEAttribute(edgeMappingImportEClass, DescriptionPackage.EDGE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS);
+
+ conditionalNodeStyleDescriptionEClass = createEClass(DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION);
+ createEReference(conditionalNodeStyleDescriptionEClass, DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION__STYLE);
+
+ conditionalEdgeStyleDescriptionEClass = createEClass(DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION);
+ createEReference(conditionalEdgeStyleDescriptionEClass, DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION__STYLE);
+
+ conditionalContainerStyleDescriptionEClass = createEClass(DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION);
+ createEReference(conditionalContainerStyleDescriptionEClass, DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION__STYLE);
+
+ layoutEClass = createEClass(DescriptionPackage.LAYOUT);
+
+ orderedTreeLayoutEClass = createEClass(DescriptionPackage.ORDERED_TREE_LAYOUT);
+ createEAttribute(orderedTreeLayoutEClass, DescriptionPackage.ORDERED_TREE_LAYOUT__CHILDREN_EXPRESSION);
+ createEReference(orderedTreeLayoutEClass, DescriptionPackage.ORDERED_TREE_LAYOUT__NODE_MAPPING);
+
+ compositeLayoutEClass = createEClass(DescriptionPackage.COMPOSITE_LAYOUT);
+ createEAttribute(compositeLayoutEClass, DescriptionPackage.COMPOSITE_LAYOUT__PADDING);
+ createEAttribute(compositeLayoutEClass, DescriptionPackage.COMPOSITE_LAYOUT__DIRECTION);
+
+ customLayoutConfigurationEClass = createEClass(DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION);
+ createEAttribute(customLayoutConfigurationEClass, DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__ID);
+ createEAttribute(customLayoutConfigurationEClass, DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LABEL);
+ createEAttribute(customLayoutConfigurationEClass, DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__DESCRIPTION);
+ createEReference(customLayoutConfigurationEClass, DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION__LAYOUT_OPTIONS);
+
+ layoutOptionEClass = createEClass(DescriptionPackage.LAYOUT_OPTION);
+ createEAttribute(layoutOptionEClass, DescriptionPackage.LAYOUT_OPTION__ID);
+ createEAttribute(layoutOptionEClass, DescriptionPackage.LAYOUT_OPTION__LABEL);
+ createEAttribute(layoutOptionEClass, DescriptionPackage.LAYOUT_OPTION__DESCRIPTION);
+ createEAttribute(layoutOptionEClass, DescriptionPackage.LAYOUT_OPTION__TARGETS);
+
+ booleanLayoutOptionEClass = createEClass(DescriptionPackage.BOOLEAN_LAYOUT_OPTION);
+ createEAttribute(booleanLayoutOptionEClass, DescriptionPackage.BOOLEAN_LAYOUT_OPTION__VALUE);
+
+ stringLayoutOptionEClass = createEClass(DescriptionPackage.STRING_LAYOUT_OPTION);
+ createEAttribute(stringLayoutOptionEClass, DescriptionPackage.STRING_LAYOUT_OPTION__VALUE);
+
+ integerLayoutOptionEClass = createEClass(DescriptionPackage.INTEGER_LAYOUT_OPTION);
+ createEAttribute(integerLayoutOptionEClass, DescriptionPackage.INTEGER_LAYOUT_OPTION__VALUE);
+
+ doubleLayoutOptionEClass = createEClass(DescriptionPackage.DOUBLE_LAYOUT_OPTION);
+ createEAttribute(doubleLayoutOptionEClass, DescriptionPackage.DOUBLE_LAYOUT_OPTION__VALUE);
+
+ enumLayoutOptionEClass = createEClass(DescriptionPackage.ENUM_LAYOUT_OPTION);
+ createEReference(enumLayoutOptionEClass, DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE);
+
+ enumSetLayoutOptionEClass = createEClass(DescriptionPackage.ENUM_SET_LAYOUT_OPTION);
+ createEReference(enumSetLayoutOptionEClass, DescriptionPackage.ENUM_SET_LAYOUT_OPTION__VALUES);
+
+ enumOptionEClass = createEClass(DescriptionPackage.ENUM_OPTION);
+ createEReference(enumOptionEClass, DescriptionPackage.ENUM_OPTION__CHOICES);
+
+ enumLayoutValueEClass = createEClass(DescriptionPackage.ENUM_LAYOUT_VALUE);
+ createEAttribute(enumLayoutValueEClass, DescriptionPackage.ENUM_LAYOUT_VALUE__NAME);
+ createEAttribute(enumLayoutValueEClass, DescriptionPackage.ENUM_LAYOUT_VALUE__DESCRIPTION);
+
+ mappingBasedDecorationEClass = createEClass(DescriptionPackage.MAPPING_BASED_DECORATION);
+ createEReference(mappingBasedDecorationEClass, DescriptionPackage.MAPPING_BASED_DECORATION__MAPPINGS);
+
+ layerEClass = createEClass(DescriptionPackage.LAYER);
+ createEReference(layerEClass, DescriptionPackage.LAYER__NODE_MAPPINGS);
+ createEReference(layerEClass, DescriptionPackage.LAYER__EDGE_MAPPINGS);
+ createEReference(layerEClass, DescriptionPackage.LAYER__EDGE_MAPPING_IMPORTS);
+ createEReference(layerEClass, DescriptionPackage.LAYER__CONTAINER_MAPPINGS);
+ createEReference(layerEClass, DescriptionPackage.LAYER__REUSED_MAPPINGS);
+ createEReference(layerEClass, DescriptionPackage.LAYER__ALL_TOOLS);
+ createEReference(layerEClass, DescriptionPackage.LAYER__TOOL_SECTIONS);
+ createEReference(layerEClass, DescriptionPackage.LAYER__REUSED_TOOLS);
+ createEReference(layerEClass, DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET);
+ createEAttribute(layerEClass, DescriptionPackage.LAYER__ICON);
+ createEReference(layerEClass, DescriptionPackage.LAYER__CUSTOMIZATION);
+
+ additionalLayerEClass = createEClass(DescriptionPackage.ADDITIONAL_LAYER);
+ createEAttribute(additionalLayerEClass, DescriptionPackage.ADDITIONAL_LAYER__ACTIVE_BY_DEFAULT);
+ createEAttribute(additionalLayerEClass, DescriptionPackage.ADDITIONAL_LAYER__OPTIONAL);
+
+ dragAndDropTargetDescriptionEClass = createEClass(DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION);
+ createEReference(dragAndDropTargetDescriptionEClass, DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS);
+
+ // Create enums
+ foldingStyleEEnum = createEEnum(DescriptionPackage.FOLDING_STYLE);
+ layoutDirectionEEnum = createEEnum(DescriptionPackage.LAYOUT_DIRECTION);
+ centeringStyleEEnum = createEEnum(DescriptionPackage.CENTERING_STYLE);
+ layoutOptionTargetEEnum = createEEnum(DescriptionPackage.LAYOUT_OPTION_TARGET);
+ }
+
+ /**
+ * <!-- 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(DescriptionPackage.eNAME);
+ setNsPrefix(DescriptionPackage.eNS_PREFIX);
+ setNsURI(DescriptionPackage.eNS_URI);
+
+ // Obtain other dependent packages
+ StylePackage theStylePackage = (StylePackage) EPackage.Registry.INSTANCE.getEPackage(StylePackage.eNS_URI);
+ ToolPackage theToolPackage = (ToolPackage) EPackage.Registry.INSTANCE.getEPackage(ToolPackage.eNS_URI);
+ FilterPackage theFilterPackage = (FilterPackage) EPackage.Registry.INSTANCE.getEPackage(FilterPackage.eNS_URI);
+ ConcernPackage theConcernPackage = (ConcernPackage) EPackage.Registry.INSTANCE.getEPackage(ConcernPackage.eNS_URI);
+ org.eclipse.sirius.viewpoint.description.DescriptionPackage theDescriptionPackage_1 = (org.eclipse.sirius.viewpoint.description.DescriptionPackage) EPackage.Registry.INSTANCE
+ .getEPackage(org.eclipse.sirius.viewpoint.description.DescriptionPackage.eNS_URI);
+ ValidationPackage theValidationPackage = (ValidationPackage) EPackage.Registry.INSTANCE.getEPackage(ValidationPackage.eNS_URI);
+ org.eclipse.sirius.viewpoint.description.tool.ToolPackage theToolPackage_1 = (org.eclipse.sirius.viewpoint.description.tool.ToolPackage) EPackage.Registry.INSTANCE
+ .getEPackage(org.eclipse.sirius.viewpoint.description.tool.ToolPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ DiagramPackage theDiagramPackage = (DiagramPackage) EPackage.Registry.INSTANCE.getEPackage(DiagramPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theStylePackage);
+ getESubpackages().add(theToolPackage);
+ getESubpackages().add(theFilterPackage);
+ getESubpackages().add(theConcernPackage);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ diagramDescriptionEClass.getESuperTypes().add(this.getDragAndDropTargetDescription());
+ diagramDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getRepresentationDescription());
+ diagramDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getPasteTargetDescription());
+ diagramImportDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getRepresentationImportDescription());
+ diagramImportDescriptionEClass.getESuperTypes().add(this.getDiagramDescription());
+ diagramExtensionDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getRepresentationExtensionDescription());
+ diagramElementMappingEClass.getESuperTypes().add(theDescriptionPackage_1.getRepresentationElementMapping());
+ diagramElementMappingEClass.getESuperTypes().add(theDescriptionPackage_1.getPasteTargetDescription());
+ abstractNodeMappingEClass.getESuperTypes().add(this.getDiagramElementMapping());
+ abstractNodeMappingEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ nodeMappingEClass.getESuperTypes().add(this.getAbstractNodeMapping());
+ nodeMappingEClass.getESuperTypes().add(this.getDragAndDropTargetDescription());
+ containerMappingEClass.getESuperTypes().add(this.getAbstractNodeMapping());
+ containerMappingEClass.getESuperTypes().add(this.getDragAndDropTargetDescription());
+ nodeMappingImportEClass.getESuperTypes().add(this.getNodeMapping());
+ nodeMappingImportEClass.getESuperTypes().add(theDescriptionPackage_1.getAbstractMappingImport());
+ containerMappingImportEClass.getESuperTypes().add(this.getContainerMapping());
+ containerMappingImportEClass.getESuperTypes().add(theDescriptionPackage_1.getAbstractMappingImport());
+ edgeMappingEClass.getESuperTypes().add(this.getDiagramElementMapping());
+ edgeMappingEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ edgeMappingEClass.getESuperTypes().add(this.getIEdgeMapping());
+ edgeMappingImportEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ edgeMappingImportEClass.getESuperTypes().add(this.getIEdgeMapping());
+ edgeMappingImportEClass.getESuperTypes().add(theDescriptionPackage_1.getIdentifiedElement());
+ conditionalNodeStyleDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getConditionalStyleDescription());
+ conditionalEdgeStyleDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getConditionalStyleDescription());
+ conditionalContainerStyleDescriptionEClass.getESuperTypes().add(theDescriptionPackage_1.getConditionalStyleDescription());
+ layoutEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ orderedTreeLayoutEClass.getESuperTypes().add(this.getLayout());
+ compositeLayoutEClass.getESuperTypes().add(this.getLayout());
+ customLayoutConfigurationEClass.getESuperTypes().add(this.getLayout());
+ booleanLayoutOptionEClass.getESuperTypes().add(this.getLayoutOption());
+ stringLayoutOptionEClass.getESuperTypes().add(this.getLayoutOption());
+ integerLayoutOptionEClass.getESuperTypes().add(this.getLayoutOption());
+ doubleLayoutOptionEClass.getESuperTypes().add(this.getLayoutOption());
+ enumLayoutOptionEClass.getESuperTypes().add(this.getEnumOption());
+ enumSetLayoutOptionEClass.getESuperTypes().add(this.getEnumOption());
+ enumOptionEClass.getESuperTypes().add(this.getLayoutOption());
+ mappingBasedDecorationEClass.getESuperTypes().add(theDescriptionPackage_1.getDecorationDescription());
+ layerEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ layerEClass.getESuperTypes().add(theDescriptionPackage_1.getEndUserDocumentedElement());
+ layerEClass.getESuperTypes().add(theDescriptionPackage_1.getIdentifiedElement());
+ additionalLayerEClass.getESuperTypes().add(this.getLayer());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(diagramDescriptionEClass, DiagramDescription.class, "DiagramDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getDiagramDescription_Filters(), theFilterPackage.getFilterDescription(), null, "filters", null, 0, -1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getDiagramDescription_Filters().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getDiagramDescription_ValidationSet(), theValidationPackage.getValidationSet(), null, "validationSet", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_Concerns(), theConcernPackage.getConcernSet(), null, "concerns", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDiagramDescription_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", null, 1, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDiagramDescription_PreconditionExpression(), theDescriptionPackage_1.getInterpretedExpression(), "preconditionExpression", null, 0, 1, DiagramDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_DefaultConcern(), theConcernPackage.getConcernDescription(), null, "defaultConcern", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDiagramDescription_RootExpression(), theDescriptionPackage_1.getInterpretedExpression(), "rootExpression", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_Init(), theToolPackage_1.getRepresentationCreationDescription(), null, "init", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_Layout(), this.getLayout(), null, "layout", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_DiagramInitialisation(), theToolPackage_1.getInitialOperation(), null, "diagramInitialisation", null, 0, 1, DiagramDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_DefaultLayer(), this.getLayer(), null, "defaultLayer", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_AdditionalLayers(), this.getAdditionalLayer(), null, "additionalLayers", null, 0, -1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getDiagramDescription_AdditionalLayers().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getDiagramDescription_NodeMappings(), this.getNodeMapping(), null, "nodeMappings", null, 0, -1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ getDiagramDescription_NodeMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getDiagramDescription_EdgeMappings(), this.getEdgeMapping(), null, "edgeMappings", null, 0, -1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ getDiagramDescription_EdgeMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getDiagramDescription_EdgeMappingImports(), this.getEdgeMappingImport(), null, "edgeMappingImports", null, 0, -1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getDiagramDescription_EdgeMappingImports().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getDiagramDescription_ContainerMappings(), this.getContainerMapping(), null, "containerMappings", null, 0, -1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getDiagramDescription_ContainerMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getDiagramDescription_ReusedMappings(), this.getDiagramElementMapping(), null, "reusedMappings", null, 0, -1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_ToolSection(), theToolPackage.getToolSection(), null, "toolSection", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getDiagramDescription_ToolSection().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getDiagramDescription_ReusedTools(), theToolPackage_1.getAbstractToolDescription(), null, "reusedTools", null, 0, -1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDiagramDescription_EnablePopupBars(), theEcorePackage.getEBoolean(), "enablePopupBars", null, 0, 1, DiagramDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramDescription_BackgroundColor(), theDescriptionPackage_1.getColorDescription(), null, "backgroundColor", null, 0, 1, DiagramDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ addEOperation(diagramDescriptionEClass, theDiagramPackage.getDSemanticDiagram(), "createDiagram", 0, 1, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(diagramImportDescriptionEClass, DiagramImportDescription.class, "DiagramImportDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDiagramImportDescription_ImportedDiagram(), this.getDiagramDescription(), null, "importedDiagram", null, 0, 1, DiagramImportDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(diagramExtensionDescriptionEClass, DiagramExtensionDescription.class, "DiagramExtensionDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDiagramExtensionDescription_Layers(), this.getAdditionalLayer(), null, "layers", null, 0, -1, DiagramExtensionDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getDiagramExtensionDescription_Layers().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getDiagramExtensionDescription_ValidationSet(), theValidationPackage.getValidationSet(), null, "validationSet", null, 0, 1, DiagramExtensionDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramExtensionDescription_Concerns(), theConcernPackage.getConcernSet(), null, "concerns", null, 0, 1, DiagramExtensionDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(diagramElementMappingEClass, DiagramElementMapping.class, "DiagramElementMapping", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getDiagramElementMapping_PreconditionExpression(), theDescriptionPackage_1.getInterpretedExpression(), "preconditionExpression", "", 0, 1, DiagramElementMapping.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramElementMapping_DeletionDescription(), theToolPackage.getDeleteElementDescription(), null, "deletionDescription", null, 0, 1, DiagramElementMapping.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramElementMapping_LabelDirectEdit(), theToolPackage.getDirectEditLabel(), null, "labelDirectEdit", null, 0, 1, DiagramElementMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDiagramElementMapping_SemanticCandidatesExpression(), theDescriptionPackage_1.getInterpretedExpression(), "semanticCandidatesExpression", null, 0, 1, //$NON-NLS-1$
+ DiagramElementMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDiagramElementMapping_CreateElements(), theEcorePackage.getEBoolean(), "createElements", "true", 1, 1, DiagramElementMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDiagramElementMapping_SemanticElements(), theDescriptionPackage_1.getInterpretedExpression(), "semanticElements", null, 0, 1, DiagramElementMapping.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getDiagramElementMapping_DoubleClickDescription(), theToolPackage.getDoubleClickDescription(), theToolPackage.getDoubleClickDescription_Mappings(), "doubleClickDescription", //$NON-NLS-1$
+ null, 0, 1, DiagramElementMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES,
+ !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDiagramElementMapping_SynchronizationLock(), theEcorePackage.getEBoolean(), "synchronizationLock", "false", 0, 1, DiagramElementMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(abstractNodeMappingEClass, AbstractNodeMapping.class, "AbstractNodeMapping", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getAbstractNodeMapping_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", null, 1, 1, AbstractNodeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getAbstractNodeMapping_BorderedNodeMappings(), this.getNodeMapping(), null, "borderedNodeMappings", null, 0, -1, AbstractNodeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getAbstractNodeMapping_BorderedNodeMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getAbstractNodeMapping_ReusedBorderedNodeMappings(), this.getNodeMapping(), null, "reusedBorderedNodeMappings", null, 0, -1, AbstractNodeMapping.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(nodeMappingEClass, NodeMapping.class, "NodeMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getNodeMapping_Style(), theStylePackage.getNodeStyleDescription(), null, "style", null, 0, 1, NodeMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getNodeMapping_ConditionnalStyles(), this.getConditionalNodeStyleDescription(), null, "conditionnalStyles", null, 0, -1, NodeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(containerMappingEClass, ContainerMapping.class, "ContainerMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getContainerMapping_SubNodeMappings(), this.getNodeMapping(), null, "subNodeMappings", null, 0, -1, ContainerMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getContainerMapping_SubNodeMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getContainerMapping_ReusedNodeMappings(), this.getNodeMapping(), null, "reusedNodeMappings", null, 0, -1, ContainerMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerMapping_SubContainerMappings(), this.getContainerMapping(), null, "subContainerMappings", null, 0, -1, ContainerMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ getContainerMapping_SubContainerMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getContainerMapping_ReusedContainerMappings(), this.getContainerMapping(), null, "reusedContainerMappings", null, 0, -1, ContainerMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerMapping_Style(), theStylePackage.getContainerStyleDescription(), null, "style", null, 0, 1, ContainerMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerMapping_ConditionnalStyles(), this.getConditionalContainerStyleDescription(), null, "conditionnalStyles", null, 0, -1, ContainerMapping.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getContainerMapping_ChildrenPresentation(), theDiagramPackage.getContainerLayout(), "childrenPresentation", "FreeForm", 1, 1, ContainerMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(nodeMappingImportEClass, NodeMappingImport.class, "NodeMappingImport", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getNodeMappingImport_ImportedMapping(), this.getNodeMapping(), null, "importedMapping", null, 1, 1, NodeMappingImport.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(containerMappingImportEClass, ContainerMappingImport.class, "ContainerMappingImport", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getContainerMappingImport_ImportedMapping(), this.getContainerMapping(), null, "importedMapping", null, 1, 1, ContainerMappingImport.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(edgeMappingEClass, EdgeMapping.class, "EdgeMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getEdgeMapping_SourceMapping(), this.getDiagramElementMapping(), null, "sourceMapping", null, 1, -1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeMapping_TargetMapping(), this.getDiagramElementMapping(), null, "targetMapping", null, 1, -1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeMapping_TargetFinderExpression(), theDescriptionPackage_1.getInterpretedExpression(), "targetFinderExpression", "", 1, 1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeMapping_SourceFinderExpression(), theDescriptionPackage_1.getInterpretedExpression(), "sourceFinderExpression", null, 0, 1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeMapping_Style(), theStylePackage.getEdgeStyleDescription(), null, "style", null, 0, 1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeMapping_ConditionnalStyles(), this.getConditionalEdgeStyleDescription(), null, "conditionnalStyles", null, 0, -1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeMapping_TargetExpression(), theDescriptionPackage_1.getInterpretedExpression(), "targetExpression", null, 0, 1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeMapping_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", null, 0, 1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeMapping_UseDomainElement(), theEcorePackage.getEBoolean(), "useDomainElement", "false", 0, 1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeMapping_Reconnections(), theToolPackage.getReconnectEdgeDescription(), null, "reconnections", null, 0, -1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeMapping_PathExpression(), theDescriptionPackage_1.getInterpretedExpression(), "pathExpression", null, 0, 1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeMapping_PathNodeMapping(), this.getAbstractNodeMapping(), null, "pathNodeMapping", null, 0, -1, EdgeMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(iEdgeMappingEClass, IEdgeMapping.class, "IEdgeMapping", EPackageImpl.IS_ABSTRACT, EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(edgeMappingImportEClass, EdgeMappingImport.class, "EdgeMappingImport", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getEdgeMappingImport_ImportedMapping(), this.getIEdgeMapping(), null, "importedMapping", null, 1, 1, EdgeMappingImport.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeMappingImport_ConditionnalStyles(), this.getConditionalEdgeStyleDescription(), null, "conditionnalStyles", null, 0, -1, EdgeMappingImport.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeMappingImport_InheritsAncestorFilters(), theEcorePackage.getEBoolean(), "inheritsAncestorFilters", "true", 0, 1, EdgeMappingImport.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(conditionalNodeStyleDescriptionEClass, ConditionalNodeStyleDescription.class, "ConditionalNodeStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConditionalNodeStyleDescription_Style(), theStylePackage.getNodeStyleDescription(), null, "style", null, 0, 1, ConditionalNodeStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(conditionalEdgeStyleDescriptionEClass, ConditionalEdgeStyleDescription.class, "ConditionalEdgeStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConditionalEdgeStyleDescription_Style(), theStylePackage.getEdgeStyleDescription(), null, "style", null, 0, 1, ConditionalEdgeStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(conditionalContainerStyleDescriptionEClass, ConditionalContainerStyleDescription.class, "ConditionalContainerStyleDescription", !EPackageImpl.IS_ABSTRACT, //$NON-NLS-1$
+ !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConditionalContainerStyleDescription_Style(), theStylePackage.getContainerStyleDescription(), null, "style", null, 0, 1, ConditionalContainerStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(layoutEClass, Layout.class, "Layout", EPackageImpl.IS_ABSTRACT, EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(orderedTreeLayoutEClass, OrderedTreeLayout.class, "OrderedTreeLayout", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getOrderedTreeLayout_ChildrenExpression(), theDescriptionPackage_1.getInterpretedExpression(), "childrenExpression", null, 1, 1, OrderedTreeLayout.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getOrderedTreeLayout_NodeMapping(), this.getAbstractNodeMapping(), null, "nodeMapping", null, 1, -1, OrderedTreeLayout.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(compositeLayoutEClass, CompositeLayout.class, "CompositeLayout", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getCompositeLayout_Padding(), theEcorePackage.getEInt(), "padding", "30", 1, 1, CompositeLayout.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getCompositeLayout_Direction(), this.getLayoutDirection(), "direction", "topToBottom", 1, 1, CompositeLayout.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(customLayoutConfigurationEClass, CustomLayoutConfiguration.class, "CustomLayoutConfiguration", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCustomLayoutConfiguration_Id(), theEcorePackage.getEString(), "id", null, 0, 1, CustomLayoutConfiguration.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getCustomLayoutConfiguration_Label(), theEcorePackage.getEString(), "label", null, 0, 1, CustomLayoutConfiguration.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getCustomLayoutConfiguration_Description(), theEcorePackage.getEString(), "description", null, 0, 1, CustomLayoutConfiguration.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getCustomLayoutConfiguration_LayoutOptions(), this.getLayoutOption(), null, "layoutOptions", null, 0, -1, CustomLayoutConfiguration.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(layoutOptionEClass, LayoutOption.class, "LayoutOption", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getLayoutOption_Id(), ecorePackage.getEString(), "id", null, 0, 1, LayoutOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$
+ !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getLayoutOption_Label(), ecorePackage.getEString(), "label", null, 0, 1, LayoutOption.class, EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$
+ !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getLayoutOption_Description(), theEcorePackage.getEString(), "description", null, 0, 1, LayoutOption.class, EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getLayoutOption_Targets(), this.getLayoutOptionTarget(), "targets", null, 0, -1, LayoutOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(booleanLayoutOptionEClass, BooleanLayoutOption.class, "BooleanLayoutOption", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getBooleanLayoutOption_Value(), theEcorePackage.getEBoolean(), "value", null, 0, 1, BooleanLayoutOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(stringLayoutOptionEClass, StringLayoutOption.class, "StringLayoutOption", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getStringLayoutOption_Value(), theEcorePackage.getEString(), "value", null, 0, 1, StringLayoutOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(integerLayoutOptionEClass, IntegerLayoutOption.class, "IntegerLayoutOption", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getIntegerLayoutOption_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntegerLayoutOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(doubleLayoutOptionEClass, DoubleLayoutOption.class, "DoubleLayoutOption", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getDoubleLayoutOption_Value(), theEcorePackage.getEDouble(), "value", null, 0, 1, DoubleLayoutOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(enumLayoutOptionEClass, EnumLayoutOption.class, "EnumLayoutOption", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getEnumLayoutOption_Value(), this.getEnumLayoutValue(), null, "value", null, 0, 1, EnumLayoutOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(enumSetLayoutOptionEClass, EnumSetLayoutOption.class, "EnumSetLayoutOption", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getEnumSetLayoutOption_Values(), this.getEnumLayoutValue(), null, "values", null, 0, -1, EnumSetLayoutOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(enumOptionEClass, EnumOption.class, "EnumOption", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getEnumOption_Choices(), this.getEnumLayoutValue(), null, "choices", null, 0, -1, EnumOption.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(enumLayoutValueEClass, EnumLayoutValue.class, "EnumLayoutValue", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getEnumLayoutValue_Name(), ecorePackage.getEString(), "name", null, 0, 1, EnumLayoutValue.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEnumLayoutValue_Description(), theEcorePackage.getEString(), "description", null, 0, 1, EnumLayoutValue.class, EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(mappingBasedDecorationEClass, MappingBasedDecoration.class, "MappingBasedDecoration", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMappingBasedDecoration_Mappings(), this.getDiagramElementMapping(), null, "mappings", null, 1, -1, MappingBasedDecoration.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(layerEClass, Layer.class, "Layer", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getLayer_NodeMappings(), this.getNodeMapping(), null, "nodeMappings", null, 0, -1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ getLayer_NodeMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getLayer_EdgeMappings(), this.getEdgeMapping(), null, "edgeMappings", null, 0, -1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ getLayer_EdgeMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getLayer_EdgeMappingImports(), this.getEdgeMappingImport(), null, "edgeMappingImports", null, 0, -1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ getLayer_EdgeMappingImports().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getLayer_ContainerMappings(), this.getContainerMapping(), null, "containerMappings", null, 0, -1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ getLayer_ContainerMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getLayer_ReusedMappings(), this.getDiagramElementMapping(), null, "reusedMappings", null, 0, -1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getLayer_AllTools(), theToolPackage_1.getAbstractToolDescription(), null, "allTools", null, 0, -1, Layer.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getLayer_ToolSections(), theToolPackage.getToolSection(), null, "toolSections", null, 0, -1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getLayer_ReusedTools(), theToolPackage_1.getAbstractToolDescription(), null, "reusedTools", null, 0, -1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getLayer_DecorationDescriptionsSet(), theDescriptionPackage_1.getDecorationDescriptionsSet(), null, "decorationDescriptionsSet", null, 0, 1, Layer.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getLayer_Icon(), theDescriptionPackage_1.getImagePath(), "icon", null, 0, 1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$
+ !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getLayer_Customization(), theDescriptionPackage_1.getCustomization(), null, "customization", null, 0, 1, Layer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(additionalLayerEClass, AdditionalLayer.class, "AdditionalLayer", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getAdditionalLayer_ActiveByDefault(), theEcorePackage.getEBoolean(), "activeByDefault", null, 0, 1, AdditionalLayer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getAdditionalLayer_Optional(), theEcorePackage.getEBoolean(), "optional", "true", 0, 1, AdditionalLayer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(dragAndDropTargetDescriptionEClass, DragAndDropTargetDescription.class, "DragAndDropTargetDescription", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDragAndDropTargetDescription_DropDescriptions(), theToolPackage.getContainerDropDescription(), null, "dropDescriptions", null, 0, -1, DragAndDropTargetDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(foldingStyleEEnum, FoldingStyle.class, "FoldingStyle"); //$NON-NLS-1$
+ addEEnumLiteral(foldingStyleEEnum, FoldingStyle.NONE_LITERAL);
+ addEEnumLiteral(foldingStyleEEnum, FoldingStyle.SOURCE_LITERAL);
+ addEEnumLiteral(foldingStyleEEnum, FoldingStyle.TARGET_LITERAL);
+
+ initEEnum(layoutDirectionEEnum, LayoutDirection.class, "LayoutDirection"); //$NON-NLS-1$
+ addEEnumLiteral(layoutDirectionEEnum, LayoutDirection.TOP_TO_BOTTOM);
+ addEEnumLiteral(layoutDirectionEEnum, LayoutDirection.LEFT_TO_RIGHT);
+ addEEnumLiteral(layoutDirectionEEnum, LayoutDirection.BOTTOM_TO_TOP);
+
+ initEEnum(centeringStyleEEnum, CenteringStyle.class, "CenteringStyle"); //$NON-NLS-1$
+ addEEnumLiteral(centeringStyleEEnum, CenteringStyle.NONE);
+ addEEnumLiteral(centeringStyleEEnum, CenteringStyle.BOTH);
+ addEEnumLiteral(centeringStyleEEnum, CenteringStyle.SOURCE);
+ addEEnumLiteral(centeringStyleEEnum, CenteringStyle.TARGET);
+
+ initEEnum(layoutOptionTargetEEnum, LayoutOptionTarget.class, "LayoutOptionTarget"); //$NON-NLS-1$
+ addEEnumLiteral(layoutOptionTargetEEnum, LayoutOptionTarget.PARENT);
+ addEEnumLiteral(layoutOptionTargetEEnum, LayoutOptionTarget.NODE);
+ addEEnumLiteral(layoutOptionTargetEEnum, LayoutOptionTarget.EDGE);
+ addEEnumLiteral(layoutOptionTargetEEnum, LayoutOptionTarget.PORTS);
+ addEEnumLiteral(layoutOptionTargetEEnum, LayoutOptionTarget.LABEL);
+
+ // Create annotations
+ // http://www.eclipse.org/sirius/interpreted/expression/returnType
+ createReturnTypeAnnotations();
+ // http://www.eclipse.org/sirius/interpreted/expression/variables
+ createVariablesAnnotations();
+ // TagValues
+ createTagValuesAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/sirius/interpreted/expression/returnType</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createReturnTypeAnnotations() {
+ String source = "http://www.eclipse.org/sirius/interpreted/expression/returnType"; //$NON-NLS-1$
+ addAnnotation(getDiagramDescription_PreconditionExpression(), source, new String[] { "returnType", "a boolean." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDiagramDescription_RootExpression(), source, new String[] { "returnType", "an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDiagramElementMapping_PreconditionExpression(), source, new String[] { "returnType", "a boolean." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDiagramElementMapping_SemanticCandidatesExpression(), source, new String[] { "returnType", "a Collection<EObject> or an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDiagramElementMapping_SemanticElements(), source, new String[] { "returnType", "a Collection<EObject> or an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeMapping_TargetFinderExpression(), source, new String[] { "returnType", "a Collection<EObject> or an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeMapping_SourceFinderExpression(), source, new String[] { "returnType", "a Collection<EObject> or an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeMapping_TargetExpression(), source, new String[] { "returnType", "an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeMapping_PathExpression(), source, new String[] { "returnType", "a Collection<EObject> or an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getOrderedTreeLayout_ChildrenExpression(), source, new String[] { "returnType", "a Collection<EObject> or an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/sirius/interpreted/expression/variables</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createVariablesAnnotations() {
+ String source = "http://www.eclipse.org/sirius/interpreted/expression/variables"; //$NON-NLS-1$
+ addAnnotation(getDiagramDescription_PreconditionExpression(), source, new String[] {});
+ addAnnotation(getDiagramDescription_RootExpression(), source, new String[] { "diagram", "diagram.DSemanticDiagram | the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewpoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDiagramElementMapping_PreconditionExpression(), source,
+ new String[] { "containerView", "diagram.DragAndDropTarget | the view that should contain the potential views of the checked elements.", //$NON-NLS-1$ //$NON-NLS-2$
+ "container", "ecore.EObject | the semantic element of containerView.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewpoint", "diagram.DSemanticDiagram | (deprecated) the current DSemanticDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "diagram", "diagram.DSemanticDiagram | the current DSemanticDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "sourceView", "viewpoint.DSemanticDecorator | (edge only) the source view of the current potential edge.", //$NON-NLS-1$ //$NON-NLS-2$
+ "source", "ecore.EObject | (edge only) the semantic element of sourceView.", //$NON-NLS-1$ //$NON-NLS-2$
+ "targetView", "viewpoint.DSemanticDecorator | (edge only) the target view of the current potential edge.", //$NON-NLS-1$ //$NON-NLS-2$
+ "target", "ecore.EObject | (edge only) the semantic element of targetView." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDiagramElementMapping_SemanticCandidatesExpression(), source, new String[] { "containerView", "diagram.DSemanticDiagram | the parent view of potential candidates.", //$NON-NLS-1$ //$NON-NLS-2$
+ "diagram", "diagram.DSemanticDiagram | the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewpoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewPoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDiagramElementMapping_SemanticElements(), source, new String[] { "diagram", "diagram.DSemanticDiagram | the current DSemanticDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "view", "diagram.DDiagramElement | the current view created from the current mapping.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewpoint", "diagram.DSemanticDiagram | (deprecated) the current DSemanticDiagram." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeMapping_TargetFinderExpression(), source, new String[] { "diagram", "diagram.DSemanticDiagram | the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewpoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewPoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeMapping_SourceFinderExpression(), source, new String[] { "diagram", "diagram.DSemanticDiagram | the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewpoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewPoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeMapping_TargetExpression(), source, new String[] { "diagram", "diagram.DSemanticDiagram | the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewpoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewPoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeMapping_PathExpression(), source, new String[] { "diagram", "diagram.DSemanticDiagram | the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "viewpoint", "diagram.DSemanticDiagram | (deprecated) the current DDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "element", "ecore.EObject | the semantic element of the current edge.", //$NON-NLS-1$ //$NON-NLS-2$
+ "source", "ecore.EObject | the semantic target of the current source node.", //$NON-NLS-1$ //$NON-NLS-2$
+ "target", "ecore.EObject | the semantic element of the current target node." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getOrderedTreeLayout_ChildrenExpression(), source, new String[] {});
+ }
+
+ /**
+ * Initializes the annotations for <b>TagValues</b>. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createTagValuesAnnotations() {
+ String source = "TagValues"; //$NON-NLS-1$
+ addAnnotation(getDiagramDescription_DefaultConcern(), source, new String[] {});
+ addAnnotation(getDiagramDescription_Init(), source, new String[] {});
+ addAnnotation(getDiagramDescription_NodeMappings(), source, new String[] {});
+ addAnnotation(getDiagramDescription_EdgeMappings(), source, new String[] {});
+ addAnnotation(getDiagramDescription_ContainerMappings(), source, new String[] {});
+ addAnnotation(getDiagramDescription_ReusedMappings(), source, new String[] {});
+ addAnnotation(getDiagramDescription_ReusedTools(), source, new String[] {});
+ }
+
+} // DescriptionPackageImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramDescriptionImpl.java
new file mode 100644
index 0000000000..72cb29b8b3
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramDescriptionImpl.java
@@ -0,0 +1,2136 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES and others.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+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.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.DSemanticDiagram;
+import org.eclipse.sirius.diagram.description.AdditionalLayer;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.Layer;
+import org.eclipse.sirius.diagram.description.Layout;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.EndUserDocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.PasteTargetDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationDescription;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.PasteDescription;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationSet;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Diagram Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getDocumentation
+ * <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getEndUserDocumentation <em>End User
+ * Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getTitleExpression <em>Title
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#isInitialisation
+ * <em>Initialisation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getMetamodel <em>Metamodel</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#isShowOnStartup <em>Show On
+ * Startup</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getPasteDescriptions <em>Paste
+ * Descriptions</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getFilters <em>Filters</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getValidationSet <em>Validation
+ * Set</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getConcerns <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getDomainClass <em>Domain
+ * Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getPreconditionExpression
+ * <em>Precondition Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getDefaultConcern <em>Default
+ * Concern</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getRootExpression <em>Root
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getInit <em>Init</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getLayout <em>Layout</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getDiagramInitialisation <em>Diagram
+ * Initialisation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getDefaultLayer <em>Default
+ * Layer</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getAdditionalLayers <em>Additional
+ * Layers</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getNodeMappings <em>Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getEdgeMappings <em>Edge
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getEdgeMappingImports <em>Edge Mapping
+ * Imports</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getContainerMappings <em>Container
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getReusedMappings <em>Reused
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getToolSection <em>Tool
+ * Section</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getReusedTools <em>Reused
+ * Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#isEnablePopupBars <em>Enable Popup
+ * Bars</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramDescriptionImpl#getBackgroundColor <em>Background
+ * Color</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DiagramDescriptionImpl extends DragAndDropTargetDescriptionImpl implements DiagramDescription {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DiagramDescriptionImpl.DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEndUserDocumentation() <em>End User Documentation</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndUserDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String END_USER_DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getEndUserDocumentation() <em>End User Documentation</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndUserDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String endUserDocumentation = DiagramDescriptionImpl.END_USER_DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = DiagramDescriptionImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = DiagramDescriptionImpl.LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTitleExpression() <em>Title Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTitleExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EXPRESSION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getTitleExpression() <em>Title Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTitleExpression()
+ * @generated
+ * @ordered
+ */
+ protected String titleExpression = DiagramDescriptionImpl.TITLE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isInitialisation() <em>Initialisation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isInitialisation()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INITIALISATION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isInitialisation() <em>Initialisation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isInitialisation()
+ * @generated
+ * @ordered
+ */
+ protected boolean initialisation = DiagramDescriptionImpl.INITIALISATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMetamodel() <em>Metamodel</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMetamodel()
+ * @generated
+ * @ordered
+ */
+ protected EList<EPackage> metamodel;
+
+ /**
+ * The default value of the '{@link #isShowOnStartup() <em>Show On Startup</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowOnStartup()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_ON_STARTUP_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isShowOnStartup() <em>Show On Startup</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowOnStartup()
+ * @generated
+ * @ordered
+ */
+ protected boolean showOnStartup = DiagramDescriptionImpl.SHOW_ON_STARTUP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPasteDescriptions() <em>Paste Descriptions</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPasteDescriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<PasteDescription> pasteDescriptions;
+
+ /**
+ * The cached value of the '{@link #getFilters() <em>Filters</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getFilters()
+ * @generated
+ * @ordered
+ */
+ protected EList<FilterDescription> filters;
+
+ /**
+ * The cached value of the '{@link #getValidationSet() <em>Validation Set</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getValidationSet()
+ * @generated
+ * @ordered
+ */
+ protected ValidationSet validationSet;
+
+ /**
+ * The cached value of the '{@link #getConcerns() <em>Concerns</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getConcerns()
+ * @generated
+ * @ordered
+ */
+ protected ConcernSet concerns;
+
+ /**
+ * The default value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOMAIN_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected String domainClass = DiagramDescriptionImpl.DOMAIN_CLASS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPreconditionExpression() <em>Precondition Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPreconditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRECONDITION_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPreconditionExpression() <em>Precondition Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPreconditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected String preconditionExpression = DiagramDescriptionImpl.PRECONDITION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDefaultConcern() <em>Default Concern</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getDefaultConcern()
+ * @generated
+ * @ordered
+ */
+ protected ConcernDescription defaultConcern;
+
+ /**
+ * The default value of the '{@link #getRootExpression() <em>Root Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getRootExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String ROOT_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRootExpression() <em>Root Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getRootExpression()
+ * @generated
+ * @ordered
+ */
+ protected String rootExpression = DiagramDescriptionImpl.ROOT_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInit() <em>Init</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getInit()
+ * @generated
+ * @ordered
+ */
+ protected RepresentationCreationDescription init;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected Layout layout;
+
+ /**
+ * The cached value of the '{@link #getDiagramInitialisation() <em>Diagram Initialisation</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDiagramInitialisation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation diagramInitialisation;
+
+ /**
+ * The cached value of the '{@link #getDefaultLayer() <em>Default Layer</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDefaultLayer()
+ * @generated
+ * @ordered
+ */
+ protected Layer defaultLayer;
+
+ /**
+ * The cached value of the '{@link #getAdditionalLayers() <em>Additional Layers</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAdditionalLayers()
+ * @generated
+ * @ordered
+ */
+ protected EList<AdditionalLayer> additionalLayers;
+
+ /**
+ * The cached value of the '{@link #getNodeMappings() <em>Node Mappings</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getNodeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeMapping> nodeMappings;
+
+ /**
+ * The cached value of the '{@link #getEdgeMappings() <em>Edge Mappings</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEdgeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<EdgeMapping> edgeMappings;
+
+ /**
+ * The cached value of the '{@link #getEdgeMappingImports() <em>Edge Mapping Imports</em>}' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEdgeMappingImports()
+ * @generated
+ * @ordered
+ */
+ protected EList<EdgeMappingImport> edgeMappingImports;
+
+ /**
+ * The cached value of the '{@link #getContainerMappings() <em>Container Mappings</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getContainerMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerMapping> containerMappings;
+
+ /**
+ * The cached value of the '{@link #getReusedMappings() <em>Reused Mappings</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReusedMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> reusedMappings;
+
+ /**
+ * The cached value of the '{@link #getToolSection() <em>Tool Section</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getToolSection()
+ * @generated
+ * @ordered
+ */
+ protected ToolSection toolSection;
+
+ /**
+ * The cached value of the '{@link #getReusedTools() <em>Reused Tools</em>}' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getReusedTools()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractToolDescription> reusedTools;
+
+ /**
+ * The default value of the '{@link #isEnablePopupBars() <em>Enable Popup Bars</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isEnablePopupBars()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ENABLE_POPUP_BARS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isEnablePopupBars() <em>Enable Popup Bars</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isEnablePopupBars()
+ * @generated
+ * @ordered
+ */
+ protected boolean enablePopupBars = DiagramDescriptionImpl.ENABLE_POPUP_BARS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBackgroundColor() <em>Background Color</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBackgroundColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription backgroundColor;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiagramDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.DIAGRAM_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__DOCUMENTATION, oldDocumentation, documentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getEndUserDocumentation() {
+ return endUserDocumentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEndUserDocumentation(String newEndUserDocumentation) {
+ String oldEndUserDocumentation = endUserDocumentation;
+ endUserDocumentation = newEndUserDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__END_USER_DOCUMENTATION, oldEndUserDocumentation, endUserDocumentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTitleExpression() {
+ return titleExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTitleExpression(String newTitleExpression) {
+ String oldTitleExpression = titleExpression;
+ titleExpression = newTitleExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__TITLE_EXPRESSION, oldTitleExpression, titleExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isInitialisation() {
+ return initialisation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialisation(boolean newInitialisation) {
+ boolean oldInitialisation = initialisation;
+ initialisation = newInitialisation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__INITIALISATION, oldInitialisation, initialisation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EPackage> getMetamodel() {
+ if (metamodel == null) {
+ metamodel = new EObjectResolvingEList<>(EPackage.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__METAMODEL);
+ }
+ return metamodel;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowOnStartup() {
+ return showOnStartup;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowOnStartup(boolean newShowOnStartup) {
+ boolean oldShowOnStartup = showOnStartup;
+ showOnStartup = newShowOnStartup;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__SHOW_ON_STARTUP, oldShowOnStartup, showOnStartup));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<PasteDescription> getPasteDescriptions() {
+ if (pasteDescriptions == null) {
+ pasteDescriptions = new EObjectResolvingEList<>(PasteDescription.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__PASTE_DESCRIPTIONS);
+ }
+ return pasteDescriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<FilterDescription> getFilters() {
+ if (filters == null) {
+ filters = new EObjectContainmentEList.Resolving<>(FilterDescription.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS);
+ }
+ return filters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ValidationSet getValidationSet() {
+ if (validationSet != null && validationSet.eIsProxy()) {
+ InternalEObject oldValidationSet = (InternalEObject) validationSet;
+ validationSet = (ValidationSet) eResolveProxy(oldValidationSet);
+ if (validationSet != oldValidationSet) {
+ InternalEObject newValidationSet = (InternalEObject) validationSet;
+ NotificationChain msgs = oldValidationSet.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET, null, null);
+ if (newValidationSet.eInternalContainer() == null) {
+ msgs = newValidationSet.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET, oldValidationSet, validationSet));
+ }
+ }
+ }
+ return validationSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ValidationSet basicGetValidationSet() {
+ return validationSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetValidationSet(ValidationSet newValidationSet, NotificationChain msgs) {
+ ValidationSet oldValidationSet = validationSet;
+ validationSet = newValidationSet;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET, oldValidationSet, newValidationSet);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValidationSet(ValidationSet newValidationSet) {
+ if (newValidationSet != validationSet) {
+ NotificationChain msgs = null;
+ if (validationSet != null) {
+ msgs = ((InternalEObject) validationSet).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ if (newValidationSet != null) {
+ msgs = ((InternalEObject) newValidationSet).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ msgs = basicSetValidationSet(newValidationSet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET, newValidationSet, newValidationSet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernSet getConcerns() {
+ if (concerns != null && concerns.eIsProxy()) {
+ InternalEObject oldConcerns = (InternalEObject) concerns;
+ concerns = (ConcernSet) eResolveProxy(oldConcerns);
+ if (concerns != oldConcerns) {
+ InternalEObject newConcerns = (InternalEObject) concerns;
+ NotificationChain msgs = oldConcerns.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS, null, null);
+ if (newConcerns.eInternalContainer() == null) {
+ msgs = newConcerns.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS, oldConcerns, concerns));
+ }
+ }
+ }
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcernSet basicGetConcerns() {
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetConcerns(ConcernSet newConcerns, NotificationChain msgs) {
+ ConcernSet oldConcerns = concerns;
+ concerns = newConcerns;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS, oldConcerns, newConcerns);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setConcerns(ConcernSet newConcerns) {
+ if (newConcerns != concerns) {
+ NotificationChain msgs = null;
+ if (concerns != null) {
+ msgs = ((InternalEObject) concerns).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ if (newConcerns != null) {
+ msgs = ((InternalEObject) newConcerns).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ msgs = basicSetConcerns(newConcerns, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS, newConcerns, newConcerns));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDomainClass() {
+ return domainClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDomainClass(String newDomainClass) {
+ String oldDomainClass = domainClass;
+ domainClass = newDomainClass;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__DOMAIN_CLASS, oldDomainClass, domainClass));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getPreconditionExpression() {
+ return preconditionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setPreconditionExpression(String newPreconditionExpression) {
+ String oldPreconditionExpression = preconditionExpression;
+ preconditionExpression = newPreconditionExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION, oldPreconditionExpression, preconditionExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernDescription getDefaultConcern() {
+ if (defaultConcern != null && defaultConcern.eIsProxy()) {
+ InternalEObject oldDefaultConcern = (InternalEObject) defaultConcern;
+ defaultConcern = (ConcernDescription) eResolveProxy(oldDefaultConcern);
+ if (defaultConcern != oldDefaultConcern) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN, oldDefaultConcern, defaultConcern));
+ }
+ }
+ }
+ return defaultConcern;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcernDescription basicGetDefaultConcern() {
+ return defaultConcern;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDefaultConcern(ConcernDescription newDefaultConcern) {
+ ConcernDescription oldDefaultConcern = defaultConcern;
+ defaultConcern = newDefaultConcern;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN, oldDefaultConcern, defaultConcern));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getRootExpression() {
+ return rootExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRootExpression(String newRootExpression) {
+ String oldRootExpression = rootExpression;
+ rootExpression = newRootExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__ROOT_EXPRESSION, oldRootExpression, rootExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public RepresentationCreationDescription getInit() {
+ if (init != null && init.eIsProxy()) {
+ InternalEObject oldInit = (InternalEObject) init;
+ init = (RepresentationCreationDescription) eResolveProxy(oldInit);
+ if (init != oldInit) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__INIT, oldInit, init));
+ }
+ }
+ }
+ return init;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RepresentationCreationDescription basicGetInit() {
+ return init;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInit(RepresentationCreationDescription newInit) {
+ RepresentationCreationDescription oldInit = init;
+ init = newInit;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__INIT, oldInit, init));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Layout getLayout() {
+ if (layout != null && layout.eIsProxy()) {
+ InternalEObject oldLayout = (InternalEObject) layout;
+ layout = (Layout) eResolveProxy(oldLayout);
+ if (layout != oldLayout) {
+ InternalEObject newLayout = (InternalEObject) layout;
+ NotificationChain msgs = oldLayout.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT, null, null);
+ if (newLayout.eInternalContainer() == null) {
+ msgs = newLayout.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT, oldLayout, layout));
+ }
+ }
+ }
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Layout basicGetLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetLayout(Layout newLayout, NotificationChain msgs) {
+ Layout oldLayout = layout;
+ layout = newLayout;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT, oldLayout, newLayout);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLayout(Layout newLayout) {
+ if (newLayout != layout) {
+ NotificationChain msgs = null;
+ if (layout != null) {
+ msgs = ((InternalEObject) layout).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT, null, msgs);
+ }
+ if (newLayout != null) {
+ msgs = ((InternalEObject) newLayout).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT, null, msgs);
+ }
+ msgs = basicSetLayout(newLayout, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT, newLayout, newLayout));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialOperation getDiagramInitialisation() {
+ if (diagramInitialisation != null && diagramInitialisation.eIsProxy()) {
+ InternalEObject oldDiagramInitialisation = (InternalEObject) diagramInitialisation;
+ diagramInitialisation = (InitialOperation) eResolveProxy(oldDiagramInitialisation);
+ if (diagramInitialisation != oldDiagramInitialisation) {
+ InternalEObject newDiagramInitialisation = (InternalEObject) diagramInitialisation;
+ NotificationChain msgs = oldDiagramInitialisation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION, null,
+ null);
+ if (newDiagramInitialisation.eInternalContainer() == null) {
+ msgs = newDiagramInitialisation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION, oldDiagramInitialisation, diagramInitialisation));
+ }
+ }
+ }
+ return diagramInitialisation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialOperation basicGetDiagramInitialisation() {
+ return diagramInitialisation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDiagramInitialisation(InitialOperation newDiagramInitialisation, NotificationChain msgs) {
+ InitialOperation oldDiagramInitialisation = diagramInitialisation;
+ diagramInitialisation = newDiagramInitialisation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION, oldDiagramInitialisation,
+ newDiagramInitialisation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDiagramInitialisation(InitialOperation newDiagramInitialisation) {
+ if (newDiagramInitialisation != diagramInitialisation) {
+ NotificationChain msgs = null;
+ if (diagramInitialisation != null) {
+ msgs = ((InternalEObject) diagramInitialisation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION, null,
+ msgs);
+ }
+ if (newDiagramInitialisation != null) {
+ msgs = ((InternalEObject) newDiagramInitialisation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION, null,
+ msgs);
+ }
+ msgs = basicSetDiagramInitialisation(newDiagramInitialisation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION, newDiagramInitialisation, newDiagramInitialisation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Layer getDefaultLayer() {
+ if (defaultLayer != null && defaultLayer.eIsProxy()) {
+ InternalEObject oldDefaultLayer = (InternalEObject) defaultLayer;
+ defaultLayer = (Layer) eResolveProxy(oldDefaultLayer);
+ if (defaultLayer != oldDefaultLayer) {
+ InternalEObject newDefaultLayer = (InternalEObject) defaultLayer;
+ NotificationChain msgs = oldDefaultLayer.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER, null, null);
+ if (newDefaultLayer.eInternalContainer() == null) {
+ msgs = newDefaultLayer.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER, oldDefaultLayer, defaultLayer));
+ }
+ }
+ }
+ return defaultLayer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Layer basicGetDefaultLayer() {
+ return defaultLayer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDefaultLayer(Layer newDefaultLayer, NotificationChain msgs) {
+ Layer oldDefaultLayer = defaultLayer;
+ defaultLayer = newDefaultLayer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER, oldDefaultLayer, newDefaultLayer);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDefaultLayer(Layer newDefaultLayer) {
+ if (newDefaultLayer != defaultLayer) {
+ NotificationChain msgs = null;
+ if (defaultLayer != null) {
+ msgs = ((InternalEObject) defaultLayer).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER, null, msgs);
+ }
+ if (newDefaultLayer != null) {
+ msgs = ((InternalEObject) newDefaultLayer).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER, null, msgs);
+ }
+ msgs = basicSetDefaultLayer(newDefaultLayer, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER, newDefaultLayer, newDefaultLayer));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AdditionalLayer> getAdditionalLayers() {
+ if (additionalLayers == null) {
+ additionalLayers = new EObjectContainmentEList.Resolving<>(AdditionalLayer.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS);
+ }
+ return additionalLayers;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<NodeMapping> getNodeMappings() {
+ if (nodeMappings == null) {
+ nodeMappings = new EObjectContainmentEList.Resolving<>(NodeMapping.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS);
+ }
+ return nodeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EdgeMapping> getEdgeMappings() {
+ if (edgeMappings == null) {
+ edgeMappings = new EObjectContainmentEList.Resolving<>(EdgeMapping.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS);
+ }
+ return edgeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EdgeMappingImport> getEdgeMappingImports() {
+ if (edgeMappingImports == null) {
+ edgeMappingImports = new EObjectContainmentEList.Resolving<>(EdgeMappingImport.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS);
+ }
+ return edgeMappingImports;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerMapping> getContainerMappings() {
+ if (containerMappings == null) {
+ containerMappings = new EObjectContainmentEList.Resolving<>(ContainerMapping.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS);
+ }
+ return containerMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getReusedMappings() {
+ if (reusedMappings == null) {
+ reusedMappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_MAPPINGS);
+ }
+ return reusedMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ToolSection getToolSection() {
+ if (toolSection != null && toolSection.eIsProxy()) {
+ InternalEObject oldToolSection = (InternalEObject) toolSection;
+ toolSection = (ToolSection) eResolveProxy(oldToolSection);
+ if (toolSection != oldToolSection) {
+ InternalEObject newToolSection = (InternalEObject) toolSection;
+ NotificationChain msgs = oldToolSection.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION, null, null);
+ if (newToolSection.eInternalContainer() == null) {
+ msgs = newToolSection.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION, oldToolSection, toolSection));
+ }
+ }
+ }
+ return toolSection;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ToolSection basicGetToolSection() {
+ return toolSection;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetToolSection(ToolSection newToolSection, NotificationChain msgs) {
+ ToolSection oldToolSection = toolSection;
+ toolSection = newToolSection;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION, oldToolSection, newToolSection);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setToolSection(ToolSection newToolSection) {
+ if (newToolSection != toolSection) {
+ NotificationChain msgs = null;
+ if (toolSection != null) {
+ msgs = ((InternalEObject) toolSection).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION, null, msgs);
+ }
+ if (newToolSection != null) {
+ msgs = ((InternalEObject) newToolSection).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION, null, msgs);
+ }
+ msgs = basicSetToolSection(newToolSection, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION, newToolSection, newToolSection));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractToolDescription> getReusedTools() {
+ if (reusedTools == null) {
+ reusedTools = new EObjectResolvingEList<>(AbstractToolDescription.class, this, DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_TOOLS);
+ }
+ return reusedTools;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isEnablePopupBars() {
+ return enablePopupBars;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEnablePopupBars(boolean newEnablePopupBars) {
+ boolean oldEnablePopupBars = enablePopupBars;
+ enablePopupBars = newEnablePopupBars;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS, oldEnablePopupBars, enablePopupBars));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBackgroundColor() {
+ if (backgroundColor != null && backgroundColor.eIsProxy()) {
+ InternalEObject oldBackgroundColor = (InternalEObject) backgroundColor;
+ backgroundColor = (ColorDescription) eResolveProxy(oldBackgroundColor);
+ if (backgroundColor != oldBackgroundColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+ }
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBackgroundColor() {
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBackgroundColor(ColorDescription newBackgroundColor) {
+ ColorDescription oldBackgroundColor = backgroundColor;
+ backgroundColor = newBackgroundColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DSemanticDiagram createDiagram() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS:
+ return ((InternalEList<?>) getFilters()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET:
+ return basicSetValidationSet(null, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS:
+ return basicSetConcerns(null, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT:
+ return basicSetLayout(null, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION:
+ return basicSetDiagramInitialisation(null, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER:
+ return basicSetDefaultLayer(null, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS:
+ return ((InternalEList<?>) getAdditionalLayers()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS:
+ return ((InternalEList<?>) getNodeMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS:
+ return ((InternalEList<?>) getEdgeMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ return ((InternalEList<?>) getEdgeMappingImports()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS:
+ return ((InternalEList<?>) getContainerMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION:
+ return basicSetToolSection(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 DescriptionPackage.DIAGRAM_DESCRIPTION__DOCUMENTATION:
+ return getDocumentation();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__END_USER_DOCUMENTATION:
+ return getEndUserDocumentation();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NAME:
+ return getName();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LABEL:
+ return getLabel();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TITLE_EXPRESSION:
+ return getTitleExpression();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INITIALISATION:
+ return isInitialisation();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__METAMODEL:
+ return getMetamodel();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__SHOW_ON_STARTUP:
+ return isShowOnStartup();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return getPasteDescriptions();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS:
+ return getFilters();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET:
+ if (resolve) {
+ return getValidationSet();
+ }
+ return basicGetValidationSet();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS:
+ if (resolve) {
+ return getConcerns();
+ }
+ return basicGetConcerns();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DOMAIN_CLASS:
+ return getDomainClass();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION:
+ return getPreconditionExpression();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN:
+ if (resolve) {
+ return getDefaultConcern();
+ }
+ return basicGetDefaultConcern();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ROOT_EXPRESSION:
+ return getRootExpression();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INIT:
+ if (resolve) {
+ return getInit();
+ }
+ return basicGetInit();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT:
+ if (resolve) {
+ return getLayout();
+ }
+ return basicGetLayout();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION:
+ if (resolve) {
+ return getDiagramInitialisation();
+ }
+ return basicGetDiagramInitialisation();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER:
+ if (resolve) {
+ return getDefaultLayer();
+ }
+ return basicGetDefaultLayer();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS:
+ return getAdditionalLayers();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS:
+ return getNodeMappings();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS:
+ return getEdgeMappings();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ return getEdgeMappingImports();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS:
+ return getContainerMappings();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_MAPPINGS:
+ return getReusedMappings();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION:
+ if (resolve) {
+ return getToolSection();
+ }
+ return basicGetToolSection();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_TOOLS:
+ return getReusedTools();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS:
+ return isEnablePopupBars();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR:
+ if (resolve) {
+ return getBackgroundColor();
+ }
+ return basicGetBackgroundColor();
+ }
+ 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 DescriptionPackage.DIAGRAM_DESCRIPTION__DOCUMENTATION:
+ setDocumentation((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__END_USER_DOCUMENTATION:
+ setEndUserDocumentation((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NAME:
+ setName((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LABEL:
+ setLabel((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TITLE_EXPRESSION:
+ setTitleExpression((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INITIALISATION:
+ setInitialisation((Boolean) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__METAMODEL:
+ getMetamodel().clear();
+ getMetamodel().addAll((Collection<? extends EPackage>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__SHOW_ON_STARTUP:
+ setShowOnStartup((Boolean) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PASTE_DESCRIPTIONS:
+ getPasteDescriptions().clear();
+ getPasteDescriptions().addAll((Collection<? extends PasteDescription>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS:
+ getFilters().clear();
+ getFilters().addAll((Collection<? extends FilterDescription>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET:
+ setValidationSet((ValidationSet) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS:
+ setConcerns((ConcernSet) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DOMAIN_CLASS:
+ setDomainClass((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION:
+ setPreconditionExpression((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN:
+ setDefaultConcern((ConcernDescription) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ROOT_EXPRESSION:
+ setRootExpression((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INIT:
+ setInit((RepresentationCreationDescription) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT:
+ setLayout((Layout) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION:
+ setDiagramInitialisation((InitialOperation) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER:
+ setDefaultLayer((Layer) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS:
+ getAdditionalLayers().clear();
+ getAdditionalLayers().addAll((Collection<? extends AdditionalLayer>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS:
+ getNodeMappings().clear();
+ getNodeMappings().addAll((Collection<? extends NodeMapping>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS:
+ getEdgeMappings().clear();
+ getEdgeMappings().addAll((Collection<? extends EdgeMapping>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ getEdgeMappingImports().clear();
+ getEdgeMappingImports().addAll((Collection<? extends EdgeMappingImport>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS:
+ getContainerMappings().clear();
+ getContainerMappings().addAll((Collection<? extends ContainerMapping>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_MAPPINGS:
+ getReusedMappings().clear();
+ getReusedMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION:
+ setToolSection((ToolSection) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_TOOLS:
+ getReusedTools().clear();
+ getReusedTools().addAll((Collection<? extends AbstractToolDescription>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS:
+ setEnablePopupBars((Boolean) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DOCUMENTATION:
+ setDocumentation(DiagramDescriptionImpl.DOCUMENTATION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__END_USER_DOCUMENTATION:
+ setEndUserDocumentation(DiagramDescriptionImpl.END_USER_DOCUMENTATION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NAME:
+ setName(DiagramDescriptionImpl.NAME_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LABEL:
+ setLabel(DiagramDescriptionImpl.LABEL_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TITLE_EXPRESSION:
+ setTitleExpression(DiagramDescriptionImpl.TITLE_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INITIALISATION:
+ setInitialisation(DiagramDescriptionImpl.INITIALISATION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__METAMODEL:
+ getMetamodel().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__SHOW_ON_STARTUP:
+ setShowOnStartup(DiagramDescriptionImpl.SHOW_ON_STARTUP_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PASTE_DESCRIPTIONS:
+ getPasteDescriptions().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS:
+ getFilters().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET:
+ setValidationSet((ValidationSet) null);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS:
+ setConcerns((ConcernSet) null);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DOMAIN_CLASS:
+ setDomainClass(DiagramDescriptionImpl.DOMAIN_CLASS_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION:
+ setPreconditionExpression(DiagramDescriptionImpl.PRECONDITION_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN:
+ setDefaultConcern((ConcernDescription) null);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ROOT_EXPRESSION:
+ setRootExpression(DiagramDescriptionImpl.ROOT_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INIT:
+ setInit((RepresentationCreationDescription) null);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT:
+ setLayout((Layout) null);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION:
+ setDiagramInitialisation((InitialOperation) null);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER:
+ setDefaultLayer((Layer) null);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS:
+ getAdditionalLayers().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS:
+ getNodeMappings().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS:
+ getEdgeMappings().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ getEdgeMappingImports().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS:
+ getContainerMappings().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_MAPPINGS:
+ getReusedMappings().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION:
+ setToolSection((ToolSection) null);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_TOOLS:
+ getReusedTools().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS:
+ setEnablePopupBars(DiagramDescriptionImpl.ENABLE_POPUP_BARS_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DOCUMENTATION:
+ return DiagramDescriptionImpl.DOCUMENTATION_EDEFAULT == null ? documentation != null : !DiagramDescriptionImpl.DOCUMENTATION_EDEFAULT.equals(documentation);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__END_USER_DOCUMENTATION:
+ return DiagramDescriptionImpl.END_USER_DOCUMENTATION_EDEFAULT == null ? endUserDocumentation != null : !DiagramDescriptionImpl.END_USER_DOCUMENTATION_EDEFAULT.equals(endUserDocumentation);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NAME:
+ return DiagramDescriptionImpl.NAME_EDEFAULT == null ? name != null : !DiagramDescriptionImpl.NAME_EDEFAULT.equals(name);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LABEL:
+ return DiagramDescriptionImpl.LABEL_EDEFAULT == null ? label != null : !DiagramDescriptionImpl.LABEL_EDEFAULT.equals(label);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TITLE_EXPRESSION:
+ return DiagramDescriptionImpl.TITLE_EXPRESSION_EDEFAULT == null ? titleExpression != null : !DiagramDescriptionImpl.TITLE_EXPRESSION_EDEFAULT.equals(titleExpression);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INITIALISATION:
+ return initialisation != DiagramDescriptionImpl.INITIALISATION_EDEFAULT;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__METAMODEL:
+ return metamodel != null && !metamodel.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__SHOW_ON_STARTUP:
+ return showOnStartup != DiagramDescriptionImpl.SHOW_ON_STARTUP_EDEFAULT;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return pasteDescriptions != null && !pasteDescriptions.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS:
+ return filters != null && !filters.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET:
+ return validationSet != null;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS:
+ return concerns != null;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DOMAIN_CLASS:
+ return DiagramDescriptionImpl.DOMAIN_CLASS_EDEFAULT == null ? domainClass != null : !DiagramDescriptionImpl.DOMAIN_CLASS_EDEFAULT.equals(domainClass);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION:
+ return DiagramDescriptionImpl.PRECONDITION_EXPRESSION_EDEFAULT == null ? preconditionExpression != null
+ : !DiagramDescriptionImpl.PRECONDITION_EXPRESSION_EDEFAULT.equals(preconditionExpression);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN:
+ return defaultConcern != null;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ROOT_EXPRESSION:
+ return DiagramDescriptionImpl.ROOT_EXPRESSION_EDEFAULT == null ? rootExpression != null : !DiagramDescriptionImpl.ROOT_EXPRESSION_EDEFAULT.equals(rootExpression);
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INIT:
+ return init != null;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT:
+ return layout != null;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION:
+ return diagramInitialisation != null;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER:
+ return defaultLayer != null;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS:
+ return additionalLayers != null && !additionalLayers.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS:
+ return nodeMappings != null && !nodeMappings.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS:
+ return edgeMappings != null && !edgeMappings.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ return edgeMappingImports != null && !edgeMappingImports.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS:
+ return containerMappings != null && !containerMappings.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_MAPPINGS:
+ return reusedMappings != null && !reusedMappings.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION:
+ return toolSection != null;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_TOOLS:
+ return reusedTools != null && !reusedTools.isEmpty();
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS:
+ return enablePopupBars != DiagramDescriptionImpl.ENABLE_POPUP_BARS_EDEFAULT;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR:
+ return backgroundColor != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DOCUMENTATION:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == EndUserDocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__END_USER_DOCUMENTATION:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.END_USER_DOCUMENTED_ELEMENT__END_USER_DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NAME:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LABEL:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == RepresentationDescription.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TITLE_EXPRESSION:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_DESCRIPTION__TITLE_EXPRESSION;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INITIALISATION:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_DESCRIPTION__INITIALISATION;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__METAMODEL:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_DESCRIPTION__METAMODEL;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__SHOW_ON_STARTUP:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_DESCRIPTION__SHOW_ON_STARTUP;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == PasteTargetDescription.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.PASTE_TARGET_DESCRIPTION__PASTE_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == EndUserDocumentedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.END_USER_DOCUMENTED_ELEMENT__END_USER_DOCUMENTATION:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__END_USER_DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__NAME;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__LABEL;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == RepresentationDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_DESCRIPTION__TITLE_EXPRESSION:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__TITLE_EXPRESSION;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_DESCRIPTION__INITIALISATION:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__INITIALISATION;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_DESCRIPTION__METAMODEL:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__METAMODEL;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.REPRESENTATION_DESCRIPTION__SHOW_ON_STARTUP:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__SHOW_ON_STARTUP;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == PasteTargetDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.PASTE_TARGET_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__PASTE_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(", endUserDocumentation: "); //$NON-NLS-1$
+ result.append(endUserDocumentation);
+ result.append(", name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(", titleExpression: "); //$NON-NLS-1$
+ result.append(titleExpression);
+ result.append(", initialisation: "); //$NON-NLS-1$
+ result.append(initialisation);
+ result.append(", showOnStartup: "); //$NON-NLS-1$
+ result.append(showOnStartup);
+ result.append(", domainClass: "); //$NON-NLS-1$
+ result.append(domainClass);
+ result.append(", preconditionExpression: "); //$NON-NLS-1$
+ result.append(preconditionExpression);
+ result.append(", rootExpression: "); //$NON-NLS-1$
+ result.append(rootExpression);
+ result.append(", enablePopupBars: "); //$NON-NLS-1$
+ result.append(enablePopupBars);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DiagramDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramElementMappingImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramElementMappingImpl.java
new file mode 100644
index 0000000000..9300054564
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramElementMappingImpl.java
@@ -0,0 +1,758 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.tool.DeleteElementDescription;
+import org.eclipse.sirius.diagram.description.tool.DirectEditLabel;
+import org.eclipse.sirius.diagram.description.tool.DoubleClickDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.PasteTargetDescription;
+import org.eclipse.sirius.viewpoint.description.impl.RepresentationElementMappingImpl;
+import org.eclipse.sirius.viewpoint.description.tool.PasteDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Diagram Element Mapping</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#getPasteDescriptions <em>Paste
+ * Descriptions</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#getPreconditionExpression
+ * <em>Precondition Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#getDeletionDescription <em>Deletion
+ * Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#getLabelDirectEdit <em>Label Direct
+ * Edit</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#getSemanticCandidatesExpression
+ * <em>Semantic Candidates Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#isCreateElements <em>Create
+ * Elements</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#getSemanticElements <em>Semantic
+ * Elements</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#getDoubleClickDescription <em>Double
+ * Click Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramElementMappingImpl#isSynchronizationLock
+ * <em>Synchronization Lock</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DiagramElementMappingImpl extends RepresentationElementMappingImpl implements DiagramElementMapping {
+ /**
+ * The cached value of the '{@link #getPasteDescriptions() <em>Paste Descriptions</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPasteDescriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<PasteDescription> pasteDescriptions;
+
+ /**
+ * The default value of the '{@link #getPreconditionExpression() <em>Precondition Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPreconditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRECONDITION_EXPRESSION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getPreconditionExpression() <em>Precondition Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPreconditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected String preconditionExpression = DiagramElementMappingImpl.PRECONDITION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDeletionDescription() <em>Deletion Description</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDeletionDescription()
+ * @generated
+ * @ordered
+ */
+ protected DeleteElementDescription deletionDescription;
+
+ /**
+ * The cached value of the '{@link #getLabelDirectEdit() <em>Label Direct Edit</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelDirectEdit()
+ * @generated
+ * @ordered
+ */
+ protected DirectEditLabel labelDirectEdit;
+
+ /**
+ * The default value of the '{@link #getSemanticCandidatesExpression() <em>Semantic Candidates Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSemanticCandidatesExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEMANTIC_CANDIDATES_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSemanticCandidatesExpression() <em>Semantic Candidates Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSemanticCandidatesExpression()
+ * @generated
+ * @ordered
+ */
+ protected String semanticCandidatesExpression = DiagramElementMappingImpl.SEMANTIC_CANDIDATES_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCreateElements() <em>Create Elements</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isCreateElements()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CREATE_ELEMENTS_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isCreateElements() <em>Create Elements</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isCreateElements()
+ * @generated
+ * @ordered
+ */
+ protected boolean createElements = DiagramElementMappingImpl.CREATE_ELEMENTS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSemanticElements() <em>Semantic Elements</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSemanticElements()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEMANTIC_ELEMENTS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSemanticElements() <em>Semantic Elements</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSemanticElements()
+ * @generated
+ * @ordered
+ */
+ protected String semanticElements = DiagramElementMappingImpl.SEMANTIC_ELEMENTS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDoubleClickDescription() <em>Double Click Description</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDoubleClickDescription()
+ * @generated
+ * @ordered
+ */
+ protected DoubleClickDescription doubleClickDescription;
+
+ /**
+ * The default value of the '{@link #isSynchronizationLock() <em>Synchronization Lock</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSynchronizationLock()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SYNCHRONIZATION_LOCK_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isSynchronizationLock() <em>Synchronization Lock</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSynchronizationLock()
+ * @generated
+ * @ordered
+ */
+ protected boolean synchronizationLock = DiagramElementMappingImpl.SYNCHRONIZATION_LOCK_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiagramElementMappingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.DIAGRAM_ELEMENT_MAPPING;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<PasteDescription> getPasteDescriptions() {
+ if (pasteDescriptions == null) {
+ pasteDescriptions = new EObjectResolvingEList<>(PasteDescription.class, this, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS);
+ }
+ return pasteDescriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getPreconditionExpression() {
+ return preconditionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setPreconditionExpression(String newPreconditionExpression) {
+ String oldPreconditionExpression = preconditionExpression;
+ preconditionExpression = newPreconditionExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION, oldPreconditionExpression, preconditionExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DeleteElementDescription getDeletionDescription() {
+ if (deletionDescription != null && deletionDescription.eIsProxy()) {
+ InternalEObject oldDeletionDescription = (InternalEObject) deletionDescription;
+ deletionDescription = (DeleteElementDescription) eResolveProxy(oldDeletionDescription);
+ if (deletionDescription != oldDeletionDescription) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION, oldDeletionDescription, deletionDescription));
+ }
+ }
+ }
+ return deletionDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DeleteElementDescription basicGetDeletionDescription() {
+ return deletionDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDeletionDescription(DeleteElementDescription newDeletionDescription) {
+ DeleteElementDescription oldDeletionDescription = deletionDescription;
+ deletionDescription = newDeletionDescription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION, oldDeletionDescription, deletionDescription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DirectEditLabel getLabelDirectEdit() {
+ if (labelDirectEdit != null && labelDirectEdit.eIsProxy()) {
+ InternalEObject oldLabelDirectEdit = (InternalEObject) labelDirectEdit;
+ labelDirectEdit = (DirectEditLabel) eResolveProxy(oldLabelDirectEdit);
+ if (labelDirectEdit != oldLabelDirectEdit) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT, oldLabelDirectEdit, labelDirectEdit));
+ }
+ }
+ }
+ return labelDirectEdit;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DirectEditLabel basicGetLabelDirectEdit() {
+ return labelDirectEdit;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelDirectEdit(DirectEditLabel newLabelDirectEdit) {
+ DirectEditLabel oldLabelDirectEdit = labelDirectEdit;
+ labelDirectEdit = newLabelDirectEdit;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT, oldLabelDirectEdit, labelDirectEdit));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSemanticCandidatesExpression() {
+ return semanticCandidatesExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSemanticCandidatesExpression(String newSemanticCandidatesExpression) {
+ String oldSemanticCandidatesExpression = semanticCandidatesExpression;
+ semanticCandidatesExpression = newSemanticCandidatesExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION, oldSemanticCandidatesExpression,
+ semanticCandidatesExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isCreateElements() {
+ return createElements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setCreateElements(boolean newCreateElements) {
+ boolean oldCreateElements = createElements;
+ createElements = newCreateElements;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS, oldCreateElements, createElements));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSemanticElements() {
+ return semanticElements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSemanticElements(String newSemanticElements) {
+ String oldSemanticElements = semanticElements;
+ semanticElements = newSemanticElements;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS, oldSemanticElements, semanticElements));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DoubleClickDescription getDoubleClickDescription() {
+ if (doubleClickDescription != null && doubleClickDescription.eIsProxy()) {
+ InternalEObject oldDoubleClickDescription = (InternalEObject) doubleClickDescription;
+ doubleClickDescription = (DoubleClickDescription) eResolveProxy(oldDoubleClickDescription);
+ if (doubleClickDescription != oldDoubleClickDescription) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION, oldDoubleClickDescription, doubleClickDescription));
+ }
+ }
+ }
+ return doubleClickDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DoubleClickDescription basicGetDoubleClickDescription() {
+ return doubleClickDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDoubleClickDescription(DoubleClickDescription newDoubleClickDescription, NotificationChain msgs) {
+ DoubleClickDescription oldDoubleClickDescription = doubleClickDescription;
+ doubleClickDescription = newDoubleClickDescription;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION, oldDoubleClickDescription,
+ newDoubleClickDescription);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDoubleClickDescription(DoubleClickDescription newDoubleClickDescription) {
+ if (newDoubleClickDescription != doubleClickDescription) {
+ NotificationChain msgs = null;
+ if (doubleClickDescription != null) {
+ msgs = ((InternalEObject) doubleClickDescription).eInverseRemove(this, ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS, DoubleClickDescription.class, msgs);
+ }
+ if (newDoubleClickDescription != null) {
+ msgs = ((InternalEObject) newDoubleClickDescription).eInverseAdd(this, ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS, DoubleClickDescription.class, msgs);
+ }
+ msgs = basicSetDoubleClickDescription(newDoubleClickDescription, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION, newDoubleClickDescription, newDoubleClickDescription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isSynchronizationLock() {
+ return synchronizationLock;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSynchronizationLock(boolean newSynchronizationLock) {
+ boolean oldSynchronizationLock = synchronizationLock;
+ synchronizationLock = newSynchronizationLock;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK, oldSynchronizationLock, synchronizationLock));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION:
+ if (doubleClickDescription != null) {
+ msgs = ((InternalEObject) doubleClickDescription).eInverseRemove(this, ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS, DoubleClickDescription.class, msgs);
+ }
+ return basicSetDoubleClickDescription((DoubleClickDescription) 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 DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION:
+ return basicSetDoubleClickDescription(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 DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS:
+ return getPasteDescriptions();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION:
+ return getPreconditionExpression();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION:
+ if (resolve) {
+ return getDeletionDescription();
+ }
+ return basicGetDeletionDescription();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT:
+ if (resolve) {
+ return getLabelDirectEdit();
+ }
+ return basicGetLabelDirectEdit();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION:
+ return getSemanticCandidatesExpression();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS:
+ return isCreateElements();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS:
+ return getSemanticElements();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION:
+ if (resolve) {
+ return getDoubleClickDescription();
+ }
+ return basicGetDoubleClickDescription();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK:
+ return isSynchronizationLock();
+ }
+ 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 DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS:
+ getPasteDescriptions().clear();
+ getPasteDescriptions().addAll((Collection<? extends PasteDescription>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION:
+ setPreconditionExpression((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION:
+ setDeletionDescription((DeleteElementDescription) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT:
+ setLabelDirectEdit((DirectEditLabel) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION:
+ setSemanticCandidatesExpression((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS:
+ setCreateElements((Boolean) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS:
+ setSemanticElements((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION:
+ setDoubleClickDescription((DoubleClickDescription) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK:
+ setSynchronizationLock((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS:
+ getPasteDescriptions().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION:
+ setPreconditionExpression(DiagramElementMappingImpl.PRECONDITION_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION:
+ setDeletionDescription((DeleteElementDescription) null);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT:
+ setLabelDirectEdit((DirectEditLabel) null);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION:
+ setSemanticCandidatesExpression(DiagramElementMappingImpl.SEMANTIC_CANDIDATES_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS:
+ setCreateElements(DiagramElementMappingImpl.CREATE_ELEMENTS_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS:
+ setSemanticElements(DiagramElementMappingImpl.SEMANTIC_ELEMENTS_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION:
+ setDoubleClickDescription((DoubleClickDescription) null);
+ return;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK:
+ setSynchronizationLock(DiagramElementMappingImpl.SYNCHRONIZATION_LOCK_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS:
+ return pasteDescriptions != null && !pasteDescriptions.isEmpty();
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PRECONDITION_EXPRESSION:
+ return DiagramElementMappingImpl.PRECONDITION_EXPRESSION_EDEFAULT == null ? preconditionExpression != null
+ : !DiagramElementMappingImpl.PRECONDITION_EXPRESSION_EDEFAULT.equals(preconditionExpression);
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DELETION_DESCRIPTION:
+ return deletionDescription != null;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__LABEL_DIRECT_EDIT:
+ return labelDirectEdit != null;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_CANDIDATES_EXPRESSION:
+ return DiagramElementMappingImpl.SEMANTIC_CANDIDATES_EXPRESSION_EDEFAULT == null ? semanticCandidatesExpression != null
+ : !DiagramElementMappingImpl.SEMANTIC_CANDIDATES_EXPRESSION_EDEFAULT.equals(semanticCandidatesExpression);
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__CREATE_ELEMENTS:
+ return createElements != DiagramElementMappingImpl.CREATE_ELEMENTS_EDEFAULT;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SEMANTIC_ELEMENTS:
+ return DiagramElementMappingImpl.SEMANTIC_ELEMENTS_EDEFAULT == null ? semanticElements != null : !DiagramElementMappingImpl.SEMANTIC_ELEMENTS_EDEFAULT.equals(semanticElements);
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION:
+ return doubleClickDescription != null;
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__SYNCHRONIZATION_LOCK:
+ return synchronizationLock != DiagramElementMappingImpl.SYNCHRONIZATION_LOCK_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == PasteTargetDescription.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.PASTE_TARGET_DESCRIPTION__PASTE_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == PasteTargetDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.PASTE_TARGET_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__PASTE_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (preconditionExpression: "); //$NON-NLS-1$
+ result.append(preconditionExpression);
+ result.append(", semanticCandidatesExpression: "); //$NON-NLS-1$
+ result.append(semanticCandidatesExpression);
+ result.append(", createElements: "); //$NON-NLS-1$
+ result.append(createElements);
+ result.append(", semanticElements: "); //$NON-NLS-1$
+ result.append(semanticElements);
+ result.append(", synchronizationLock: "); //$NON-NLS-1$
+ result.append(synchronizationLock);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DiagramElementMappingImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramExtensionDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramExtensionDescriptionImpl.java
new file mode 100644
index 0000000000..c5abe00631
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramExtensionDescriptionImpl.java
@@ -0,0 +1,603 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+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.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.AdditionalLayer;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramExtensionDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationSet;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Diagram Extension Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl#getViewpointURI <em>Viewpoint
+ * URI</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl#getRepresentationName
+ * <em>Representation Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl#getMetamodel
+ * <em>Metamodel</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl#getLayers
+ * <em>Layers</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl#getValidationSet
+ * <em>Validation Set</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramExtensionDescriptionImpl#getConcerns
+ * <em>Concerns</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DiagramExtensionDescriptionImpl extends MinimalEObjectImpl.Container implements DiagramExtensionDescription {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = DiagramExtensionDescriptionImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getViewpointURI() <em>Viewpoint URI</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getViewpointURI()
+ * @generated
+ * @ordered
+ */
+ protected static final String VIEWPOINT_URI_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getViewpointURI() <em>Viewpoint URI</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getViewpointURI()
+ * @generated
+ * @ordered
+ */
+ protected String viewpointURI = DiagramExtensionDescriptionImpl.VIEWPOINT_URI_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRepresentationName() <em>Representation Name</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRepresentationName()
+ * @generated
+ * @ordered
+ */
+ protected static final String REPRESENTATION_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRepresentationName() <em>Representation Name</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRepresentationName()
+ * @generated
+ * @ordered
+ */
+ protected String representationName = DiagramExtensionDescriptionImpl.REPRESENTATION_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMetamodel() <em>Metamodel</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMetamodel()
+ * @generated
+ * @ordered
+ */
+ protected EList<EPackage> metamodel;
+
+ /**
+ * The cached value of the '{@link #getLayers() <em>Layers</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLayers()
+ * @generated
+ * @ordered
+ */
+ protected EList<AdditionalLayer> layers;
+
+ /**
+ * The cached value of the '{@link #getValidationSet() <em>Validation Set</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getValidationSet()
+ * @generated
+ * @ordered
+ */
+ protected ValidationSet validationSet;
+
+ /**
+ * The cached value of the '{@link #getConcerns() <em>Concerns</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getConcerns()
+ * @generated
+ * @ordered
+ */
+ protected ConcernSet concerns;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiagramExtensionDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.DIAGRAM_EXTENSION_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getViewpointURI() {
+ return viewpointURI;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setViewpointURI(String newViewpointURI) {
+ String oldViewpointURI = viewpointURI;
+ viewpointURI = newViewpointURI;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VIEWPOINT_URI, oldViewpointURI, viewpointURI));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getRepresentationName() {
+ return representationName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRepresentationName(String newRepresentationName) {
+ String oldRepresentationName = representationName;
+ representationName = newRepresentationName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__REPRESENTATION_NAME, oldRepresentationName, representationName));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EPackage> getMetamodel() {
+ if (metamodel == null) {
+ metamodel = new EObjectResolvingEList<>(EPackage.class, this, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__METAMODEL);
+ }
+ return metamodel;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AdditionalLayer> getLayers() {
+ if (layers == null) {
+ layers = new EObjectContainmentEList.Resolving<>(AdditionalLayer.class, this, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__LAYERS);
+ }
+ return layers;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ValidationSet getValidationSet() {
+ if (validationSet != null && validationSet.eIsProxy()) {
+ InternalEObject oldValidationSet = (InternalEObject) validationSet;
+ validationSet = (ValidationSet) eResolveProxy(oldValidationSet);
+ if (validationSet != oldValidationSet) {
+ InternalEObject newValidationSet = (InternalEObject) validationSet;
+ NotificationChain msgs = oldValidationSet.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET, null, null);
+ if (newValidationSet.eInternalContainer() == null) {
+ msgs = newValidationSet.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET, oldValidationSet, validationSet));
+ }
+ }
+ }
+ return validationSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ValidationSet basicGetValidationSet() {
+ return validationSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetValidationSet(ValidationSet newValidationSet, NotificationChain msgs) {
+ ValidationSet oldValidationSet = validationSet;
+ validationSet = newValidationSet;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET, oldValidationSet, newValidationSet);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValidationSet(ValidationSet newValidationSet) {
+ if (newValidationSet != validationSet) {
+ NotificationChain msgs = null;
+ if (validationSet != null) {
+ msgs = ((InternalEObject) validationSet).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ if (newValidationSet != null) {
+ msgs = ((InternalEObject) newValidationSet).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ msgs = basicSetValidationSet(newValidationSet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET, newValidationSet, newValidationSet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernSet getConcerns() {
+ if (concerns != null && concerns.eIsProxy()) {
+ InternalEObject oldConcerns = (InternalEObject) concerns;
+ concerns = (ConcernSet) eResolveProxy(oldConcerns);
+ if (concerns != oldConcerns) {
+ InternalEObject newConcerns = (InternalEObject) concerns;
+ NotificationChain msgs = oldConcerns.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS, null, null);
+ if (newConcerns.eInternalContainer() == null) {
+ msgs = newConcerns.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS, oldConcerns, concerns));
+ }
+ }
+ }
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcernSet basicGetConcerns() {
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetConcerns(ConcernSet newConcerns, NotificationChain msgs) {
+ ConcernSet oldConcerns = concerns;
+ concerns = newConcerns;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS, oldConcerns, newConcerns);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setConcerns(ConcernSet newConcerns) {
+ if (newConcerns != concerns) {
+ NotificationChain msgs = null;
+ if (concerns != null) {
+ msgs = ((InternalEObject) concerns).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ if (newConcerns != null) {
+ msgs = ((InternalEObject) newConcerns).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ msgs = basicSetConcerns(newConcerns, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS, newConcerns, newConcerns));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__LAYERS:
+ return ((InternalEList<?>) getLayers()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET:
+ return basicSetValidationSet(null, msgs);
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS:
+ return basicSetConcerns(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 DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__NAME:
+ return getName();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VIEWPOINT_URI:
+ return getViewpointURI();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__REPRESENTATION_NAME:
+ return getRepresentationName();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__METAMODEL:
+ return getMetamodel();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__LAYERS:
+ return getLayers();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET:
+ if (resolve) {
+ return getValidationSet();
+ }
+ return basicGetValidationSet();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS:
+ if (resolve) {
+ return getConcerns();
+ }
+ return basicGetConcerns();
+ }
+ 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 DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__NAME:
+ setName((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VIEWPOINT_URI:
+ setViewpointURI((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__REPRESENTATION_NAME:
+ setRepresentationName((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__METAMODEL:
+ getMetamodel().clear();
+ getMetamodel().addAll((Collection<? extends EPackage>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__LAYERS:
+ getLayers().clear();
+ getLayers().addAll((Collection<? extends AdditionalLayer>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET:
+ setValidationSet((ValidationSet) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS:
+ setConcerns((ConcernSet) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__NAME:
+ setName(DiagramExtensionDescriptionImpl.NAME_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VIEWPOINT_URI:
+ setViewpointURI(DiagramExtensionDescriptionImpl.VIEWPOINT_URI_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__REPRESENTATION_NAME:
+ setRepresentationName(DiagramExtensionDescriptionImpl.REPRESENTATION_NAME_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__METAMODEL:
+ getMetamodel().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__LAYERS:
+ getLayers().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET:
+ setValidationSet((ValidationSet) null);
+ return;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS:
+ setConcerns((ConcernSet) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__NAME:
+ return DiagramExtensionDescriptionImpl.NAME_EDEFAULT == null ? name != null : !DiagramExtensionDescriptionImpl.NAME_EDEFAULT.equals(name);
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VIEWPOINT_URI:
+ return DiagramExtensionDescriptionImpl.VIEWPOINT_URI_EDEFAULT == null ? viewpointURI != null : !DiagramExtensionDescriptionImpl.VIEWPOINT_URI_EDEFAULT.equals(viewpointURI);
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__REPRESENTATION_NAME:
+ return DiagramExtensionDescriptionImpl.REPRESENTATION_NAME_EDEFAULT == null ? representationName != null
+ : !DiagramExtensionDescriptionImpl.REPRESENTATION_NAME_EDEFAULT.equals(representationName);
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__METAMODEL:
+ return metamodel != null && !metamodel.isEmpty();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__LAYERS:
+ return layers != null && !layers.isEmpty();
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__VALIDATION_SET:
+ return validationSet != null;
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION__CONCERNS:
+ return concerns != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", viewpointURI: "); //$NON-NLS-1$
+ result.append(viewpointURI);
+ result.append(", representationName: "); //$NON-NLS-1$
+ result.append(representationName);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DiagramExtensionDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramImportDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramImportDescriptionImpl.java
new file mode 100644
index 0000000000..e847c235d4
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DiagramImportDescriptionImpl.java
@@ -0,0 +1,2254 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES and others.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+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.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.DSemanticDiagram;
+import org.eclipse.sirius.diagram.description.AdditionalLayer;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.DiagramImportDescription;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.Layer;
+import org.eclipse.sirius.diagram.description.Layout;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.concern.ConcernDescription;
+import org.eclipse.sirius.diagram.description.concern.ConcernSet;
+import org.eclipse.sirius.diagram.description.filter.FilterDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.EndUserDocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.PasteTargetDescription;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.PasteDescription;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationSet;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Diagram Import Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getEndUserDocumentation <em>End
+ * User Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getTitleExpression <em>Title
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#isInitialisation
+ * <em>Initialisation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getMetamodel
+ * <em>Metamodel</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#isShowOnStartup <em>Show On
+ * Startup</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getDropDescriptions <em>Drop
+ * Descriptions</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getPasteDescriptions <em>Paste
+ * Descriptions</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getFilters <em>Filters</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getValidationSet <em>Validation
+ * Set</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getConcerns
+ * <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getDomainClass <em>Domain
+ * Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getPreconditionExpression
+ * <em>Precondition Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getDefaultConcern <em>Default
+ * Concern</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getRootExpression <em>Root
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getInit <em>Init</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getLayout <em>Layout</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getDiagramInitialisation
+ * <em>Diagram Initialisation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getDefaultLayer <em>Default
+ * Layer</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getAdditionalLayers
+ * <em>Additional Layers</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getNodeMappings <em>Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getEdgeMappings <em>Edge
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getEdgeMappingImports <em>Edge
+ * Mapping Imports</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getContainerMappings
+ * <em>Container Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getReusedMappings <em>Reused
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getToolSection <em>Tool
+ * Section</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getReusedTools <em>Reused
+ * Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#isEnablePopupBars <em>Enable
+ * Popup Bars</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getBackgroundColor <em>Background
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DiagramImportDescriptionImpl#getImportedDiagram <em>Imported
+ * Diagram</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DiagramImportDescriptionImpl extends DocumentedElementImpl implements DiagramImportDescription {
+ /**
+ * The default value of the '{@link #getEndUserDocumentation() <em>End User Documentation</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndUserDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String END_USER_DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getEndUserDocumentation() <em>End User Documentation</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndUserDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String endUserDocumentation = DiagramImportDescriptionImpl.END_USER_DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = DiagramImportDescriptionImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = DiagramImportDescriptionImpl.LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTitleExpression() <em>Title Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTitleExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EXPRESSION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getTitleExpression() <em>Title Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTitleExpression()
+ * @generated
+ * @ordered
+ */
+ protected String titleExpression = DiagramImportDescriptionImpl.TITLE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isInitialisation() <em>Initialisation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isInitialisation()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INITIALISATION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isInitialisation() <em>Initialisation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isInitialisation()
+ * @generated
+ * @ordered
+ */
+ protected boolean initialisation = DiagramImportDescriptionImpl.INITIALISATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMetamodel() <em>Metamodel</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMetamodel()
+ * @generated
+ * @ordered
+ */
+ protected EList<EPackage> metamodel;
+
+ /**
+ * The default value of the '{@link #isShowOnStartup() <em>Show On Startup</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowOnStartup()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_ON_STARTUP_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isShowOnStartup() <em>Show On Startup</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowOnStartup()
+ * @generated
+ * @ordered
+ */
+ protected boolean showOnStartup = DiagramImportDescriptionImpl.SHOW_ON_STARTUP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDropDescriptions() <em>Drop Descriptions</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDropDescriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerDropDescription> dropDescriptions;
+
+ /**
+ * The cached value of the '{@link #getPasteDescriptions() <em>Paste Descriptions</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPasteDescriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<PasteDescription> pasteDescriptions;
+
+ /**
+ * The cached value of the '{@link #getFilters() <em>Filters</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getFilters()
+ * @generated
+ * @ordered
+ */
+ protected EList<FilterDescription> filters;
+
+ /**
+ * The cached value of the '{@link #getValidationSet() <em>Validation Set</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getValidationSet()
+ * @generated
+ * @ordered
+ */
+ protected ValidationSet validationSet;
+
+ /**
+ * The cached value of the '{@link #getConcerns() <em>Concerns</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getConcerns()
+ * @generated
+ * @ordered
+ */
+ protected ConcernSet concerns;
+
+ /**
+ * The default value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOMAIN_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected String domainClass = DiagramImportDescriptionImpl.DOMAIN_CLASS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPreconditionExpression() <em>Precondition Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPreconditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRECONDITION_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPreconditionExpression() <em>Precondition Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPreconditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected String preconditionExpression = DiagramImportDescriptionImpl.PRECONDITION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDefaultConcern() <em>Default Concern</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getDefaultConcern()
+ * @generated
+ * @ordered
+ */
+ protected ConcernDescription defaultConcern;
+
+ /**
+ * The default value of the '{@link #getRootExpression() <em>Root Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getRootExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String ROOT_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRootExpression() <em>Root Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getRootExpression()
+ * @generated
+ * @ordered
+ */
+ protected String rootExpression = DiagramImportDescriptionImpl.ROOT_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInit() <em>Init</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getInit()
+ * @generated
+ * @ordered
+ */
+ protected RepresentationCreationDescription init;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected Layout layout;
+
+ /**
+ * The cached value of the '{@link #getDiagramInitialisation() <em>Diagram Initialisation</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDiagramInitialisation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation diagramInitialisation;
+
+ /**
+ * The cached value of the '{@link #getDefaultLayer() <em>Default Layer</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDefaultLayer()
+ * @generated
+ * @ordered
+ */
+ protected Layer defaultLayer;
+
+ /**
+ * The cached value of the '{@link #getAdditionalLayers() <em>Additional Layers</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAdditionalLayers()
+ * @generated
+ * @ordered
+ */
+ protected EList<AdditionalLayer> additionalLayers;
+
+ /**
+ * The cached value of the '{@link #getNodeMappings() <em>Node Mappings</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getNodeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeMapping> nodeMappings;
+
+ /**
+ * The cached value of the '{@link #getEdgeMappings() <em>Edge Mappings</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEdgeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<EdgeMapping> edgeMappings;
+
+ /**
+ * The cached value of the '{@link #getEdgeMappingImports() <em>Edge Mapping Imports</em>}' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEdgeMappingImports()
+ * @generated
+ * @ordered
+ */
+ protected EList<EdgeMappingImport> edgeMappingImports;
+
+ /**
+ * The cached value of the '{@link #getContainerMappings() <em>Container Mappings</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getContainerMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerMapping> containerMappings;
+
+ /**
+ * The cached value of the '{@link #getReusedMappings() <em>Reused Mappings</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReusedMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> reusedMappings;
+
+ /**
+ * The cached value of the '{@link #getToolSection() <em>Tool Section</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getToolSection()
+ * @generated
+ * @ordered
+ */
+ protected ToolSection toolSection;
+
+ /**
+ * The cached value of the '{@link #getReusedTools() <em>Reused Tools</em>}' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getReusedTools()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractToolDescription> reusedTools;
+
+ /**
+ * The default value of the '{@link #isEnablePopupBars() <em>Enable Popup Bars</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isEnablePopupBars()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ENABLE_POPUP_BARS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isEnablePopupBars() <em>Enable Popup Bars</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isEnablePopupBars()
+ * @generated
+ * @ordered
+ */
+ protected boolean enablePopupBars = DiagramImportDescriptionImpl.ENABLE_POPUP_BARS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBackgroundColor() <em>Background Color</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBackgroundColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription backgroundColor;
+
+ /**
+ * The cached value of the '{@link #getImportedDiagram() <em>Imported Diagram</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getImportedDiagram()
+ * @generated
+ * @ordered
+ */
+ protected DiagramDescription importedDiagram;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiagramImportDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.DIAGRAM_IMPORT_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getEndUserDocumentation() {
+ return endUserDocumentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEndUserDocumentation(String newEndUserDocumentation) {
+ String oldEndUserDocumentation = endUserDocumentation;
+ endUserDocumentation = newEndUserDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION, oldEndUserDocumentation, endUserDocumentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTitleExpression() {
+ return titleExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTitleExpression(String newTitleExpression) {
+ String oldTitleExpression = titleExpression;
+ titleExpression = newTitleExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TITLE_EXPRESSION, oldTitleExpression, titleExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isInitialisation() {
+ return initialisation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialisation(boolean newInitialisation) {
+ boolean oldInitialisation = initialisation;
+ initialisation = newInitialisation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INITIALISATION, oldInitialisation, initialisation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EPackage> getMetamodel() {
+ if (metamodel == null) {
+ metamodel = new EObjectResolvingEList<>(EPackage.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__METAMODEL);
+ }
+ return metamodel;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowOnStartup() {
+ return showOnStartup;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowOnStartup(boolean newShowOnStartup) {
+ boolean oldShowOnStartup = showOnStartup;
+ showOnStartup = newShowOnStartup;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__SHOW_ON_STARTUP, oldShowOnStartup, showOnStartup));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerDropDescription> getDropDescriptions() {
+ if (dropDescriptions == null) {
+ dropDescriptions = new EObjectResolvingEList<>(ContainerDropDescription.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DROP_DESCRIPTIONS);
+ }
+ return dropDescriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<PasteDescription> getPasteDescriptions() {
+ if (pasteDescriptions == null) {
+ pasteDescriptions = new EObjectResolvingEList<>(PasteDescription.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PASTE_DESCRIPTIONS);
+ }
+ return pasteDescriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<FilterDescription> getFilters() {
+ if (filters == null) {
+ filters = new EObjectContainmentEList.Resolving<>(FilterDescription.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__FILTERS);
+ }
+ return filters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ValidationSet getValidationSet() {
+ if (validationSet != null && validationSet.eIsProxy()) {
+ InternalEObject oldValidationSet = (InternalEObject) validationSet;
+ validationSet = (ValidationSet) eResolveProxy(oldValidationSet);
+ if (validationSet != oldValidationSet) {
+ InternalEObject newValidationSet = (InternalEObject) validationSet;
+ NotificationChain msgs = oldValidationSet.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET, null, null);
+ if (newValidationSet.eInternalContainer() == null) {
+ msgs = newValidationSet.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET, oldValidationSet, validationSet));
+ }
+ }
+ }
+ return validationSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ValidationSet basicGetValidationSet() {
+ return validationSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetValidationSet(ValidationSet newValidationSet, NotificationChain msgs) {
+ ValidationSet oldValidationSet = validationSet;
+ validationSet = newValidationSet;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET, oldValidationSet, newValidationSet);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValidationSet(ValidationSet newValidationSet) {
+ if (newValidationSet != validationSet) {
+ NotificationChain msgs = null;
+ if (validationSet != null) {
+ msgs = ((InternalEObject) validationSet).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ if (newValidationSet != null) {
+ msgs = ((InternalEObject) newValidationSet).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET, null, msgs);
+ }
+ msgs = basicSetValidationSet(newValidationSet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET, newValidationSet, newValidationSet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernSet getConcerns() {
+ if (concerns != null && concerns.eIsProxy()) {
+ InternalEObject oldConcerns = (InternalEObject) concerns;
+ concerns = (ConcernSet) eResolveProxy(oldConcerns);
+ if (concerns != oldConcerns) {
+ InternalEObject newConcerns = (InternalEObject) concerns;
+ NotificationChain msgs = oldConcerns.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS, null, null);
+ if (newConcerns.eInternalContainer() == null) {
+ msgs = newConcerns.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS, oldConcerns, concerns));
+ }
+ }
+ }
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcernSet basicGetConcerns() {
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetConcerns(ConcernSet newConcerns, NotificationChain msgs) {
+ ConcernSet oldConcerns = concerns;
+ concerns = newConcerns;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS, oldConcerns, newConcerns);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setConcerns(ConcernSet newConcerns) {
+ if (newConcerns != concerns) {
+ NotificationChain msgs = null;
+ if (concerns != null) {
+ msgs = ((InternalEObject) concerns).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ if (newConcerns != null) {
+ msgs = ((InternalEObject) newConcerns).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS, null, msgs);
+ }
+ msgs = basicSetConcerns(newConcerns, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS, newConcerns, newConcerns));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDomainClass() {
+ return domainClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDomainClass(String newDomainClass) {
+ String oldDomainClass = domainClass;
+ domainClass = newDomainClass;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DOMAIN_CLASS, oldDomainClass, domainClass));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getPreconditionExpression() {
+ return preconditionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setPreconditionExpression(String newPreconditionExpression) {
+ String oldPreconditionExpression = preconditionExpression;
+ preconditionExpression = newPreconditionExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PRECONDITION_EXPRESSION, oldPreconditionExpression, preconditionExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConcernDescription getDefaultConcern() {
+ if (defaultConcern != null && defaultConcern.eIsProxy()) {
+ InternalEObject oldDefaultConcern = (InternalEObject) defaultConcern;
+ defaultConcern = (ConcernDescription) eResolveProxy(oldDefaultConcern);
+ if (defaultConcern != oldDefaultConcern) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN, oldDefaultConcern, defaultConcern));
+ }
+ }
+ }
+ return defaultConcern;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcernDescription basicGetDefaultConcern() {
+ return defaultConcern;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDefaultConcern(ConcernDescription newDefaultConcern) {
+ ConcernDescription oldDefaultConcern = defaultConcern;
+ defaultConcern = newDefaultConcern;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN, oldDefaultConcern, defaultConcern));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getRootExpression() {
+ return rootExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRootExpression(String newRootExpression) {
+ String oldRootExpression = rootExpression;
+ rootExpression = newRootExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ROOT_EXPRESSION, oldRootExpression, rootExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public RepresentationCreationDescription getInit() {
+ if (init != null && init.eIsProxy()) {
+ InternalEObject oldInit = (InternalEObject) init;
+ init = (RepresentationCreationDescription) eResolveProxy(oldInit);
+ if (init != oldInit) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INIT, oldInit, init));
+ }
+ }
+ }
+ return init;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RepresentationCreationDescription basicGetInit() {
+ return init;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInit(RepresentationCreationDescription newInit) {
+ RepresentationCreationDescription oldInit = init;
+ init = newInit;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INIT, oldInit, init));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Layout getLayout() {
+ if (layout != null && layout.eIsProxy()) {
+ InternalEObject oldLayout = (InternalEObject) layout;
+ layout = (Layout) eResolveProxy(oldLayout);
+ if (layout != oldLayout) {
+ InternalEObject newLayout = (InternalEObject) layout;
+ NotificationChain msgs = oldLayout.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT, null, null);
+ if (newLayout.eInternalContainer() == null) {
+ msgs = newLayout.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT, oldLayout, layout));
+ }
+ }
+ }
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Layout basicGetLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetLayout(Layout newLayout, NotificationChain msgs) {
+ Layout oldLayout = layout;
+ layout = newLayout;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT, oldLayout, newLayout);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLayout(Layout newLayout) {
+ if (newLayout != layout) {
+ NotificationChain msgs = null;
+ if (layout != null) {
+ msgs = ((InternalEObject) layout).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT, null, msgs);
+ }
+ if (newLayout != null) {
+ msgs = ((InternalEObject) newLayout).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT, null, msgs);
+ }
+ msgs = basicSetLayout(newLayout, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT, newLayout, newLayout));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialOperation getDiagramInitialisation() {
+ if (diagramInitialisation != null && diagramInitialisation.eIsProxy()) {
+ InternalEObject oldDiagramInitialisation = (InternalEObject) diagramInitialisation;
+ diagramInitialisation = (InitialOperation) eResolveProxy(oldDiagramInitialisation);
+ if (diagramInitialisation != oldDiagramInitialisation) {
+ InternalEObject newDiagramInitialisation = (InternalEObject) diagramInitialisation;
+ NotificationChain msgs = oldDiagramInitialisation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION,
+ null, null);
+ if (newDiagramInitialisation.eInternalContainer() == null) {
+ msgs = newDiagramInitialisation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION, oldDiagramInitialisation, diagramInitialisation));
+ }
+ }
+ }
+ return diagramInitialisation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialOperation basicGetDiagramInitialisation() {
+ return diagramInitialisation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDiagramInitialisation(InitialOperation newDiagramInitialisation, NotificationChain msgs) {
+ InitialOperation oldDiagramInitialisation = diagramInitialisation;
+ diagramInitialisation = newDiagramInitialisation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION, oldDiagramInitialisation,
+ newDiagramInitialisation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDiagramInitialisation(InitialOperation newDiagramInitialisation) {
+ if (newDiagramInitialisation != diagramInitialisation) {
+ NotificationChain msgs = null;
+ if (diagramInitialisation != null) {
+ msgs = ((InternalEObject) diagramInitialisation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION,
+ null, msgs);
+ }
+ if (newDiagramInitialisation != null) {
+ msgs = ((InternalEObject) newDiagramInitialisation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION,
+ null, msgs);
+ }
+ msgs = basicSetDiagramInitialisation(newDiagramInitialisation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION, newDiagramInitialisation, newDiagramInitialisation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Layer getDefaultLayer() {
+ if (defaultLayer != null && defaultLayer.eIsProxy()) {
+ InternalEObject oldDefaultLayer = (InternalEObject) defaultLayer;
+ defaultLayer = (Layer) eResolveProxy(oldDefaultLayer);
+ if (defaultLayer != oldDefaultLayer) {
+ InternalEObject newDefaultLayer = (InternalEObject) defaultLayer;
+ NotificationChain msgs = oldDefaultLayer.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER, null, null);
+ if (newDefaultLayer.eInternalContainer() == null) {
+ msgs = newDefaultLayer.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER, oldDefaultLayer, defaultLayer));
+ }
+ }
+ }
+ return defaultLayer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Layer basicGetDefaultLayer() {
+ return defaultLayer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDefaultLayer(Layer newDefaultLayer, NotificationChain msgs) {
+ Layer oldDefaultLayer = defaultLayer;
+ defaultLayer = newDefaultLayer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER, oldDefaultLayer, newDefaultLayer);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDefaultLayer(Layer newDefaultLayer) {
+ if (newDefaultLayer != defaultLayer) {
+ NotificationChain msgs = null;
+ if (defaultLayer != null) {
+ msgs = ((InternalEObject) defaultLayer).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER, null, msgs);
+ }
+ if (newDefaultLayer != null) {
+ msgs = ((InternalEObject) newDefaultLayer).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER, null, msgs);
+ }
+ msgs = basicSetDefaultLayer(newDefaultLayer, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER, newDefaultLayer, newDefaultLayer));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AdditionalLayer> getAdditionalLayers() {
+ if (additionalLayers == null) {
+ additionalLayers = new EObjectContainmentEList.Resolving<>(AdditionalLayer.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS);
+ }
+ return additionalLayers;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<NodeMapping> getNodeMappings() {
+ if (nodeMappings == null) {
+ nodeMappings = new EObjectContainmentEList.Resolving<>(NodeMapping.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS);
+ }
+ return nodeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EdgeMapping> getEdgeMappings() {
+ if (edgeMappings == null) {
+ edgeMappings = new EObjectContainmentEList.Resolving<>(EdgeMapping.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS);
+ }
+ return edgeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EdgeMappingImport> getEdgeMappingImports() {
+ if (edgeMappingImports == null) {
+ edgeMappingImports = new EObjectContainmentEList.Resolving<>(EdgeMappingImport.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS);
+ }
+ return edgeMappingImports;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerMapping> getContainerMappings() {
+ if (containerMappings == null) {
+ containerMappings = new EObjectContainmentEList.Resolving<>(ContainerMapping.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS);
+ }
+ return containerMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getReusedMappings() {
+ if (reusedMappings == null) {
+ reusedMappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_MAPPINGS);
+ }
+ return reusedMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ToolSection getToolSection() {
+ if (toolSection != null && toolSection.eIsProxy()) {
+ InternalEObject oldToolSection = (InternalEObject) toolSection;
+ toolSection = (ToolSection) eResolveProxy(oldToolSection);
+ if (toolSection != oldToolSection) {
+ InternalEObject newToolSection = (InternalEObject) toolSection;
+ NotificationChain msgs = oldToolSection.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION, null, null);
+ if (newToolSection.eInternalContainer() == null) {
+ msgs = newToolSection.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION, oldToolSection, toolSection));
+ }
+ }
+ }
+ return toolSection;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ToolSection basicGetToolSection() {
+ return toolSection;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetToolSection(ToolSection newToolSection, NotificationChain msgs) {
+ ToolSection oldToolSection = toolSection;
+ toolSection = newToolSection;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION, oldToolSection, newToolSection);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setToolSection(ToolSection newToolSection) {
+ if (newToolSection != toolSection) {
+ NotificationChain msgs = null;
+ if (toolSection != null) {
+ msgs = ((InternalEObject) toolSection).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION, null, msgs);
+ }
+ if (newToolSection != null) {
+ msgs = ((InternalEObject) newToolSection).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION, null, msgs);
+ }
+ msgs = basicSetToolSection(newToolSection, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION, newToolSection, newToolSection));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractToolDescription> getReusedTools() {
+ if (reusedTools == null) {
+ reusedTools = new EObjectResolvingEList<>(AbstractToolDescription.class, this, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_TOOLS);
+ }
+ return reusedTools;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isEnablePopupBars() {
+ return enablePopupBars;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEnablePopupBars(boolean newEnablePopupBars) {
+ boolean oldEnablePopupBars = enablePopupBars;
+ enablePopupBars = newEnablePopupBars;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ENABLE_POPUP_BARS, oldEnablePopupBars, enablePopupBars));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBackgroundColor() {
+ if (backgroundColor != null && backgroundColor.eIsProxy()) {
+ InternalEObject oldBackgroundColor = (InternalEObject) backgroundColor;
+ backgroundColor = (ColorDescription) eResolveProxy(oldBackgroundColor);
+ if (backgroundColor != oldBackgroundColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+ }
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBackgroundColor() {
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBackgroundColor(ColorDescription newBackgroundColor) {
+ ColorDescription oldBackgroundColor = backgroundColor;
+ backgroundColor = newBackgroundColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DiagramDescription getImportedDiagram() {
+ if (importedDiagram != null && importedDiagram.eIsProxy()) {
+ InternalEObject oldImportedDiagram = (InternalEObject) importedDiagram;
+ importedDiagram = (DiagramDescription) eResolveProxy(oldImportedDiagram);
+ if (importedDiagram != oldImportedDiagram) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM, oldImportedDiagram, importedDiagram));
+ }
+ }
+ }
+ return importedDiagram;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramDescription basicGetImportedDiagram() {
+ return importedDiagram;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setImportedDiagram(DiagramDescription newImportedDiagram) {
+ DiagramDescription oldImportedDiagram = importedDiagram;
+ importedDiagram = newImportedDiagram;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM, oldImportedDiagram, importedDiagram));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DSemanticDiagram createDiagram() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__FILTERS:
+ return ((InternalEList<?>) getFilters()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET:
+ return basicSetValidationSet(null, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS:
+ return basicSetConcerns(null, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT:
+ return basicSetLayout(null, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION:
+ return basicSetDiagramInitialisation(null, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER:
+ return basicSetDefaultLayer(null, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS:
+ return ((InternalEList<?>) getAdditionalLayers()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS:
+ return ((InternalEList<?>) getNodeMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS:
+ return ((InternalEList<?>) getEdgeMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ return ((InternalEList<?>) getEdgeMappingImports()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS:
+ return ((InternalEList<?>) getContainerMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION:
+ return basicSetToolSection(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 DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION:
+ return getEndUserDocumentation();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NAME:
+ return getName();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LABEL:
+ return getLabel();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TITLE_EXPRESSION:
+ return getTitleExpression();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INITIALISATION:
+ return isInitialisation();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__METAMODEL:
+ return getMetamodel();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__SHOW_ON_STARTUP:
+ return isShowOnStartup();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DROP_DESCRIPTIONS:
+ return getDropDescriptions();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return getPasteDescriptions();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__FILTERS:
+ return getFilters();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET:
+ if (resolve) {
+ return getValidationSet();
+ }
+ return basicGetValidationSet();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS:
+ if (resolve) {
+ return getConcerns();
+ }
+ return basicGetConcerns();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DOMAIN_CLASS:
+ return getDomainClass();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PRECONDITION_EXPRESSION:
+ return getPreconditionExpression();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN:
+ if (resolve) {
+ return getDefaultConcern();
+ }
+ return basicGetDefaultConcern();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ROOT_EXPRESSION:
+ return getRootExpression();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INIT:
+ if (resolve) {
+ return getInit();
+ }
+ return basicGetInit();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT:
+ if (resolve) {
+ return getLayout();
+ }
+ return basicGetLayout();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION:
+ if (resolve) {
+ return getDiagramInitialisation();
+ }
+ return basicGetDiagramInitialisation();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER:
+ if (resolve) {
+ return getDefaultLayer();
+ }
+ return basicGetDefaultLayer();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS:
+ return getAdditionalLayers();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS:
+ return getNodeMappings();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS:
+ return getEdgeMappings();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ return getEdgeMappingImports();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS:
+ return getContainerMappings();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_MAPPINGS:
+ return getReusedMappings();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION:
+ if (resolve) {
+ return getToolSection();
+ }
+ return basicGetToolSection();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_TOOLS:
+ return getReusedTools();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ENABLE_POPUP_BARS:
+ return isEnablePopupBars();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR:
+ if (resolve) {
+ return getBackgroundColor();
+ }
+ return basicGetBackgroundColor();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM:
+ if (resolve) {
+ return getImportedDiagram();
+ }
+ return basicGetImportedDiagram();
+ }
+ 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 DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION:
+ setEndUserDocumentation((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NAME:
+ setName((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LABEL:
+ setLabel((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TITLE_EXPRESSION:
+ setTitleExpression((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INITIALISATION:
+ setInitialisation((Boolean) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__METAMODEL:
+ getMetamodel().clear();
+ getMetamodel().addAll((Collection<? extends EPackage>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__SHOW_ON_STARTUP:
+ setShowOnStartup((Boolean) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DROP_DESCRIPTIONS:
+ getDropDescriptions().clear();
+ getDropDescriptions().addAll((Collection<? extends ContainerDropDescription>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PASTE_DESCRIPTIONS:
+ getPasteDescriptions().clear();
+ getPasteDescriptions().addAll((Collection<? extends PasteDescription>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__FILTERS:
+ getFilters().clear();
+ getFilters().addAll((Collection<? extends FilterDescription>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET:
+ setValidationSet((ValidationSet) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS:
+ setConcerns((ConcernSet) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DOMAIN_CLASS:
+ setDomainClass((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PRECONDITION_EXPRESSION:
+ setPreconditionExpression((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN:
+ setDefaultConcern((ConcernDescription) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ROOT_EXPRESSION:
+ setRootExpression((String) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INIT:
+ setInit((RepresentationCreationDescription) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT:
+ setLayout((Layout) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION:
+ setDiagramInitialisation((InitialOperation) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER:
+ setDefaultLayer((Layer) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS:
+ getAdditionalLayers().clear();
+ getAdditionalLayers().addAll((Collection<? extends AdditionalLayer>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS:
+ getNodeMappings().clear();
+ getNodeMappings().addAll((Collection<? extends NodeMapping>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS:
+ getEdgeMappings().clear();
+ getEdgeMappings().addAll((Collection<? extends EdgeMapping>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ getEdgeMappingImports().clear();
+ getEdgeMappingImports().addAll((Collection<? extends EdgeMappingImport>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS:
+ getContainerMappings().clear();
+ getContainerMappings().addAll((Collection<? extends ContainerMapping>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_MAPPINGS:
+ getReusedMappings().clear();
+ getReusedMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION:
+ setToolSection((ToolSection) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_TOOLS:
+ getReusedTools().clear();
+ getReusedTools().addAll((Collection<? extends AbstractToolDescription>) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ENABLE_POPUP_BARS:
+ setEnablePopupBars((Boolean) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) newValue);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM:
+ setImportedDiagram((DiagramDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION:
+ setEndUserDocumentation(DiagramImportDescriptionImpl.END_USER_DOCUMENTATION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NAME:
+ setName(DiagramImportDescriptionImpl.NAME_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LABEL:
+ setLabel(DiagramImportDescriptionImpl.LABEL_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TITLE_EXPRESSION:
+ setTitleExpression(DiagramImportDescriptionImpl.TITLE_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INITIALISATION:
+ setInitialisation(DiagramImportDescriptionImpl.INITIALISATION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__METAMODEL:
+ getMetamodel().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__SHOW_ON_STARTUP:
+ setShowOnStartup(DiagramImportDescriptionImpl.SHOW_ON_STARTUP_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DROP_DESCRIPTIONS:
+ getDropDescriptions().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PASTE_DESCRIPTIONS:
+ getPasteDescriptions().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__FILTERS:
+ getFilters().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET:
+ setValidationSet((ValidationSet) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS:
+ setConcerns((ConcernSet) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DOMAIN_CLASS:
+ setDomainClass(DiagramImportDescriptionImpl.DOMAIN_CLASS_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PRECONDITION_EXPRESSION:
+ setPreconditionExpression(DiagramImportDescriptionImpl.PRECONDITION_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN:
+ setDefaultConcern((ConcernDescription) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ROOT_EXPRESSION:
+ setRootExpression(DiagramImportDescriptionImpl.ROOT_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INIT:
+ setInit((RepresentationCreationDescription) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT:
+ setLayout((Layout) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION:
+ setDiagramInitialisation((InitialOperation) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER:
+ setDefaultLayer((Layer) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS:
+ getAdditionalLayers().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS:
+ getNodeMappings().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS:
+ getEdgeMappings().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ getEdgeMappingImports().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS:
+ getContainerMappings().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_MAPPINGS:
+ getReusedMappings().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION:
+ setToolSection((ToolSection) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_TOOLS:
+ getReusedTools().clear();
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ENABLE_POPUP_BARS:
+ setEnablePopupBars(DiagramImportDescriptionImpl.ENABLE_POPUP_BARS_EDEFAULT);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) null);
+ return;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM:
+ setImportedDiagram((DiagramDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION:
+ return DiagramImportDescriptionImpl.END_USER_DOCUMENTATION_EDEFAULT == null ? endUserDocumentation != null
+ : !DiagramImportDescriptionImpl.END_USER_DOCUMENTATION_EDEFAULT.equals(endUserDocumentation);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NAME:
+ return DiagramImportDescriptionImpl.NAME_EDEFAULT == null ? name != null : !DiagramImportDescriptionImpl.NAME_EDEFAULT.equals(name);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LABEL:
+ return DiagramImportDescriptionImpl.LABEL_EDEFAULT == null ? label != null : !DiagramImportDescriptionImpl.LABEL_EDEFAULT.equals(label);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TITLE_EXPRESSION:
+ return DiagramImportDescriptionImpl.TITLE_EXPRESSION_EDEFAULT == null ? titleExpression != null : !DiagramImportDescriptionImpl.TITLE_EXPRESSION_EDEFAULT.equals(titleExpression);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INITIALISATION:
+ return initialisation != DiagramImportDescriptionImpl.INITIALISATION_EDEFAULT;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__METAMODEL:
+ return metamodel != null && !metamodel.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__SHOW_ON_STARTUP:
+ return showOnStartup != DiagramImportDescriptionImpl.SHOW_ON_STARTUP_EDEFAULT;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DROP_DESCRIPTIONS:
+ return dropDescriptions != null && !dropDescriptions.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return pasteDescriptions != null && !pasteDescriptions.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__FILTERS:
+ return filters != null && !filters.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET:
+ return validationSet != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS:
+ return concerns != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DOMAIN_CLASS:
+ return DiagramImportDescriptionImpl.DOMAIN_CLASS_EDEFAULT == null ? domainClass != null : !DiagramImportDescriptionImpl.DOMAIN_CLASS_EDEFAULT.equals(domainClass);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PRECONDITION_EXPRESSION:
+ return DiagramImportDescriptionImpl.PRECONDITION_EXPRESSION_EDEFAULT == null ? preconditionExpression != null
+ : !DiagramImportDescriptionImpl.PRECONDITION_EXPRESSION_EDEFAULT.equals(preconditionExpression);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN:
+ return defaultConcern != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ROOT_EXPRESSION:
+ return DiagramImportDescriptionImpl.ROOT_EXPRESSION_EDEFAULT == null ? rootExpression != null : !DiagramImportDescriptionImpl.ROOT_EXPRESSION_EDEFAULT.equals(rootExpression);
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INIT:
+ return init != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT:
+ return layout != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION:
+ return diagramInitialisation != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER:
+ return defaultLayer != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS:
+ return additionalLayers != null && !additionalLayers.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS:
+ return nodeMappings != null && !nodeMappings.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS:
+ return edgeMappings != null && !edgeMappings.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ return edgeMappingImports != null && !edgeMappingImports.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS:
+ return containerMappings != null && !containerMappings.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_MAPPINGS:
+ return reusedMappings != null && !reusedMappings.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION:
+ return toolSection != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_TOOLS:
+ return reusedTools != null && !reusedTools.isEmpty();
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ENABLE_POPUP_BARS:
+ return enablePopupBars != DiagramImportDescriptionImpl.ENABLE_POPUP_BARS_EDEFAULT;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR:
+ return backgroundColor != null;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__IMPORTED_DIAGRAM:
+ return importedDiagram != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == EndUserDocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.END_USER_DOCUMENTED_ELEMENT__END_USER_DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NAME:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LABEL:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DragAndDropTargetDescription.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DROP_DESCRIPTIONS:
+ return DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == PasteTargetDescription.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.PASTE_TARGET_DESCRIPTION__PASTE_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DiagramDescription.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__FILTERS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DOMAIN_CLASS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__DOMAIN_CLASS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PRECONDITION_EXPRESSION:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ROOT_EXPRESSION:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__ROOT_EXPRESSION;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INIT:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__INIT;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_MAPPINGS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_MAPPINGS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_TOOLS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_TOOLS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ENABLE_POPUP_BARS:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS;
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR:
+ return DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == EndUserDocumentedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.END_USER_DOCUMENTED_ELEMENT__END_USER_DOCUMENTATION:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__END_USER_DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NAME;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LABEL;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DragAndDropTargetDescription.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DROP_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == PasteTargetDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.PASTE_TARGET_DESCRIPTION__PASTE_DESCRIPTIONS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PASTE_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DiagramDescription.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__FILTERS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__FILTERS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__VALIDATION_SET:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__VALIDATION_SET;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONCERNS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONCERNS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DOMAIN_CLASS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DOMAIN_CLASS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__PRECONDITION_EXPRESSION:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__PRECONDITION_EXPRESSION;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_CONCERN:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_CONCERN;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ROOT_EXPRESSION:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ROOT_EXPRESSION;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__INIT:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__INIT;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__LAYOUT:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__LAYOUT;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DIAGRAM_INITIALISATION:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DIAGRAM_INITIALISATION;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__DEFAULT_LAYER:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__DEFAULT_LAYER;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ADDITIONAL_LAYERS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ADDITIONAL_LAYERS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__NODE_MAPPINGS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__NODE_MAPPINGS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPINGS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPINGS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__EDGE_MAPPING_IMPORTS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__EDGE_MAPPING_IMPORTS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__CONTAINER_MAPPINGS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__CONTAINER_MAPPINGS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_MAPPINGS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_MAPPINGS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__TOOL_SECTION:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__TOOL_SECTION;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__REUSED_TOOLS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__REUSED_TOOLS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__ENABLE_POPUP_BARS:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__ENABLE_POPUP_BARS;
+ case DescriptionPackage.DIAGRAM_DESCRIPTION__BACKGROUND_COLOR:
+ return DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION__BACKGROUND_COLOR;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (endUserDocumentation: "); //$NON-NLS-1$
+ result.append(endUserDocumentation);
+ result.append(", name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(", titleExpression: "); //$NON-NLS-1$
+ result.append(titleExpression);
+ result.append(", initialisation: "); //$NON-NLS-1$
+ result.append(initialisation);
+ result.append(", showOnStartup: "); //$NON-NLS-1$
+ result.append(showOnStartup);
+ result.append(", domainClass: "); //$NON-NLS-1$
+ result.append(domainClass);
+ result.append(", preconditionExpression: "); //$NON-NLS-1$
+ result.append(preconditionExpression);
+ result.append(", rootExpression: "); //$NON-NLS-1$
+ result.append(rootExpression);
+ result.append(", enablePopupBars: "); //$NON-NLS-1$
+ result.append(enablePopupBars);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DiagramImportDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DoubleLayoutOptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DoubleLayoutOptionImpl.java
new file mode 100644
index 0000000000..005f0dbe77
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DoubleLayoutOptionImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DoubleLayoutOption;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Double Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DoubleLayoutOptionImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DoubleLayoutOptionImpl extends LayoutOptionImpl implements DoubleLayoutOption {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final double VALUE_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected double value = DoubleLayoutOptionImpl.VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DoubleLayoutOptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.DOUBLE_LAYOUT_OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public double getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValue(double newValue) {
+ double oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.DOUBLE_LAYOUT_OPTION__VALUE, oldValue, value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.DOUBLE_LAYOUT_OPTION__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.DOUBLE_LAYOUT_OPTION__VALUE:
+ setValue((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DOUBLE_LAYOUT_OPTION__VALUE:
+ setValue(DoubleLayoutOptionImpl.VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DOUBLE_LAYOUT_OPTION__VALUE:
+ return value != DoubleLayoutOptionImpl.VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DoubleLayoutOptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DragAndDropTargetDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DragAndDropTargetDescriptionImpl.java
new file mode 100644
index 0000000000..23bb643422
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/DragAndDropTargetDescriptionImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Drag And Drop Target Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.DragAndDropTargetDescriptionImpl#getDropDescriptions <em>Drop
+ * Descriptions</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DragAndDropTargetDescriptionImpl extends MinimalEObjectImpl.Container implements DragAndDropTargetDescription {
+ /**
+ * The cached value of the '{@link #getDropDescriptions() <em>Drop Descriptions</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDropDescriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerDropDescription> dropDescriptions;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DragAndDropTargetDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.DRAG_AND_DROP_TARGET_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerDropDescription> getDropDescriptions() {
+ if (dropDescriptions == null) {
+ dropDescriptions = new EObjectResolvingEList<>(ContainerDropDescription.class, this, DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS);
+ }
+ return dropDescriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS:
+ return getDropDescriptions();
+ }
+ 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 DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS:
+ getDropDescriptions().clear();
+ getDropDescriptions().addAll((Collection<? extends ContainerDropDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS:
+ getDropDescriptions().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS:
+ return dropDescriptions != null && !dropDescriptions.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DragAndDropTargetDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EdgeMappingImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EdgeMappingImpl.java
new file mode 100644
index 0000000000..fc9d4cced0
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EdgeMappingImpl.java
@@ -0,0 +1,882 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.IEdgeMapping;
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Edge Mapping</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getSourceMapping <em>Source Mapping</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getTargetMapping <em>Target Mapping</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getTargetFinderExpression <em>Target Finder
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getSourceFinderExpression <em>Source Finder
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getStyle <em>Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getTargetExpression <em>Target
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getDomainClass <em>Domain Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#isUseDomainElement <em>Use Domain
+ * Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getReconnections <em>Reconnections</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getPathExpression <em>Path
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImpl#getPathNodeMapping <em>Path Node
+ * Mapping</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EdgeMappingImpl extends DiagramElementMappingImpl implements EdgeMapping {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = EdgeMappingImpl.DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSourceMapping() <em>Source Mapping</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getSourceMapping()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> sourceMapping;
+
+ /**
+ * The cached value of the '{@link #getTargetMapping() <em>Target Mapping</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTargetMapping()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> targetMapping;
+
+ /**
+ * The default value of the '{@link #getTargetFinderExpression() <em>Target Finder Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetFinderExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_FINDER_EXPRESSION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getTargetFinderExpression() <em>Target Finder Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetFinderExpression()
+ * @generated
+ * @ordered
+ */
+ protected String targetFinderExpression = EdgeMappingImpl.TARGET_FINDER_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSourceFinderExpression() <em>Source Finder Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSourceFinderExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String SOURCE_FINDER_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSourceFinderExpression() <em>Source Finder Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSourceFinderExpression()
+ * @generated
+ * @ordered
+ */
+ protected String sourceFinderExpression = EdgeMappingImpl.SOURCE_FINDER_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getStyle() <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStyle()
+ * @generated
+ * @ordered
+ */
+ protected EdgeStyleDescription style;
+
+ /**
+ * The cached value of the '{@link #getConditionnalStyles() <em>Conditionnal Styles</em>}' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConditionnalStyles()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConditionalEdgeStyleDescription> conditionnalStyles;
+
+ /**
+ * The default value of the '{@link #getTargetExpression() <em>Target Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetExpression() <em>Target Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetExpression()
+ * @generated
+ * @ordered
+ */
+ protected String targetExpression = EdgeMappingImpl.TARGET_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOMAIN_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected String domainClass = EdgeMappingImpl.DOMAIN_CLASS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUseDomainElement() <em>Use Domain Element</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isUseDomainElement()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean USE_DOMAIN_ELEMENT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isUseDomainElement() <em>Use Domain Element</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isUseDomainElement()
+ * @generated
+ * @ordered
+ */
+ protected boolean useDomainElement = EdgeMappingImpl.USE_DOMAIN_ELEMENT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getReconnections() <em>Reconnections</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getReconnections()
+ * @generated
+ * @ordered
+ */
+ protected EList<ReconnectEdgeDescription> reconnections;
+
+ /**
+ * The default value of the '{@link #getPathExpression() <em>Path Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getPathExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String PATH_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPathExpression() <em>Path Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getPathExpression()
+ * @generated
+ * @ordered
+ */
+ protected String pathExpression = EdgeMappingImpl.PATH_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPathNodeMapping() <em>Path Node Mapping</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPathNodeMapping()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractNodeMapping> pathNodeMapping;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EdgeMappingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.EDGE_MAPPING;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__DOCUMENTATION, oldDocumentation, documentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getSourceMapping() {
+ if (sourceMapping == null) {
+ sourceMapping = new EObjectResolvingEList<>(DiagramElementMapping.class, this, DescriptionPackage.EDGE_MAPPING__SOURCE_MAPPING);
+ }
+ return sourceMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ *
+ * @since 0.9.0 <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getTargetMapping() {
+ if (targetMapping == null) {
+ targetMapping = new EObjectResolvingEList<>(DiagramElementMapping.class, this, DescriptionPackage.EDGE_MAPPING__TARGET_MAPPING);
+ }
+ return targetMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTargetFinderExpression() {
+ return targetFinderExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTargetFinderExpression(String newTargetFinderExpression) {
+ String oldTargetFinderExpression = targetFinderExpression;
+ targetFinderExpression = newTargetFinderExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__TARGET_FINDER_EXPRESSION, oldTargetFinderExpression, targetFinderExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSourceFinderExpression() {
+ return sourceFinderExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSourceFinderExpression(String newSourceFinderExpression) {
+ String oldSourceFinderExpression = sourceFinderExpression;
+ sourceFinderExpression = newSourceFinderExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__SOURCE_FINDER_EXPRESSION, oldSourceFinderExpression, sourceFinderExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EdgeStyleDescription getStyle() {
+ if (style != null && style.eIsProxy()) {
+ InternalEObject oldStyle = (InternalEObject) style;
+ style = (EdgeStyleDescription) eResolveProxy(oldStyle);
+ if (style != oldStyle) {
+ InternalEObject newStyle = (InternalEObject) style;
+ NotificationChain msgs = oldStyle.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.EDGE_MAPPING__STYLE, null, null);
+ if (newStyle.eInternalContainer() == null) {
+ msgs = newStyle.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.EDGE_MAPPING__STYLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.EDGE_MAPPING__STYLE, oldStyle, style));
+ }
+ }
+ }
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EdgeStyleDescription basicGetStyle() {
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyle(EdgeStyleDescription newStyle, NotificationChain msgs) {
+ EdgeStyleDescription oldStyle = style;
+ style = newStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__STYLE, oldStyle, newStyle);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStyle(EdgeStyleDescription newStyle) {
+ if (newStyle != style) {
+ NotificationChain msgs = null;
+ if (style != null) {
+ msgs = ((InternalEObject) style).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.EDGE_MAPPING__STYLE, null, msgs);
+ }
+ if (newStyle != null) {
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.EDGE_MAPPING__STYLE, null, msgs);
+ }
+ msgs = basicSetStyle(newStyle, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__STYLE, newStyle, newStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ConditionalEdgeStyleDescription> getConditionnalStyles() {
+ if (conditionnalStyles == null) {
+ conditionnalStyles = new EObjectContainmentEList.Resolving<>(ConditionalEdgeStyleDescription.class, this, DescriptionPackage.EDGE_MAPPING__CONDITIONNAL_STYLES);
+ }
+ return conditionnalStyles;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTargetExpression() {
+ return targetExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTargetExpression(String newTargetExpression) {
+ String oldTargetExpression = targetExpression;
+ targetExpression = newTargetExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__TARGET_EXPRESSION, oldTargetExpression, targetExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDomainClass() {
+ return domainClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDomainClass(String newDomainClass) {
+ String oldDomainClass = domainClass;
+ domainClass = newDomainClass;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__DOMAIN_CLASS, oldDomainClass, domainClass));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isUseDomainElement() {
+ return useDomainElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setUseDomainElement(boolean newUseDomainElement) {
+ boolean oldUseDomainElement = useDomainElement;
+ useDomainElement = newUseDomainElement;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__USE_DOMAIN_ELEMENT, oldUseDomainElement, useDomainElement));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ReconnectEdgeDescription> getReconnections() {
+ if (reconnections == null) {
+ reconnections = new EObjectResolvingEList<>(ReconnectEdgeDescription.class, this, DescriptionPackage.EDGE_MAPPING__RECONNECTIONS);
+ }
+ return reconnections;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getPathExpression() {
+ return pathExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setPathExpression(String newPathExpression) {
+ String oldPathExpression = pathExpression;
+ pathExpression = newPathExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING__PATH_EXPRESSION, oldPathExpression, pathExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractNodeMapping> getPathNodeMapping() {
+ if (pathNodeMapping == null) {
+ pathNodeMapping = new EObjectResolvingEList<>(AbstractNodeMapping.class, this, DescriptionPackage.EDGE_MAPPING__PATH_NODE_MAPPING);
+ }
+ return pathNodeMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.EDGE_MAPPING__STYLE:
+ return basicSetStyle(null, msgs);
+ case DescriptionPackage.EDGE_MAPPING__CONDITIONNAL_STYLES:
+ return ((InternalEList<?>) getConditionnalStyles()).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 DescriptionPackage.EDGE_MAPPING__DOCUMENTATION:
+ return getDocumentation();
+ case DescriptionPackage.EDGE_MAPPING__SOURCE_MAPPING:
+ return getSourceMapping();
+ case DescriptionPackage.EDGE_MAPPING__TARGET_MAPPING:
+ return getTargetMapping();
+ case DescriptionPackage.EDGE_MAPPING__TARGET_FINDER_EXPRESSION:
+ return getTargetFinderExpression();
+ case DescriptionPackage.EDGE_MAPPING__SOURCE_FINDER_EXPRESSION:
+ return getSourceFinderExpression();
+ case DescriptionPackage.EDGE_MAPPING__STYLE:
+ if (resolve) {
+ return getStyle();
+ }
+ return basicGetStyle();
+ case DescriptionPackage.EDGE_MAPPING__CONDITIONNAL_STYLES:
+ return getConditionnalStyles();
+ case DescriptionPackage.EDGE_MAPPING__TARGET_EXPRESSION:
+ return getTargetExpression();
+ case DescriptionPackage.EDGE_MAPPING__DOMAIN_CLASS:
+ return getDomainClass();
+ case DescriptionPackage.EDGE_MAPPING__USE_DOMAIN_ELEMENT:
+ return isUseDomainElement();
+ case DescriptionPackage.EDGE_MAPPING__RECONNECTIONS:
+ return getReconnections();
+ case DescriptionPackage.EDGE_MAPPING__PATH_EXPRESSION:
+ return getPathExpression();
+ case DescriptionPackage.EDGE_MAPPING__PATH_NODE_MAPPING:
+ return getPathNodeMapping();
+ }
+ 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 DescriptionPackage.EDGE_MAPPING__DOCUMENTATION:
+ setDocumentation((String) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__SOURCE_MAPPING:
+ getSourceMapping().clear();
+ getSourceMapping().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__TARGET_MAPPING:
+ getTargetMapping().clear();
+ getTargetMapping().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__TARGET_FINDER_EXPRESSION:
+ setTargetFinderExpression((String) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__SOURCE_FINDER_EXPRESSION:
+ setSourceFinderExpression((String) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__STYLE:
+ setStyle((EdgeStyleDescription) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__CONDITIONNAL_STYLES:
+ getConditionnalStyles().clear();
+ getConditionnalStyles().addAll((Collection<? extends ConditionalEdgeStyleDescription>) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__TARGET_EXPRESSION:
+ setTargetExpression((String) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__DOMAIN_CLASS:
+ setDomainClass((String) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__USE_DOMAIN_ELEMENT:
+ setUseDomainElement((Boolean) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__RECONNECTIONS:
+ getReconnections().clear();
+ getReconnections().addAll((Collection<? extends ReconnectEdgeDescription>) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__PATH_EXPRESSION:
+ setPathExpression((String) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__PATH_NODE_MAPPING:
+ getPathNodeMapping().clear();
+ getPathNodeMapping().addAll((Collection<? extends AbstractNodeMapping>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.EDGE_MAPPING__DOCUMENTATION:
+ setDocumentation(EdgeMappingImpl.DOCUMENTATION_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__SOURCE_MAPPING:
+ getSourceMapping().clear();
+ return;
+ case DescriptionPackage.EDGE_MAPPING__TARGET_MAPPING:
+ getTargetMapping().clear();
+ return;
+ case DescriptionPackage.EDGE_MAPPING__TARGET_FINDER_EXPRESSION:
+ setTargetFinderExpression(EdgeMappingImpl.TARGET_FINDER_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__SOURCE_FINDER_EXPRESSION:
+ setSourceFinderExpression(EdgeMappingImpl.SOURCE_FINDER_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__STYLE:
+ setStyle((EdgeStyleDescription) null);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__CONDITIONNAL_STYLES:
+ getConditionnalStyles().clear();
+ return;
+ case DescriptionPackage.EDGE_MAPPING__TARGET_EXPRESSION:
+ setTargetExpression(EdgeMappingImpl.TARGET_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__DOMAIN_CLASS:
+ setDomainClass(EdgeMappingImpl.DOMAIN_CLASS_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__USE_DOMAIN_ELEMENT:
+ setUseDomainElement(EdgeMappingImpl.USE_DOMAIN_ELEMENT_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__RECONNECTIONS:
+ getReconnections().clear();
+ return;
+ case DescriptionPackage.EDGE_MAPPING__PATH_EXPRESSION:
+ setPathExpression(EdgeMappingImpl.PATH_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING__PATH_NODE_MAPPING:
+ getPathNodeMapping().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.EDGE_MAPPING__DOCUMENTATION:
+ return EdgeMappingImpl.DOCUMENTATION_EDEFAULT == null ? documentation != null : !EdgeMappingImpl.DOCUMENTATION_EDEFAULT.equals(documentation);
+ case DescriptionPackage.EDGE_MAPPING__SOURCE_MAPPING:
+ return sourceMapping != null && !sourceMapping.isEmpty();
+ case DescriptionPackage.EDGE_MAPPING__TARGET_MAPPING:
+ return targetMapping != null && !targetMapping.isEmpty();
+ case DescriptionPackage.EDGE_MAPPING__TARGET_FINDER_EXPRESSION:
+ return EdgeMappingImpl.TARGET_FINDER_EXPRESSION_EDEFAULT == null ? targetFinderExpression != null : !EdgeMappingImpl.TARGET_FINDER_EXPRESSION_EDEFAULT.equals(targetFinderExpression);
+ case DescriptionPackage.EDGE_MAPPING__SOURCE_FINDER_EXPRESSION:
+ return EdgeMappingImpl.SOURCE_FINDER_EXPRESSION_EDEFAULT == null ? sourceFinderExpression != null : !EdgeMappingImpl.SOURCE_FINDER_EXPRESSION_EDEFAULT.equals(sourceFinderExpression);
+ case DescriptionPackage.EDGE_MAPPING__STYLE:
+ return style != null;
+ case DescriptionPackage.EDGE_MAPPING__CONDITIONNAL_STYLES:
+ return conditionnalStyles != null && !conditionnalStyles.isEmpty();
+ case DescriptionPackage.EDGE_MAPPING__TARGET_EXPRESSION:
+ return EdgeMappingImpl.TARGET_EXPRESSION_EDEFAULT == null ? targetExpression != null : !EdgeMappingImpl.TARGET_EXPRESSION_EDEFAULT.equals(targetExpression);
+ case DescriptionPackage.EDGE_MAPPING__DOMAIN_CLASS:
+ return EdgeMappingImpl.DOMAIN_CLASS_EDEFAULT == null ? domainClass != null : !EdgeMappingImpl.DOMAIN_CLASS_EDEFAULT.equals(domainClass);
+ case DescriptionPackage.EDGE_MAPPING__USE_DOMAIN_ELEMENT:
+ return useDomainElement != EdgeMappingImpl.USE_DOMAIN_ELEMENT_EDEFAULT;
+ case DescriptionPackage.EDGE_MAPPING__RECONNECTIONS:
+ return reconnections != null && !reconnections.isEmpty();
+ case DescriptionPackage.EDGE_MAPPING__PATH_EXPRESSION:
+ return EdgeMappingImpl.PATH_EXPRESSION_EDEFAULT == null ? pathExpression != null : !EdgeMappingImpl.PATH_EXPRESSION_EDEFAULT.equals(pathExpression);
+ case DescriptionPackage.EDGE_MAPPING__PATH_NODE_MAPPING:
+ return pathNodeMapping != null && !pathNodeMapping.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.EDGE_MAPPING__DOCUMENTATION:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IEdgeMapping.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return DescriptionPackage.EDGE_MAPPING__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IEdgeMapping.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(", targetFinderExpression: "); //$NON-NLS-1$
+ result.append(targetFinderExpression);
+ result.append(", sourceFinderExpression: "); //$NON-NLS-1$
+ result.append(sourceFinderExpression);
+ result.append(", targetExpression: "); //$NON-NLS-1$
+ result.append(targetExpression);
+ result.append(", domainClass: "); //$NON-NLS-1$
+ result.append(domainClass);
+ result.append(", useDomainElement: "); //$NON-NLS-1$
+ result.append(useDomainElement);
+ result.append(", pathExpression: "); //$NON-NLS-1$
+ result.append(pathExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EdgeMappingImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EdgeMappingImportImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EdgeMappingImportImpl.java
new file mode 100644
index 0000000000..34198fd139
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EdgeMappingImportImpl.java
@@ -0,0 +1,470 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.IEdgeMapping;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Edge Mapping Import</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl#getImportedMapping <em>Imported
+ * Mapping</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EdgeMappingImportImpl#isInheritsAncestorFilters <em>Inherits
+ * Ancestor Filters</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EdgeMappingImportImpl extends DocumentedElementImpl implements EdgeMappingImport {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = EdgeMappingImportImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = EdgeMappingImportImpl.LABEL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getImportedMapping() <em>Imported Mapping</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getImportedMapping()
+ * @generated
+ * @ordered
+ */
+ protected IEdgeMapping importedMapping;
+
+ /**
+ * The cached value of the '{@link #getConditionnalStyles() <em>Conditionnal Styles</em>}' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConditionnalStyles()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConditionalEdgeStyleDescription> conditionnalStyles;
+
+ /**
+ * The default value of the '{@link #isInheritsAncestorFilters() <em>Inherits Ancestor Filters</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isInheritsAncestorFilters()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INHERITS_ANCESTOR_FILTERS_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isInheritsAncestorFilters() <em>Inherits Ancestor Filters</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isInheritsAncestorFilters()
+ * @generated
+ * @ordered
+ */
+ protected boolean inheritsAncestorFilters = EdgeMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EdgeMappingImportImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.EDGE_MAPPING_IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING_IMPORT__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING_IMPORT__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public IEdgeMapping getImportedMapping() {
+ if (importedMapping != null && importedMapping.eIsProxy()) {
+ InternalEObject oldImportedMapping = (InternalEObject) importedMapping;
+ importedMapping = (IEdgeMapping) eResolveProxy(oldImportedMapping);
+ if (importedMapping != oldImportedMapping) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.EDGE_MAPPING_IMPORT__IMPORTED_MAPPING, oldImportedMapping, importedMapping));
+ }
+ }
+ }
+ return importedMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IEdgeMapping basicGetImportedMapping() {
+ return importedMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setImportedMapping(IEdgeMapping newImportedMapping) {
+ IEdgeMapping oldImportedMapping = importedMapping;
+ importedMapping = newImportedMapping;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING_IMPORT__IMPORTED_MAPPING, oldImportedMapping, importedMapping));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ConditionalEdgeStyleDescription> getConditionnalStyles() {
+ if (conditionnalStyles == null) {
+ conditionnalStyles = new EObjectContainmentEList.Resolving<>(ConditionalEdgeStyleDescription.class, this, DescriptionPackage.EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES);
+ }
+ return conditionnalStyles;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isInheritsAncestorFilters() {
+ return inheritsAncestorFilters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInheritsAncestorFilters(boolean newInheritsAncestorFilters) {
+ boolean oldInheritsAncestorFilters = inheritsAncestorFilters;
+ inheritsAncestorFilters = newInheritsAncestorFilters;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.EDGE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS, oldInheritsAncestorFilters, inheritsAncestorFilters));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES:
+ return ((InternalEList<?>) getConditionnalStyles()).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 DescriptionPackage.EDGE_MAPPING_IMPORT__NAME:
+ return getName();
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__LABEL:
+ return getLabel();
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__IMPORTED_MAPPING:
+ if (resolve) {
+ return getImportedMapping();
+ }
+ return basicGetImportedMapping();
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES:
+ return getConditionnalStyles();
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return isInheritsAncestorFilters();
+ }
+ 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 DescriptionPackage.EDGE_MAPPING_IMPORT__NAME:
+ setName((String) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__LABEL:
+ setLabel((String) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__IMPORTED_MAPPING:
+ setImportedMapping((IEdgeMapping) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES:
+ getConditionnalStyles().clear();
+ getConditionnalStyles().addAll((Collection<? extends ConditionalEdgeStyleDescription>) newValue);
+ return;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ setInheritsAncestorFilters((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__NAME:
+ setName(EdgeMappingImportImpl.NAME_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__LABEL:
+ setLabel(EdgeMappingImportImpl.LABEL_EDEFAULT);
+ return;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__IMPORTED_MAPPING:
+ setImportedMapping((IEdgeMapping) null);
+ return;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES:
+ getConditionnalStyles().clear();
+ return;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ setInheritsAncestorFilters(EdgeMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__NAME:
+ return EdgeMappingImportImpl.NAME_EDEFAULT == null ? name != null : !EdgeMappingImportImpl.NAME_EDEFAULT.equals(name);
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__LABEL:
+ return EdgeMappingImportImpl.LABEL_EDEFAULT == null ? label != null : !EdgeMappingImportImpl.LABEL_EDEFAULT.equals(label);
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__IMPORTED_MAPPING:
+ return importedMapping != null;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__CONDITIONNAL_STYLES:
+ return conditionnalStyles != null && !conditionnalStyles.isEmpty();
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return inheritsAncestorFilters != EdgeMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == IEdgeMapping.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__NAME:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case DescriptionPackage.EDGE_MAPPING_IMPORT__LABEL:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == IEdgeMapping.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return DescriptionPackage.EDGE_MAPPING_IMPORT__NAME;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return DescriptionPackage.EDGE_MAPPING_IMPORT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(", inheritsAncestorFilters: "); //$NON-NLS-1$
+ result.append(inheritsAncestorFilters);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EdgeMappingImportImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumLayoutOptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumLayoutOptionImpl.java
new file mode 100644
index 0000000000..f095acc851
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumLayoutOptionImpl.java
@@ -0,0 +1,221 @@
+/**
+ * Copyright (c) 2007, 2018 THALES GLOBAL SERVICES and others.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.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.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.EnumLayoutOption;
+import org.eclipse.sirius.diagram.description.EnumLayoutValue;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Enum Layout Option</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EnumLayoutOptionImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EnumLayoutOptionImpl extends EnumOptionImpl implements EnumLayoutOption {
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected EnumLayoutValue value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EnumLayoutOptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.ENUM_LAYOUT_OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EnumLayoutValue getValue() {
+ if (value != null && value.eIsProxy()) {
+ InternalEObject oldValue = (InternalEObject) value;
+ value = (EnumLayoutValue) eResolveProxy(oldValue);
+ if (value != oldValue) {
+ InternalEObject newValue = (InternalEObject) value;
+ NotificationChain msgs = oldValue.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE, null, null);
+ if (newValue.eInternalContainer() == null) {
+ msgs = newValue.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE, oldValue, value));
+ }
+ }
+ }
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EnumLayoutValue basicGetValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetValue(EnumLayoutValue newValue, NotificationChain msgs) {
+ EnumLayoutValue oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE, oldValue, newValue);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValue(EnumLayoutValue newValue) {
+ if (newValue != value) {
+ NotificationChain msgs = null;
+ if (value != null) {
+ msgs = ((InternalEObject) value).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE, null, msgs);
+ }
+ if (newValue != null) {
+ msgs = ((InternalEObject) newValue).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE, null, msgs);
+ }
+ msgs = basicSetValue(newValue, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE, newValue, newValue));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE:
+ return basicSetValue(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 DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE:
+ if (resolve) {
+ return getValue();
+ }
+ return basicGetValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE:
+ setValue((EnumLayoutValue) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE:
+ setValue((EnumLayoutValue) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_LAYOUT_OPTION__VALUE:
+ return value != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // EnumLayoutOptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumLayoutValueImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumLayoutValueImpl.java
new file mode 100644
index 0000000000..6d06c8727d
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumLayoutValueImpl.java
@@ -0,0 +1,231 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.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.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.EnumLayoutValue;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Enum Layout Value</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EnumLayoutValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EnumLayoutValueImpl extends MinimalEObjectImpl.Container implements EnumLayoutValue {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = EnumLayoutValueImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = EnumLayoutValueImpl.DESCRIPTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EnumLayoutValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.ENUM_LAYOUT_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.ENUM_LAYOUT_VALUE__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.ENUM_LAYOUT_VALUE__DESCRIPTION, oldDescription, description));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_LAYOUT_VALUE__NAME:
+ return getName();
+ case DescriptionPackage.ENUM_LAYOUT_VALUE__DESCRIPTION:
+ return getDescription();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_LAYOUT_VALUE__NAME:
+ setName((String) newValue);
+ return;
+ case DescriptionPackage.ENUM_LAYOUT_VALUE__DESCRIPTION:
+ setDescription((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_LAYOUT_VALUE__NAME:
+ setName(EnumLayoutValueImpl.NAME_EDEFAULT);
+ return;
+ case DescriptionPackage.ENUM_LAYOUT_VALUE__DESCRIPTION:
+ setDescription(EnumLayoutValueImpl.DESCRIPTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_LAYOUT_VALUE__NAME:
+ return EnumLayoutValueImpl.NAME_EDEFAULT == null ? name != null : !EnumLayoutValueImpl.NAME_EDEFAULT.equals(name);
+ case DescriptionPackage.ENUM_LAYOUT_VALUE__DESCRIPTION:
+ return EnumLayoutValueImpl.DESCRIPTION_EDEFAULT == null ? description != null : !EnumLayoutValueImpl.DESCRIPTION_EDEFAULT.equals(description);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", description: "); //$NON-NLS-1$
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EnumLayoutValueImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumOptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumOptionImpl.java
new file mode 100644
index 0000000000..26def9cd88
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumOptionImpl.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.EnumLayoutValue;
+import org.eclipse.sirius.diagram.description.EnumOption;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Enum Option</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EnumOptionImpl#getChoices <em>Choices</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class EnumOptionImpl extends LayoutOptionImpl implements EnumOption {
+ /**
+ * The cached value of the '{@link #getChoices() <em>Choices</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getChoices()
+ * @generated
+ * @ordered
+ */
+ protected EList<EnumLayoutValue> choices;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EnumOptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.ENUM_OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EnumLayoutValue> getChoices() {
+ if (choices == null) {
+ choices = new EObjectContainmentEList.Resolving<>(EnumLayoutValue.class, this, DescriptionPackage.ENUM_OPTION__CHOICES);
+ }
+ return choices;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_OPTION__CHOICES:
+ return ((InternalEList<?>) getChoices()).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 DescriptionPackage.ENUM_OPTION__CHOICES:
+ return getChoices();
+ }
+ 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 DescriptionPackage.ENUM_OPTION__CHOICES:
+ getChoices().clear();
+ getChoices().addAll((Collection<? extends EnumLayoutValue>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_OPTION__CHOICES:
+ getChoices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_OPTION__CHOICES:
+ return choices != null && !choices.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // EnumOptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumSetLayoutOptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumSetLayoutOptionImpl.java
new file mode 100644
index 0000000000..c5d5338b45
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/EnumSetLayoutOptionImpl.java
@@ -0,0 +1,157 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.EnumLayoutValue;
+import org.eclipse.sirius.diagram.description.EnumSetLayoutOption;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Enum Set Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.EnumSetLayoutOptionImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EnumSetLayoutOptionImpl extends EnumOptionImpl implements EnumSetLayoutOption {
+ /**
+ * The cached value of the '{@link #getValues() <em>Values</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<EnumLayoutValue> values;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EnumSetLayoutOptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.ENUM_SET_LAYOUT_OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EnumLayoutValue> getValues() {
+ if (values == null) {
+ values = new EObjectContainmentEList.Resolving<>(EnumLayoutValue.class, this, DescriptionPackage.ENUM_SET_LAYOUT_OPTION__VALUES);
+ }
+ return values;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_SET_LAYOUT_OPTION__VALUES:
+ return ((InternalEList<?>) getValues()).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 DescriptionPackage.ENUM_SET_LAYOUT_OPTION__VALUES:
+ return getValues();
+ }
+ 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 DescriptionPackage.ENUM_SET_LAYOUT_OPTION__VALUES:
+ getValues().clear();
+ getValues().addAll((Collection<? extends EnumLayoutValue>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_SET_LAYOUT_OPTION__VALUES:
+ getValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ENUM_SET_LAYOUT_OPTION__VALUES:
+ return values != null && !values.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // EnumSetLayoutOptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/IntegerLayoutOptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/IntegerLayoutOptionImpl.java
new file mode 100644
index 0000000000..be6c3f3031
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/IntegerLayoutOptionImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.IntegerLayoutOption;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Integer Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.IntegerLayoutOptionImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntegerLayoutOptionImpl extends LayoutOptionImpl implements IntegerLayoutOption {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int VALUE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected int value = IntegerLayoutOptionImpl.VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IntegerLayoutOptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.INTEGER_LAYOUT_OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValue(int newValue) {
+ int oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.INTEGER_LAYOUT_OPTION__VALUE, oldValue, value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.INTEGER_LAYOUT_OPTION__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.INTEGER_LAYOUT_OPTION__VALUE:
+ setValue((Integer) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.INTEGER_LAYOUT_OPTION__VALUE:
+ setValue(IntegerLayoutOptionImpl.VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.INTEGER_LAYOUT_OPTION__VALUE:
+ return value != IntegerLayoutOptionImpl.VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // IntegerLayoutOptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/LayerImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/LayerImpl.java
new file mode 100644
index 0000000000..53b81249b3
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/LayerImpl.java
@@ -0,0 +1,923 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.Layer;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.viewpoint.description.Customization;
+import org.eclipse.sirius.viewpoint.description.DecorationDescriptionsSet;
+import org.eclipse.sirius.viewpoint.description.EndUserDocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Layer</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getEndUserDocumentation <em>End User
+ * Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getNodeMappings <em>Node Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getEdgeMappings <em>Edge Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getEdgeMappingImports <em>Edge Mapping
+ * Imports</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getContainerMappings <em>Container
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getReusedMappings <em>Reused Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getAllTools <em>All Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getToolSections <em>Tool Sections</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getReusedTools <em>Reused Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getDecorationDescriptionsSet <em>Decoration
+ * Descriptions Set</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getIcon <em>Icon</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayerImpl#getCustomization <em>Customization</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LayerImpl extends DocumentedElementImpl implements Layer {
+ /**
+ * The default value of the '{@link #getEndUserDocumentation() <em>End User Documentation</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndUserDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String END_USER_DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getEndUserDocumentation() <em>End User Documentation</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndUserDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String endUserDocumentation = LayerImpl.END_USER_DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = LayerImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = LayerImpl.LABEL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getNodeMappings() <em>Node Mappings</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getNodeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeMapping> nodeMappings;
+
+ /**
+ * The cached value of the '{@link #getEdgeMappings() <em>Edge Mappings</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEdgeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<EdgeMapping> edgeMappings;
+
+ /**
+ * The cached value of the '{@link #getEdgeMappingImports() <em>Edge Mapping Imports</em>}' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEdgeMappingImports()
+ * @generated
+ * @ordered
+ */
+ protected EList<EdgeMappingImport> edgeMappingImports;
+
+ /**
+ * The cached value of the '{@link #getContainerMappings() <em>Container Mappings</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getContainerMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerMapping> containerMappings;
+
+ /**
+ * The cached value of the '{@link #getReusedMappings() <em>Reused Mappings</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReusedMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> reusedMappings;
+
+ /**
+ * The cached value of the '{@link #getToolSections() <em>Tool Sections</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getToolSections()
+ * @generated
+ * @ordered
+ */
+ protected EList<ToolSection> toolSections;
+
+ /**
+ * The cached value of the '{@link #getReusedTools() <em>Reused Tools</em>}' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getReusedTools()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractToolDescription> reusedTools;
+
+ /**
+ * The cached value of the '{@link #getDecorationDescriptionsSet() <em>Decoration Descriptions Set</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDecorationDescriptionsSet()
+ * @generated
+ * @ordered
+ */
+ protected DecorationDescriptionsSet decorationDescriptionsSet;
+
+ /**
+ * The default value of the '{@link #getIcon() <em>Icon</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIcon() <em>Icon</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected String icon = LayerImpl.ICON_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCustomization() <em>Customization</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCustomization()
+ * @generated
+ * @ordered
+ */
+ protected Customization customization;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LayerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.LAYER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getEndUserDocumentation() {
+ return endUserDocumentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEndUserDocumentation(String newEndUserDocumentation) {
+ String oldEndUserDocumentation = endUserDocumentation;
+ endUserDocumentation = newEndUserDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYER__END_USER_DOCUMENTATION, oldEndUserDocumentation, endUserDocumentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYER__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYER__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<NodeMapping> getNodeMappings() {
+ if (nodeMappings == null) {
+ nodeMappings = new EObjectContainmentEList.Resolving<>(NodeMapping.class, this, DescriptionPackage.LAYER__NODE_MAPPINGS);
+ }
+ return nodeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EdgeMapping> getEdgeMappings() {
+ if (edgeMappings == null) {
+ edgeMappings = new EObjectContainmentEList.Resolving<>(EdgeMapping.class, this, DescriptionPackage.LAYER__EDGE_MAPPINGS);
+ }
+ return edgeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EdgeMappingImport> getEdgeMappingImports() {
+ if (edgeMappingImports == null) {
+ edgeMappingImports = new EObjectContainmentEList.Resolving<>(EdgeMappingImport.class, this, DescriptionPackage.LAYER__EDGE_MAPPING_IMPORTS);
+ }
+ return edgeMappingImports;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerMapping> getContainerMappings() {
+ if (containerMappings == null) {
+ containerMappings = new EObjectContainmentEList.Resolving<>(ContainerMapping.class, this, DescriptionPackage.LAYER__CONTAINER_MAPPINGS);
+ }
+ return containerMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getReusedMappings() {
+ if (reusedMappings == null) {
+ reusedMappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, DescriptionPackage.LAYER__REUSED_MAPPINGS);
+ }
+ return reusedMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractToolDescription> getAllTools() {
+ // TODO: implement this method to return the 'All Tools' reference list
+ // Ensure that you remove @generated or mark it @generated NOT
+ // The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and
+ // org.eclipse.emf.ecore.EStructuralFeature.Setting
+ // so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.EcoreEList should be used.
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ToolSection> getToolSections() {
+ if (toolSections == null) {
+ toolSections = new EObjectContainmentEList.Resolving<>(ToolSection.class, this, DescriptionPackage.LAYER__TOOL_SECTIONS);
+ }
+ return toolSections;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractToolDescription> getReusedTools() {
+ if (reusedTools == null) {
+ reusedTools = new EObjectResolvingEList<>(AbstractToolDescription.class, this, DescriptionPackage.LAYER__REUSED_TOOLS);
+ }
+ return reusedTools;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DecorationDescriptionsSet getDecorationDescriptionsSet() {
+ if (decorationDescriptionsSet != null && decorationDescriptionsSet.eIsProxy()) {
+ InternalEObject oldDecorationDescriptionsSet = (InternalEObject) decorationDescriptionsSet;
+ decorationDescriptionsSet = (DecorationDescriptionsSet) eResolveProxy(oldDecorationDescriptionsSet);
+ if (decorationDescriptionsSet != oldDecorationDescriptionsSet) {
+ InternalEObject newDecorationDescriptionsSet = (InternalEObject) decorationDescriptionsSet;
+ NotificationChain msgs = oldDecorationDescriptionsSet.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET, null, null);
+ if (newDecorationDescriptionsSet.eInternalContainer() == null) {
+ msgs = newDecorationDescriptionsSet.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET, oldDecorationDescriptionsSet, decorationDescriptionsSet));
+ }
+ }
+ }
+ return decorationDescriptionsSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DecorationDescriptionsSet basicGetDecorationDescriptionsSet() {
+ return decorationDescriptionsSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDecorationDescriptionsSet(DecorationDescriptionsSet newDecorationDescriptionsSet, NotificationChain msgs) {
+ DecorationDescriptionsSet oldDecorationDescriptionsSet = decorationDescriptionsSet;
+ decorationDescriptionsSet = newDecorationDescriptionsSet;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET, oldDecorationDescriptionsSet,
+ newDecorationDescriptionsSet);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDecorationDescriptionsSet(DecorationDescriptionsSet newDecorationDescriptionsSet) {
+ if (newDecorationDescriptionsSet != decorationDescriptionsSet) {
+ NotificationChain msgs = null;
+ if (decorationDescriptionsSet != null) {
+ msgs = ((InternalEObject) decorationDescriptionsSet).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET, null, msgs);
+ }
+ if (newDecorationDescriptionsSet != null) {
+ msgs = ((InternalEObject) newDecorationDescriptionsSet).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET, null, msgs);
+ }
+ msgs = basicSetDecorationDescriptionsSet(newDecorationDescriptionsSet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET, newDecorationDescriptionsSet, newDecorationDescriptionsSet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getIcon() {
+ return icon;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIcon(String newIcon) {
+ String oldIcon = icon;
+ icon = newIcon;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYER__ICON, oldIcon, icon));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Customization getCustomization() {
+ if (customization != null && customization.eIsProxy()) {
+ InternalEObject oldCustomization = (InternalEObject) customization;
+ customization = (Customization) eResolveProxy(oldCustomization);
+ if (customization != oldCustomization) {
+ InternalEObject newCustomization = (InternalEObject) customization;
+ NotificationChain msgs = oldCustomization.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.LAYER__CUSTOMIZATION, null, null);
+ if (newCustomization.eInternalContainer() == null) {
+ msgs = newCustomization.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.LAYER__CUSTOMIZATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.LAYER__CUSTOMIZATION, oldCustomization, customization));
+ }
+ }
+ }
+ return customization;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Customization basicGetCustomization() {
+ return customization;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetCustomization(Customization newCustomization, NotificationChain msgs) {
+ Customization oldCustomization = customization;
+ customization = newCustomization;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYER__CUSTOMIZATION, oldCustomization, newCustomization);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setCustomization(Customization newCustomization) {
+ if (newCustomization != customization) {
+ NotificationChain msgs = null;
+ if (customization != null) {
+ msgs = ((InternalEObject) customization).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.LAYER__CUSTOMIZATION, null, msgs);
+ }
+ if (newCustomization != null) {
+ msgs = ((InternalEObject) newCustomization).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.LAYER__CUSTOMIZATION, null, msgs);
+ }
+ msgs = basicSetCustomization(newCustomization, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYER__CUSTOMIZATION, newCustomization, newCustomization));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.LAYER__NODE_MAPPINGS:
+ return ((InternalEList<?>) getNodeMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.LAYER__EDGE_MAPPINGS:
+ return ((InternalEList<?>) getEdgeMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.LAYER__EDGE_MAPPING_IMPORTS:
+ return ((InternalEList<?>) getEdgeMappingImports()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.LAYER__CONTAINER_MAPPINGS:
+ return ((InternalEList<?>) getContainerMappings()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.LAYER__TOOL_SECTIONS:
+ return ((InternalEList<?>) getToolSections()).basicRemove(otherEnd, msgs);
+ case DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET:
+ return basicSetDecorationDescriptionsSet(null, msgs);
+ case DescriptionPackage.LAYER__CUSTOMIZATION:
+ return basicSetCustomization(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 DescriptionPackage.LAYER__END_USER_DOCUMENTATION:
+ return getEndUserDocumentation();
+ case DescriptionPackage.LAYER__NAME:
+ return getName();
+ case DescriptionPackage.LAYER__LABEL:
+ return getLabel();
+ case DescriptionPackage.LAYER__NODE_MAPPINGS:
+ return getNodeMappings();
+ case DescriptionPackage.LAYER__EDGE_MAPPINGS:
+ return getEdgeMappings();
+ case DescriptionPackage.LAYER__EDGE_MAPPING_IMPORTS:
+ return getEdgeMappingImports();
+ case DescriptionPackage.LAYER__CONTAINER_MAPPINGS:
+ return getContainerMappings();
+ case DescriptionPackage.LAYER__REUSED_MAPPINGS:
+ return getReusedMappings();
+ case DescriptionPackage.LAYER__ALL_TOOLS:
+ return getAllTools();
+ case DescriptionPackage.LAYER__TOOL_SECTIONS:
+ return getToolSections();
+ case DescriptionPackage.LAYER__REUSED_TOOLS:
+ return getReusedTools();
+ case DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET:
+ if (resolve) {
+ return getDecorationDescriptionsSet();
+ }
+ return basicGetDecorationDescriptionsSet();
+ case DescriptionPackage.LAYER__ICON:
+ return getIcon();
+ case DescriptionPackage.LAYER__CUSTOMIZATION:
+ if (resolve) {
+ return getCustomization();
+ }
+ return basicGetCustomization();
+ }
+ 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 DescriptionPackage.LAYER__END_USER_DOCUMENTATION:
+ setEndUserDocumentation((String) newValue);
+ return;
+ case DescriptionPackage.LAYER__NAME:
+ setName((String) newValue);
+ return;
+ case DescriptionPackage.LAYER__LABEL:
+ setLabel((String) newValue);
+ return;
+ case DescriptionPackage.LAYER__NODE_MAPPINGS:
+ getNodeMappings().clear();
+ getNodeMappings().addAll((Collection<? extends NodeMapping>) newValue);
+ return;
+ case DescriptionPackage.LAYER__EDGE_MAPPINGS:
+ getEdgeMappings().clear();
+ getEdgeMappings().addAll((Collection<? extends EdgeMapping>) newValue);
+ return;
+ case DescriptionPackage.LAYER__EDGE_MAPPING_IMPORTS:
+ getEdgeMappingImports().clear();
+ getEdgeMappingImports().addAll((Collection<? extends EdgeMappingImport>) newValue);
+ return;
+ case DescriptionPackage.LAYER__CONTAINER_MAPPINGS:
+ getContainerMappings().clear();
+ getContainerMappings().addAll((Collection<? extends ContainerMapping>) newValue);
+ return;
+ case DescriptionPackage.LAYER__REUSED_MAPPINGS:
+ getReusedMappings().clear();
+ getReusedMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case DescriptionPackage.LAYER__TOOL_SECTIONS:
+ getToolSections().clear();
+ getToolSections().addAll((Collection<? extends ToolSection>) newValue);
+ return;
+ case DescriptionPackage.LAYER__REUSED_TOOLS:
+ getReusedTools().clear();
+ getReusedTools().addAll((Collection<? extends AbstractToolDescription>) newValue);
+ return;
+ case DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET:
+ setDecorationDescriptionsSet((DecorationDescriptionsSet) newValue);
+ return;
+ case DescriptionPackage.LAYER__ICON:
+ setIcon((String) newValue);
+ return;
+ case DescriptionPackage.LAYER__CUSTOMIZATION:
+ setCustomization((Customization) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.LAYER__END_USER_DOCUMENTATION:
+ setEndUserDocumentation(LayerImpl.END_USER_DOCUMENTATION_EDEFAULT);
+ return;
+ case DescriptionPackage.LAYER__NAME:
+ setName(LayerImpl.NAME_EDEFAULT);
+ return;
+ case DescriptionPackage.LAYER__LABEL:
+ setLabel(LayerImpl.LABEL_EDEFAULT);
+ return;
+ case DescriptionPackage.LAYER__NODE_MAPPINGS:
+ getNodeMappings().clear();
+ return;
+ case DescriptionPackage.LAYER__EDGE_MAPPINGS:
+ getEdgeMappings().clear();
+ return;
+ case DescriptionPackage.LAYER__EDGE_MAPPING_IMPORTS:
+ getEdgeMappingImports().clear();
+ return;
+ case DescriptionPackage.LAYER__CONTAINER_MAPPINGS:
+ getContainerMappings().clear();
+ return;
+ case DescriptionPackage.LAYER__REUSED_MAPPINGS:
+ getReusedMappings().clear();
+ return;
+ case DescriptionPackage.LAYER__TOOL_SECTIONS:
+ getToolSections().clear();
+ return;
+ case DescriptionPackage.LAYER__REUSED_TOOLS:
+ getReusedTools().clear();
+ return;
+ case DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET:
+ setDecorationDescriptionsSet((DecorationDescriptionsSet) null);
+ return;
+ case DescriptionPackage.LAYER__ICON:
+ setIcon(LayerImpl.ICON_EDEFAULT);
+ return;
+ case DescriptionPackage.LAYER__CUSTOMIZATION:
+ setCustomization((Customization) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.LAYER__END_USER_DOCUMENTATION:
+ return LayerImpl.END_USER_DOCUMENTATION_EDEFAULT == null ? endUserDocumentation != null : !LayerImpl.END_USER_DOCUMENTATION_EDEFAULT.equals(endUserDocumentation);
+ case DescriptionPackage.LAYER__NAME:
+ return LayerImpl.NAME_EDEFAULT == null ? name != null : !LayerImpl.NAME_EDEFAULT.equals(name);
+ case DescriptionPackage.LAYER__LABEL:
+ return LayerImpl.LABEL_EDEFAULT == null ? label != null : !LayerImpl.LABEL_EDEFAULT.equals(label);
+ case DescriptionPackage.LAYER__NODE_MAPPINGS:
+ return nodeMappings != null && !nodeMappings.isEmpty();
+ case DescriptionPackage.LAYER__EDGE_MAPPINGS:
+ return edgeMappings != null && !edgeMappings.isEmpty();
+ case DescriptionPackage.LAYER__EDGE_MAPPING_IMPORTS:
+ return edgeMappingImports != null && !edgeMappingImports.isEmpty();
+ case DescriptionPackage.LAYER__CONTAINER_MAPPINGS:
+ return containerMappings != null && !containerMappings.isEmpty();
+ case DescriptionPackage.LAYER__REUSED_MAPPINGS:
+ return reusedMappings != null && !reusedMappings.isEmpty();
+ case DescriptionPackage.LAYER__ALL_TOOLS:
+ return !getAllTools().isEmpty();
+ case DescriptionPackage.LAYER__TOOL_SECTIONS:
+ return toolSections != null && !toolSections.isEmpty();
+ case DescriptionPackage.LAYER__REUSED_TOOLS:
+ return reusedTools != null && !reusedTools.isEmpty();
+ case DescriptionPackage.LAYER__DECORATION_DESCRIPTIONS_SET:
+ return decorationDescriptionsSet != null;
+ case DescriptionPackage.LAYER__ICON:
+ return LayerImpl.ICON_EDEFAULT == null ? icon != null : !LayerImpl.ICON_EDEFAULT.equals(icon);
+ case DescriptionPackage.LAYER__CUSTOMIZATION:
+ return customization != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == EndUserDocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.LAYER__END_USER_DOCUMENTATION:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.END_USER_DOCUMENTED_ELEMENT__END_USER_DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.LAYER__NAME:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case DescriptionPackage.LAYER__LABEL:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == EndUserDocumentedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.END_USER_DOCUMENTED_ELEMENT__END_USER_DOCUMENTATION:
+ return DescriptionPackage.LAYER__END_USER_DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return DescriptionPackage.LAYER__NAME;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return DescriptionPackage.LAYER__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (endUserDocumentation: "); //$NON-NLS-1$
+ result.append(endUserDocumentation);
+ result.append(", name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(", icon: "); //$NON-NLS-1$
+ result.append(icon);
+ result.append(')');
+ return result.toString();
+ }
+
+} // LayerImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/LayoutOptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/LayoutOptionImpl.java
new file mode 100644
index 0000000000..f7b4b695a6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/LayoutOptionImpl.java
@@ -0,0 +1,329 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.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.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.LayoutOption;
+import org.eclipse.sirius.diagram.description.LayoutOptionTarget;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Layout Option</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayoutOptionImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayoutOptionImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayoutOptionImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.LayoutOptionImpl#getTargets <em>Targets</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class LayoutOptionImpl extends MinimalEObjectImpl.Container implements LayoutOption {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = LayoutOptionImpl.ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = LayoutOptionImpl.LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = LayoutOptionImpl.DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTargets() <em>Targets</em>}' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected EList<LayoutOptionTarget> targets;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LayoutOptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.LAYOUT_OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYOUT_OPTION__ID, oldId, id));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYOUT_OPTION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.LAYOUT_OPTION__DESCRIPTION, oldDescription, description));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<LayoutOptionTarget> getTargets() {
+ if (targets == null) {
+ targets = new EDataTypeUniqueEList<>(LayoutOptionTarget.class, this, DescriptionPackage.LAYOUT_OPTION__TARGETS);
+ }
+ return targets;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.LAYOUT_OPTION__ID:
+ return getId();
+ case DescriptionPackage.LAYOUT_OPTION__LABEL:
+ return getLabel();
+ case DescriptionPackage.LAYOUT_OPTION__DESCRIPTION:
+ return getDescription();
+ case DescriptionPackage.LAYOUT_OPTION__TARGETS:
+ return getTargets();
+ }
+ 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 DescriptionPackage.LAYOUT_OPTION__ID:
+ setId((String) newValue);
+ return;
+ case DescriptionPackage.LAYOUT_OPTION__LABEL:
+ setLabel((String) newValue);
+ return;
+ case DescriptionPackage.LAYOUT_OPTION__DESCRIPTION:
+ setDescription((String) newValue);
+ return;
+ case DescriptionPackage.LAYOUT_OPTION__TARGETS:
+ getTargets().clear();
+ getTargets().addAll((Collection<? extends LayoutOptionTarget>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.LAYOUT_OPTION__ID:
+ setId(LayoutOptionImpl.ID_EDEFAULT);
+ return;
+ case DescriptionPackage.LAYOUT_OPTION__LABEL:
+ setLabel(LayoutOptionImpl.LABEL_EDEFAULT);
+ return;
+ case DescriptionPackage.LAYOUT_OPTION__DESCRIPTION:
+ setDescription(LayoutOptionImpl.DESCRIPTION_EDEFAULT);
+ return;
+ case DescriptionPackage.LAYOUT_OPTION__TARGETS:
+ getTargets().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.LAYOUT_OPTION__ID:
+ return LayoutOptionImpl.ID_EDEFAULT == null ? id != null : !LayoutOptionImpl.ID_EDEFAULT.equals(id);
+ case DescriptionPackage.LAYOUT_OPTION__LABEL:
+ return LayoutOptionImpl.LABEL_EDEFAULT == null ? label != null : !LayoutOptionImpl.LABEL_EDEFAULT.equals(label);
+ case DescriptionPackage.LAYOUT_OPTION__DESCRIPTION:
+ return LayoutOptionImpl.DESCRIPTION_EDEFAULT == null ? description != null : !LayoutOptionImpl.DESCRIPTION_EDEFAULT.equals(description);
+ case DescriptionPackage.LAYOUT_OPTION__TARGETS:
+ return targets != null && !targets.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(", description: "); //$NON-NLS-1$
+ result.append(description);
+ result.append(", targets: "); //$NON-NLS-1$
+ result.append(targets);
+ result.append(')');
+ return result.toString();
+ }
+
+} // LayoutOptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/MappingBasedDecorationImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/MappingBasedDecorationImpl.java
new file mode 100644
index 0000000000..00ce17b10b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/MappingBasedDecorationImpl.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.MappingBasedDecoration;
+import org.eclipse.sirius.viewpoint.description.impl.DecorationDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Mapping Based Decoration</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.MappingBasedDecorationImpl#getMappings <em>Mappings</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MappingBasedDecorationImpl extends DecorationDescriptionImpl implements MappingBasedDecoration {
+ /**
+ * The cached value of the '{@link #getMappings() <em>Mappings</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> mappings;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MappingBasedDecorationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.MAPPING_BASED_DECORATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getMappings() {
+ if (mappings == null) {
+ mappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, DescriptionPackage.MAPPING_BASED_DECORATION__MAPPINGS);
+ }
+ return mappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.MAPPING_BASED_DECORATION__MAPPINGS:
+ return getMappings();
+ }
+ 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 DescriptionPackage.MAPPING_BASED_DECORATION__MAPPINGS:
+ getMappings().clear();
+ getMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.MAPPING_BASED_DECORATION__MAPPINGS:
+ getMappings().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.MAPPING_BASED_DECORATION__MAPPINGS:
+ return mappings != null && !mappings.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // MappingBasedDecorationImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/NodeMappingImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/NodeMappingImpl.java
new file mode 100644
index 0000000000..2cea905def
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/NodeMappingImpl.java
@@ -0,0 +1,340 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.style.NodeStyleDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Node Mapping</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImpl#getDropDescriptions <em>Drop
+ * Descriptions</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImpl#getStyle <em>Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImpl#getConditionnalStyles <em>Conditionnal
+ * Styles</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NodeMappingImpl extends AbstractNodeMappingImpl implements NodeMapping {
+ /**
+ * The cached value of the '{@link #getDropDescriptions() <em>Drop Descriptions</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDropDescriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerDropDescription> dropDescriptions;
+
+ /**
+ * The cached value of the '{@link #getStyle() <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStyle()
+ * @generated
+ * @ordered
+ */
+ protected NodeStyleDescription style;
+
+ /**
+ * The cached value of the '{@link #getConditionnalStyles() <em>Conditionnal Styles</em>}' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConditionnalStyles()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConditionalNodeStyleDescription> conditionnalStyles;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeMappingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.NODE_MAPPING;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerDropDescription> getDropDescriptions() {
+ if (dropDescriptions == null) {
+ dropDescriptions = new EObjectResolvingEList<>(ContainerDropDescription.class, this, DescriptionPackage.NODE_MAPPING__DROP_DESCRIPTIONS);
+ }
+ return dropDescriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NodeStyleDescription getStyle() {
+ if (style != null && style.eIsProxy()) {
+ InternalEObject oldStyle = (InternalEObject) style;
+ style = (NodeStyleDescription) eResolveProxy(oldStyle);
+ if (style != oldStyle) {
+ InternalEObject newStyle = (InternalEObject) style;
+ NotificationChain msgs = oldStyle.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.NODE_MAPPING__STYLE, null, null);
+ if (newStyle.eInternalContainer() == null) {
+ msgs = newStyle.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.NODE_MAPPING__STYLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.NODE_MAPPING__STYLE, oldStyle, style));
+ }
+ }
+ }
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeStyleDescription basicGetStyle() {
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyle(NodeStyleDescription newStyle, NotificationChain msgs) {
+ NodeStyleDescription oldStyle = style;
+ style = newStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DescriptionPackage.NODE_MAPPING__STYLE, oldStyle, newStyle);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStyle(NodeStyleDescription newStyle) {
+ if (newStyle != style) {
+ NotificationChain msgs = null;
+ if (style != null) {
+ msgs = ((InternalEObject) style).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.NODE_MAPPING__STYLE, null, msgs);
+ }
+ if (newStyle != null) {
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - DescriptionPackage.NODE_MAPPING__STYLE, null, msgs);
+ }
+ msgs = basicSetStyle(newStyle, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.NODE_MAPPING__STYLE, newStyle, newStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ConditionalNodeStyleDescription> getConditionnalStyles() {
+ if (conditionnalStyles == null) {
+ conditionnalStyles = new EObjectContainmentEList.Resolving<>(ConditionalNodeStyleDescription.class, this, DescriptionPackage.NODE_MAPPING__CONDITIONNAL_STYLES);
+ }
+ return conditionnalStyles;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DescriptionPackage.NODE_MAPPING__STYLE:
+ return basicSetStyle(null, msgs);
+ case DescriptionPackage.NODE_MAPPING__CONDITIONNAL_STYLES:
+ return ((InternalEList<?>) getConditionnalStyles()).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 DescriptionPackage.NODE_MAPPING__DROP_DESCRIPTIONS:
+ return getDropDescriptions();
+ case DescriptionPackage.NODE_MAPPING__STYLE:
+ if (resolve) {
+ return getStyle();
+ }
+ return basicGetStyle();
+ case DescriptionPackage.NODE_MAPPING__CONDITIONNAL_STYLES:
+ return getConditionnalStyles();
+ }
+ 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 DescriptionPackage.NODE_MAPPING__DROP_DESCRIPTIONS:
+ getDropDescriptions().clear();
+ getDropDescriptions().addAll((Collection<? extends ContainerDropDescription>) newValue);
+ return;
+ case DescriptionPackage.NODE_MAPPING__STYLE:
+ setStyle((NodeStyleDescription) newValue);
+ return;
+ case DescriptionPackage.NODE_MAPPING__CONDITIONNAL_STYLES:
+ getConditionnalStyles().clear();
+ getConditionnalStyles().addAll((Collection<? extends ConditionalNodeStyleDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.NODE_MAPPING__DROP_DESCRIPTIONS:
+ getDropDescriptions().clear();
+ return;
+ case DescriptionPackage.NODE_MAPPING__STYLE:
+ setStyle((NodeStyleDescription) null);
+ return;
+ case DescriptionPackage.NODE_MAPPING__CONDITIONNAL_STYLES:
+ getConditionnalStyles().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.NODE_MAPPING__DROP_DESCRIPTIONS:
+ return dropDescriptions != null && !dropDescriptions.isEmpty();
+ case DescriptionPackage.NODE_MAPPING__STYLE:
+ return style != null;
+ case DescriptionPackage.NODE_MAPPING__CONDITIONNAL_STYLES:
+ return conditionnalStyles != null && !conditionnalStyles.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DragAndDropTargetDescription.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.NODE_MAPPING__DROP_DESCRIPTIONS:
+ return DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DragAndDropTargetDescription.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION__DROP_DESCRIPTIONS:
+ return DescriptionPackage.NODE_MAPPING__DROP_DESCRIPTIONS;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // NodeMappingImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/NodeMappingImportImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/NodeMappingImportImpl.java
new file mode 100644
index 0000000000..248f53932b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/NodeMappingImportImpl.java
@@ -0,0 +1,343 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.NodeMappingImport;
+import org.eclipse.sirius.viewpoint.description.AbstractMappingImport;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Node Mapping Import</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImportImpl#isHideSubMappings <em>Hide Sub
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImportImpl#isInheritsAncestorFilters <em>Inherits
+ * Ancestor Filters</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.NodeMappingImportImpl#getImportedMapping <em>Imported
+ * Mapping</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NodeMappingImportImpl extends NodeMappingImpl implements NodeMappingImport {
+ /**
+ * The default value of the '{@link #isHideSubMappings() <em>Hide Sub Mappings</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isHideSubMappings()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean HIDE_SUB_MAPPINGS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isHideSubMappings() <em>Hide Sub Mappings</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isHideSubMappings()
+ * @generated
+ * @ordered
+ */
+ protected boolean hideSubMappings = NodeMappingImportImpl.HIDE_SUB_MAPPINGS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isInheritsAncestorFilters() <em>Inherits Ancestor Filters</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isInheritsAncestorFilters()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INHERITS_ANCESTOR_FILTERS_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isInheritsAncestorFilters() <em>Inherits Ancestor Filters</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isInheritsAncestorFilters()
+ * @generated
+ * @ordered
+ */
+ protected boolean inheritsAncestorFilters = NodeMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getImportedMapping() <em>Imported Mapping</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getImportedMapping()
+ * @generated
+ * @ordered
+ */
+ protected NodeMapping importedMapping;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeMappingImportImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.NODE_MAPPING_IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isHideSubMappings() {
+ return hideSubMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHideSubMappings(boolean newHideSubMappings) {
+ boolean oldHideSubMappings = hideSubMappings;
+ hideSubMappings = newHideSubMappings;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.NODE_MAPPING_IMPORT__HIDE_SUB_MAPPINGS, oldHideSubMappings, hideSubMappings));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isInheritsAncestorFilters() {
+ return inheritsAncestorFilters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInheritsAncestorFilters(boolean newInheritsAncestorFilters) {
+ boolean oldInheritsAncestorFilters = inheritsAncestorFilters;
+ inheritsAncestorFilters = newInheritsAncestorFilters;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.NODE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS, oldInheritsAncestorFilters, inheritsAncestorFilters));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NodeMapping getImportedMapping() {
+ if (importedMapping != null && importedMapping.eIsProxy()) {
+ InternalEObject oldImportedMapping = (InternalEObject) importedMapping;
+ importedMapping = (NodeMapping) eResolveProxy(oldImportedMapping);
+ if (importedMapping != oldImportedMapping) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DescriptionPackage.NODE_MAPPING_IMPORT__IMPORTED_MAPPING, oldImportedMapping, importedMapping));
+ }
+ }
+ }
+ return importedMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeMapping basicGetImportedMapping() {
+ return importedMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setImportedMapping(NodeMapping newImportedMapping) {
+ NodeMapping oldImportedMapping = importedMapping;
+ importedMapping = newImportedMapping;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.NODE_MAPPING_IMPORT__IMPORTED_MAPPING, oldImportedMapping, importedMapping));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.NODE_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ return isHideSubMappings();
+ case DescriptionPackage.NODE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return isInheritsAncestorFilters();
+ case DescriptionPackage.NODE_MAPPING_IMPORT__IMPORTED_MAPPING:
+ if (resolve) {
+ return getImportedMapping();
+ }
+ return basicGetImportedMapping();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.NODE_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ setHideSubMappings((Boolean) newValue);
+ return;
+ case DescriptionPackage.NODE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ setInheritsAncestorFilters((Boolean) newValue);
+ return;
+ case DescriptionPackage.NODE_MAPPING_IMPORT__IMPORTED_MAPPING:
+ setImportedMapping((NodeMapping) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.NODE_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ setHideSubMappings(NodeMappingImportImpl.HIDE_SUB_MAPPINGS_EDEFAULT);
+ return;
+ case DescriptionPackage.NODE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ setInheritsAncestorFilters(NodeMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT);
+ return;
+ case DescriptionPackage.NODE_MAPPING_IMPORT__IMPORTED_MAPPING:
+ setImportedMapping((NodeMapping) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.NODE_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ return hideSubMappings != NodeMappingImportImpl.HIDE_SUB_MAPPINGS_EDEFAULT;
+ case DescriptionPackage.NODE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return inheritsAncestorFilters != NodeMappingImportImpl.INHERITS_ANCESTOR_FILTERS_EDEFAULT;
+ case DescriptionPackage.NODE_MAPPING_IMPORT__IMPORTED_MAPPING:
+ return importedMapping != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == AbstractMappingImport.class) {
+ switch (derivedFeatureID) {
+ case DescriptionPackage.NODE_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.ABSTRACT_MAPPING_IMPORT__HIDE_SUB_MAPPINGS;
+ case DescriptionPackage.NODE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return org.eclipse.sirius.viewpoint.description.DescriptionPackage.ABSTRACT_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == AbstractMappingImport.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.ABSTRACT_MAPPING_IMPORT__HIDE_SUB_MAPPINGS:
+ return DescriptionPackage.NODE_MAPPING_IMPORT__HIDE_SUB_MAPPINGS;
+ case org.eclipse.sirius.viewpoint.description.DescriptionPackage.ABSTRACT_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS:
+ return DescriptionPackage.NODE_MAPPING_IMPORT__INHERITS_ANCESTOR_FILTERS;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (hideSubMappings: "); //$NON-NLS-1$
+ result.append(hideSubMappings);
+ result.append(", inheritsAncestorFilters: "); //$NON-NLS-1$
+ result.append(inheritsAncestorFilters);
+ result.append(')');
+ return result.toString();
+ }
+
+} // NodeMappingImportImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/OrderedTreeLayoutImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/OrderedTreeLayoutImpl.java
new file mode 100644
index 0000000000..149b9b8b8c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/OrderedTreeLayoutImpl.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.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.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.OrderedTreeLayout;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Ordered Tree Layout</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.OrderedTreeLayoutImpl#getChildrenExpression <em>Children
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.OrderedTreeLayoutImpl#getNodeMapping <em>Node
+ * Mapping</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OrderedTreeLayoutImpl extends DocumentedElementImpl implements OrderedTreeLayout {
+ /**
+ * The default value of the '{@link #getChildrenExpression() <em>Children Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getChildrenExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String CHILDREN_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getChildrenExpression() <em>Children Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getChildrenExpression()
+ * @generated
+ * @ordered
+ */
+ protected String childrenExpression = OrderedTreeLayoutImpl.CHILDREN_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getNodeMapping() <em>Node Mapping</em>}' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getNodeMapping()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractNodeMapping> nodeMapping;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected OrderedTreeLayoutImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.ORDERED_TREE_LAYOUT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getChildrenExpression() {
+ return childrenExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setChildrenExpression(String newChildrenExpression) {
+ String oldChildrenExpression = childrenExpression;
+ childrenExpression = newChildrenExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.ORDERED_TREE_LAYOUT__CHILDREN_EXPRESSION, oldChildrenExpression, childrenExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractNodeMapping> getNodeMapping() {
+ if (nodeMapping == null) {
+ nodeMapping = new EObjectResolvingEList<>(AbstractNodeMapping.class, this, DescriptionPackage.ORDERED_TREE_LAYOUT__NODE_MAPPING);
+ }
+ return nodeMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.ORDERED_TREE_LAYOUT__CHILDREN_EXPRESSION:
+ return getChildrenExpression();
+ case DescriptionPackage.ORDERED_TREE_LAYOUT__NODE_MAPPING:
+ return getNodeMapping();
+ }
+ 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 DescriptionPackage.ORDERED_TREE_LAYOUT__CHILDREN_EXPRESSION:
+ setChildrenExpression((String) newValue);
+ return;
+ case DescriptionPackage.ORDERED_TREE_LAYOUT__NODE_MAPPING:
+ getNodeMapping().clear();
+ getNodeMapping().addAll((Collection<? extends AbstractNodeMapping>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ORDERED_TREE_LAYOUT__CHILDREN_EXPRESSION:
+ setChildrenExpression(OrderedTreeLayoutImpl.CHILDREN_EXPRESSION_EDEFAULT);
+ return;
+ case DescriptionPackage.ORDERED_TREE_LAYOUT__NODE_MAPPING:
+ getNodeMapping().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.ORDERED_TREE_LAYOUT__CHILDREN_EXPRESSION:
+ return OrderedTreeLayoutImpl.CHILDREN_EXPRESSION_EDEFAULT == null ? childrenExpression != null : !OrderedTreeLayoutImpl.CHILDREN_EXPRESSION_EDEFAULT.equals(childrenExpression);
+ case DescriptionPackage.ORDERED_TREE_LAYOUT__NODE_MAPPING:
+ return nodeMapping != null && !nodeMapping.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (childrenExpression: "); //$NON-NLS-1$
+ result.append(childrenExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // OrderedTreeLayoutImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/StringLayoutOptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/StringLayoutOptionImpl.java
new file mode 100644
index 0000000000..2150c8c27d
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/impl/StringLayoutOptionImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2007, 2017 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.StringLayoutOption;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>String Layout Option</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.impl.StringLayoutOptionImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StringLayoutOptionImpl extends LayoutOptionImpl implements StringLayoutOption {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = StringLayoutOptionImpl.VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StringLayoutOptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DescriptionPackage.Literals.STRING_LAYOUT_OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DescriptionPackage.STRING_LAYOUT_OPTION__VALUE, oldValue, value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DescriptionPackage.STRING_LAYOUT_OPTION__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DescriptionPackage.STRING_LAYOUT_OPTION__VALUE:
+ setValue((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.STRING_LAYOUT_OPTION__VALUE:
+ setValue(StringLayoutOptionImpl.VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DescriptionPackage.STRING_LAYOUT_OPTION__VALUE:
+ return StringLayoutOptionImpl.VALUE_EDEFAULT == null ? value != null : !StringLayoutOptionImpl.VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // StringLayoutOptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BeginLabelStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BeginLabelStyleDescription.java
new file mode 100644
index 0000000000..dc92c08c6f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BeginLabelStyleDescription.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.style.BasicLabelStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Begin Label Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The style of a begin label. <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBeginLabelStyleDescription()
+ * @model
+ * @generated
+ */
+public interface BeginLabelStyleDescription extends BasicLabelStyleDescription {
+} // BeginLabelStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BorderedStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BorderedStyleDescription.java
new file mode 100644
index 0000000000..4cd246552e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BorderedStyleDescription.java
@@ -0,0 +1,122 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.diagram.LineStyle;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.style.StyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Bordered Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderSizeComputationExpression
+ * <em>Border Size Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderColor <em>Border
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderLineStyle <em>Border Line
+ * Style</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBorderedStyleDescription()
+ * @model
+ * @generated
+ */
+public interface BorderedStyleDescription extends StyleDescription {
+ /**
+ * Returns the value of the ' <em><b>Border Size Computation Expression</b></em>' attribute. The default value is
+ * <code>"0"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An expression computing
+ * the size of the border. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Border Size Computation Expression</em>' attribute.
+ * @see #setBorderSizeComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBorderedStyleDescription_BorderSizeComputationExpression()
+ * @model default="0" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getBorderSizeComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderSizeComputationExpression
+ * <em>Border Size Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Border Size Computation Expression</em>' attribute.
+ * @see #getBorderSizeComputationExpression()
+ * @generated
+ */
+ void setBorderSizeComputationExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Border Color</em>' reference isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Border Color</em>' reference.
+ * @see #setBorderColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBorderedStyleDescription_BorderColor()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getBorderColor();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderColor <em>Border
+ * Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Border Color</em>' reference.
+ * @see #getBorderColor()
+ * @generated
+ */
+ void setBorderColor(ColorDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Border Line Style</b></em>' attribute. The default value is <code>"solid"</code>
+ * . The literals are from the enumeration {@link org.eclipse.sirius.diagram.LineStyle}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The style of the border line. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Border Line Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.LineStyle
+ * @see #setBorderLineStyle(LineStyle)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBorderedStyleDescription_BorderLineStyle()
+ * @model default="solid"
+ * @generated
+ */
+ LineStyle getBorderLineStyle();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderLineStyle <em>Border Line
+ * Style</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Border Line Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.LineStyle
+ * @see #getBorderLineStyle()
+ * @generated
+ */
+ void setBorderLineStyle(LineStyle value);
+
+} // BorderedStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BracketEdgeStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BracketEdgeStyleDescription.java
new file mode 100644
index 0000000000..55cd4ec59f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BracketEdgeStyleDescription.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Bracket Edge Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBracketEdgeStyleDescription()
+ * @model
+ * @generated
+ */
+public interface BracketEdgeStyleDescription extends EdgeStyleDescription {
+} // BracketEdgeStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BundledImageDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BundledImageDescription.java
new file mode 100644
index 0000000000..a36d11688b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/BundledImageDescription.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.diagram.BundledImageShape;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Bundled Image Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The bundled image style allows to use the default images provide by the Viewpoint editor.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getShape <em>Shape</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getColor <em>Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getProvidedShapeID <em>Provided Shape
+ * ID</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBundledImageDescription()
+ * @model
+ * @generated
+ */
+public interface BundledImageDescription extends NodeStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Shape</b></em>' attribute. The literals are from the enumeration
+ * {@link org.eclipse.sirius.diagram.BundledImageShape}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> The shape to use. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Shape</em>' attribute.
+ * @see org.eclipse.sirius.diagram.BundledImageShape
+ * @see #setShape(BundledImageShape)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBundledImageDescription_Shape()
+ * @model required="true"
+ * @generated
+ */
+ BundledImageShape getShape();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getShape
+ * <em>Shape</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Shape</em>' attribute.
+ * @see org.eclipse.sirius.diagram.BundledImageShape
+ * @see #getShape()
+ * @generated
+ */
+ void setShape(BundledImageShape value);
+
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> The color to use. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Color</em>' reference.
+ * @see #setColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBundledImageDescription_Color()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getColor
+ * <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Color</em>' reference.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(ColorDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Provided Shape ID</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Provided Shape ID</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Provided Shape ID</em>' attribute.
+ * @see #setProvidedShapeID(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getBundledImageDescription_ProvidedShapeID()
+ * @model
+ * @generated
+ */
+ String getProvidedShapeID();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getProvidedShapeID <em>Provided
+ * Shape ID</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Provided Shape ID</em>' attribute.
+ * @see #getProvidedShapeID()
+ * @generated
+ */
+ void setProvidedShapeID(String value);
+
+} // BundledImageDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/CenterLabelStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/CenterLabelStyleDescription.java
new file mode 100644
index 0000000000..397249c27c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/CenterLabelStyleDescription.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.style.BasicLabelStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Center Label Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The style of a center label. <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getCenterLabelStyleDescription()
+ * @model
+ * @generated
+ */
+public interface CenterLabelStyleDescription extends BasicLabelStyleDescription {
+} // CenterLabelStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/ContainerStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/ContainerStyleDescription.java
new file mode 100644
index 0000000000..be4ca103f0
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/ContainerStyleDescription.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.style.LabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.TooltipStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Container Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The style of a container. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.ContainerStyleDescription#isRoundedCorner <em>Rounded
+ * Corner</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getContainerStyleDescription()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ContainerStyleDescription extends RoundedCornerStyleDescription, BorderedStyleDescription, LabelStyleDescription, TooltipStyleDescription, HideLabelCapabilityStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Rounded Corner</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Rounded Corner</em>' attribute.
+ * @see #setRoundedCorner(boolean)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getContainerStyleDescription_RoundedCorner()
+ * @model
+ * @generated
+ */
+ boolean isRoundedCorner();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.ContainerStyleDescription#isRoundedCorner <em>Rounded
+ * Corner</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Rounded Corner</em>' attribute.
+ * @see #isRoundedCorner()
+ * @generated
+ */
+ void setRoundedCorner(boolean value);
+
+} // ContainerStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/CustomStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/CustomStyleDescription.java
new file mode 100644
index 0000000000..3df9b4e3ef
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/CustomStyleDescription.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Custom Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.CustomStyleDescription#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getCustomStyleDescription()
+ * @model
+ * @generated
+ */
+public interface CustomStyleDescription extends NodeStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> Set here an ID to identify your custom style. You'll then be able to provide your own figure
+ * implementation for every representation element having a style with this ID. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getCustomStyleDescription_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.CustomStyleDescription#getId
+ * <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // CustomStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/DotDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/DotDescription.java
new file mode 100644
index 0000000000..17065d26f6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/DotDescription.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Dot Description</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <!-- begin-model-doc --> The dot style. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.DotDescription#getBackgroundColor <em>Background Color</em>}
+ * </li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.DotDescription#getStrokeSizeComputationExpression <em>Stroke
+ * Size Computation Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getDotDescription()
+ * @model
+ * @generated
+ */
+public interface DotDescription extends NodeStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The background color. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Background Color</em>' reference.
+ * @see #setBackgroundColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getDotDescription_BackgroundColor()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getBackgroundColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.DotDescription#getBackgroundColor
+ * <em>Background Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Background Color</em>' reference.
+ * @see #getBackgroundColor()
+ * @generated
+ */
+ void setBackgroundColor(ColorDescription value);
+
+ /**
+ * Returns the value of the ' <em><b>Stroke Size Computation Expression</b></em>' attribute. The default value is
+ * <code>"2"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An expression to compute
+ * the size of the stroke. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Stroke Size Computation Expression</em>' attribute.
+ * @see #setStrokeSizeComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getDotDescription_StrokeSizeComputationExpression()
+ * @model default="2" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getStrokeSizeComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.DotDescription#getStrokeSizeComputationExpression <em>Stroke
+ * Size Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Stroke Size Computation Expression</em>' attribute.
+ * @see #getStrokeSizeComputationExpression()
+ * @generated
+ */
+ void setStrokeSizeComputationExpression(String value);
+
+} // DotDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EdgeStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EdgeStyleDescription.java
new file mode 100644
index 0000000000..9ded62e977
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EdgeStyleDescription.java
@@ -0,0 +1,392 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.EdgeArrows;
+import org.eclipse.sirius.diagram.EdgeRouting;
+import org.eclipse.sirius.diagram.LineStyle;
+import org.eclipse.sirius.diagram.description.CenteringStyle;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.FoldingStyle;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.style.StyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Edge Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The style of an edge. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getStrokeColor <em>Stroke
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getLineStyle <em>Line Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getSourceArrow <em>Source
+ * Arrow</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getTargetArrow <em>Target
+ * Arrow</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getSizeComputationExpression <em>Size
+ * Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getRoutingStyle <em>Routing
+ * Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getFoldingStyle <em>Folding
+ * Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getBeginLabelStyleDescription <em>Begin
+ * Label Style Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenterLabelStyleDescription
+ * <em>Center Label Style Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getEndLabelStyleDescription <em>End
+ * Label Style Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getEndsCentering <em>Ends
+ * Centering</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenteredSourceMappings <em>Centered
+ * Source Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenteredTargetMappings <em>Centered
+ * Target Mappings</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription()
+ * @model
+ * @generated
+ */
+public interface EdgeStyleDescription extends StyleDescription {
+ /**
+ * Returns the value of the '<em><b>Stroke Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> The color of the edge. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Stroke Color</em>' reference.
+ * @see #setStrokeColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_StrokeColor()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getStrokeColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getStrokeColor
+ * <em>Stroke Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Stroke Color</em>' reference.
+ * @see #getStrokeColor()
+ * @generated
+ */
+ void setStrokeColor(ColorDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Line Style</b></em>' attribute. The literals are from the enumeration
+ * {@link org.eclipse.sirius.diagram.LineStyle}. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc
+ * --> The style of the line. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Line Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.LineStyle
+ * @see #setLineStyle(LineStyle)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_LineStyle()
+ * @model
+ * @generated
+ */
+ LineStyle getLineStyle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getLineStyle
+ * <em>Line Style</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Line Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.LineStyle
+ * @see #getLineStyle()
+ * @generated
+ */
+ void setLineStyle(LineStyle value);
+
+ /**
+ * Returns the value of the '<em><b>Source Arrow</b></em>' attribute. The default value is
+ * <code>"NoDecoration"</code>. The literals are from the enumeration {@link org.eclipse.sirius.diagram.EdgeArrows}.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The source decoration. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Source Arrow</em>' attribute.
+ * @see org.eclipse.sirius.diagram.EdgeArrows
+ * @see #setSourceArrow(EdgeArrows)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_SourceArrow()
+ * @model default="NoDecoration" required="true"
+ * @generated
+ */
+ EdgeArrows getSourceArrow();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getSourceArrow
+ * <em>Source Arrow</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source Arrow</em>' attribute.
+ * @see org.eclipse.sirius.diagram.EdgeArrows
+ * @see #getSourceArrow()
+ * @generated
+ */
+ void setSourceArrow(EdgeArrows value);
+
+ /**
+ * Returns the value of the '<em><b>Target Arrow</b></em>' attribute. The default value is <code>"InputArrow"</code>
+ * . The literals are from the enumeration {@link org.eclipse.sirius.diagram.EdgeArrows}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The target decoration. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target Arrow</em>' attribute.
+ * @see org.eclipse.sirius.diagram.EdgeArrows
+ * @see #setTargetArrow(EdgeArrows)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_TargetArrow()
+ * @model default="InputArrow" required="true"
+ * @generated
+ */
+ EdgeArrows getTargetArrow();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getTargetArrow
+ * <em>Target Arrow</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target Arrow</em>' attribute.
+ * @see org.eclipse.sirius.diagram.EdgeArrows
+ * @see #getTargetArrow()
+ * @generated
+ */
+ void setTargetArrow(EdgeArrows value);
+
+ /**
+ * Returns the value of the '<em><b>Size Computation Expression</b></em>' attribute. The default value is
+ * <code>"1"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An expression to compute
+ * the thickness of the link. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Size Computation Expression</em>' attribute.
+ * @see #setSizeComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_SizeComputationExpression()
+ * @model default="1" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * annotation= "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * annotation= "http://www.eclipse.org/sirius/interpreted/expression/variables
+ * diagram='diagram.DSemanticDiagram | the current DSemanticDiagram.' view='diagram.DEdge | the current edge
+ * view for which the size is calculated.' sourceView='diagram.EdgeTarget | the source view of the current
+ * edge.' targetView='diagram.EdgeTarget | the target view of the current edge.'"
+ * @generated
+ */
+ String getSizeComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getSizeComputationExpression <em>Size
+ * Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Size Computation Expression</em>' attribute.
+ * @see #getSizeComputationExpression()
+ * @generated
+ */
+ void setSizeComputationExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Routing Style</b></em>' attribute. The default value is <code>"straight"</code>.
+ * The literals are from the enumeration {@link org.eclipse.sirius.diagram.EdgeRouting}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The routing style for your edge. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Routing Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.EdgeRouting
+ * @see #setRoutingStyle(EdgeRouting)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_RoutingStyle()
+ * @model default="straight" required="true"
+ * @generated
+ */
+ EdgeRouting getRoutingStyle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getRoutingStyle
+ * <em>Routing Style</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Routing Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.EdgeRouting
+ * @see #getRoutingStyle()
+ * @generated
+ */
+ void setRoutingStyle(EdgeRouting value);
+
+ /**
+ * Returns the value of the '<em><b>Folding Style</b></em>' attribute. The literals are from the enumeration
+ * {@link org.eclipse.sirius.diagram.description.FoldingStyle}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> A folding style allow to collapse the elements targeted by the edge. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Folding Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.FoldingStyle
+ * @see #setFoldingStyle(FoldingStyle)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_FoldingStyle()
+ * @model
+ * @generated
+ */
+ FoldingStyle getFoldingStyle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getFoldingStyle
+ * <em>Folding Style</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Folding Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.FoldingStyle
+ * @see #getFoldingStyle()
+ * @generated
+ */
+ void setFoldingStyle(FoldingStyle value);
+
+ /**
+ * Returns the value of the '<em><b>Begin Label Style Description</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Begin Label Style Description</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>Begin Label Style Description</em>' containment reference.
+ * @see #setBeginLabelStyleDescription(BeginLabelStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_BeginLabelStyleDescription()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ BeginLabelStyleDescription getBeginLabelStyleDescription();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getBeginLabelStyleDescription <em>Begin
+ * Label Style Description</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Begin Label Style Description</em>' containment reference.
+ * @see #getBeginLabelStyleDescription()
+ * @generated
+ */
+ void setBeginLabelStyleDescription(BeginLabelStyleDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Center Label Style Description</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Center Label Style Description</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>Center Label Style Description</em>' containment reference.
+ * @see #setCenterLabelStyleDescription(CenterLabelStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_CenterLabelStyleDescription()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ CenterLabelStyleDescription getCenterLabelStyleDescription();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenterLabelStyleDescription
+ * <em>Center Label Style Description</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Center Label Style Description</em>' containment reference.
+ * @see #getCenterLabelStyleDescription()
+ * @generated
+ */
+ void setCenterLabelStyleDescription(CenterLabelStyleDescription value);
+
+ /**
+ * Returns the value of the '<em><b>End Label Style Description</b></em>' containment reference. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>End Label Style Description</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>End Label Style Description</em>' containment reference.
+ * @see #setEndLabelStyleDescription(EndLabelStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_EndLabelStyleDescription()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EndLabelStyleDescription getEndLabelStyleDescription();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getEndLabelStyleDescription <em>End
+ * Label Style Description</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>End Label Style Description</em>' containment reference.
+ * @see #getEndLabelStyleDescription()
+ * @generated
+ */
+ void setEndLabelStyleDescription(EndLabelStyleDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Ends Centering</b></em>' attribute. The default value is <code>"None"</code>.
+ * The literals are from the enumeration {@link org.eclipse.sirius.diagram.description.CenteringStyle} . <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Use this feature to generalize the centered
+ * edge behavior to all source mappings, all target mappings or both. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Ends Centering</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.CenteringStyle
+ * @see #setEndsCentering(CenteringStyle)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_EndsCentering()
+ * @model default="None"
+ * @generated
+ */
+ CenteringStyle getEndsCentering();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getEndsCentering
+ * <em>Ends Centering</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Ends Centering</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.CenteringStyle
+ * @see #getEndsCentering()
+ * @generated
+ */
+ void setEndsCentering(CenteringStyle value);
+
+ /**
+ * Returns the value of the '<em><b>Centered Source Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The mapping that creates EdgeTargets that are the sources of the ViewEdges that are
+ * created by this EdgeMapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Centered Source Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_CenteredSourceMappings()
+ * @model required="true"
+ * @generated
+ */
+ EList<DiagramElementMapping> getCenteredSourceMappings();
+
+ /**
+ * Returns the value of the '<em><b>Centered Target Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The mapping that creates EdgeTargets that are the targets of the ViewEdges that are
+ * created by this EdgeMapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Centered Target Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEdgeStyleDescription_CenteredTargetMappings()
+ * @model required="true"
+ * @generated
+ */
+ EList<DiagramElementMapping> getCenteredTargetMappings();
+
+} // EdgeStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EllipseNodeDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EllipseNodeDescription.java
new file mode 100644
index 0000000000..7f4a40d1ca
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EllipseNodeDescription.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Ellipse Node Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The ellipse style to display a node as an ellipse. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getColor <em>Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getHorizontalDiameterComputationExpression
+ * <em>Horizontal Diameter Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getVerticalDiameterComputationExpression
+ * <em>Vertical Diameter Computation Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEllipseNodeDescription()
+ * @model
+ * @generated
+ */
+public interface EllipseNodeDescription extends NodeStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> The color of the ellipse. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Color</em>' reference.
+ * @see #setColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEllipseNodeDescription_Color()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getColor
+ * <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Color</em>' reference.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(ColorDescription value);
+
+ /**
+ * Returns the value of the ' <em><b>Horizontal Diameter Computation Expression</b></em>' attribute. The default
+ * value is <code>"0"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An expression
+ * to compute the horizontal diameter of the ellipse. (Semimajor axis) <!-- end-model-doc -->
+ *
+ * @return the value of the ' <em>Horizontal Diameter Computation Expression</em>' attribute.
+ * @see #setHorizontalDiameterComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEllipseNodeDescription_HorizontalDiameterComputationExpression()
+ * @model default="0" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getHorizontalDiameterComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getHorizontalDiameterComputationExpression
+ * <em>Horizontal Diameter Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Horizontal Diameter Computation Expression</em>' attribute.
+ * @see #getHorizontalDiameterComputationExpression()
+ * @generated
+ */
+ void setHorizontalDiameterComputationExpression(String value);
+
+ /**
+ * Returns the value of the ' <em><b>Vertical Diameter Computation Expression</b></em>' attribute. The default value
+ * is <code>"0"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An expression to
+ * compute the vertical diameter of the ellipse. (Semiminor axis) <!-- end-model-doc -->
+ *
+ * @return the value of the ' <em>Vertical Diameter Computation Expression</em>' attribute.
+ * @see #setVerticalDiameterComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEllipseNodeDescription_VerticalDiameterComputationExpression()
+ * @model default="0" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getVerticalDiameterComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getVerticalDiameterComputationExpression
+ * <em>Vertical Diameter Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Vertical Diameter Computation Expression</em>' attribute.
+ * @see #getVerticalDiameterComputationExpression()
+ * @generated
+ */
+ void setVerticalDiameterComputationExpression(String value);
+
+} // EllipseNodeDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EndLabelStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EndLabelStyleDescription.java
new file mode 100644
index 0000000000..45248bdabf
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/EndLabelStyleDescription.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.style.BasicLabelStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>End Label Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The style of a end label. <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getEndLabelStyleDescription()
+ * @model
+ * @generated
+ */
+public interface EndLabelStyleDescription extends BasicLabelStyleDescription {
+} // EndLabelStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/FlatContainerStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/FlatContainerStyleDescription.java
new file mode 100644
index 0000000000..9caafa6da5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/FlatContainerStyleDescription.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.diagram.BackgroundStyle;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.style.LabelBorderStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Flat Container Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getBackgroundStyle
+ * <em>Background Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getBackgroundColor
+ * <em>Background Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getForegroundColor
+ * <em>Foreground Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getLabelBorderStyle <em>Label
+ * Border Style</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getFlatContainerStyleDescription()
+ * @model
+ * @generated
+ */
+public interface FlatContainerStyleDescription extends ContainerStyleDescription, SizeComputationContainerStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Background Style</b></em>' attribute. The literals are from the enumeration
+ * {@link org.eclipse.sirius.diagram.BackgroundStyle}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> The background style. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Background Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.BackgroundStyle
+ * @see #setBackgroundStyle(BackgroundStyle)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getFlatContainerStyleDescription_BackgroundStyle()
+ * @model required="true"
+ * @generated
+ */
+ BackgroundStyle getBackgroundStyle();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getBackgroundStyle
+ * <em>Background Style</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Background Style</em>' attribute.
+ * @see org.eclipse.sirius.diagram.BackgroundStyle
+ * @see #getBackgroundStyle()
+ * @generated
+ */
+ void setBackgroundStyle(BackgroundStyle value);
+
+ /**
+ * Returns the value of the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The color to use. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Background Color</em>' reference.
+ * @see #setBackgroundColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getFlatContainerStyleDescription_BackgroundColor()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getBackgroundColor();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getBackgroundColor
+ * <em>Background Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Background Color</em>' reference.
+ * @see #getBackgroundColor()
+ * @generated
+ */
+ void setBackgroundColor(ColorDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Foreground Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The color to use. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Foreground Color</em>' reference.
+ * @see #setForegroundColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getFlatContainerStyleDescription_ForegroundColor()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getForegroundColor();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getForegroundColor
+ * <em>Foreground Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Foreground Color</em>' reference.
+ * @see #getForegroundColor()
+ * @generated
+ */
+ void setForegroundColor(ColorDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Label Border Style</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Label Border Style</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Label Border Style</em>' reference.
+ * @see #setLabelBorderStyle(LabelBorderStyleDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getFlatContainerStyleDescription_LabelBorderStyle()
+ * @model
+ * @generated
+ */
+ LabelBorderStyleDescription getLabelBorderStyle();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getLabelBorderStyle <em>Label
+ * Border Style</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Label Border Style</em>' reference.
+ * @see #getLabelBorderStyle()
+ * @generated
+ */
+ void setLabelBorderStyle(LabelBorderStyleDescription value);
+
+} // FlatContainerStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/GaugeCompositeStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/GaugeCompositeStyleDescription.java
new file mode 100644
index 0000000000..5bb620a62f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/GaugeCompositeStyleDescription.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.AlignmentKind;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Gauge Composite Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> This style groups many GaugeSection. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription#getAlignment
+ * <em>Alignment</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription#getSections
+ * <em>Sections</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeCompositeStyleDescription()
+ * @model
+ * @generated
+ */
+public interface GaugeCompositeStyleDescription extends NodeStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Alignment</b></em>' attribute. The default value is <code>"SQUARE"</code>. The
+ * literals are from the enumeration {@link org.eclipse.sirius.diagram.AlignmentKind}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The alignment of the gauges <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Alignment</em>' attribute.
+ * @see org.eclipse.sirius.diagram.AlignmentKind
+ * @see #setAlignment(AlignmentKind)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeCompositeStyleDescription_Alignment()
+ * @model default="SQUARE"
+ * @generated
+ */
+ AlignmentKind getAlignment();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription#getAlignment
+ * <em>Alignment</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Alignment</em>' attribute.
+ * @see org.eclipse.sirius.diagram.AlignmentKind
+ * @see #getAlignment()
+ * @generated
+ */
+ void setAlignment(AlignmentKind value);
+
+ /**
+ * Returns the value of the '<em><b>Sections</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription} . <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The sections. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Sections</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeCompositeStyleDescription_Sections()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<GaugeSectionDescription> getSections();
+
+} // GaugeCompositeStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/GaugeSectionDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/GaugeSectionDescription.java
new file mode 100644
index 0000000000..4420952a91
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/GaugeSectionDescription.java
@@ -0,0 +1,211 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Gauge Section Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The gauge section represents one gauge of a GaugeCompositeStyle. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getMinValueExpression <em>Min Value
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getMaxValueExpression <em>Max Value
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getValueExpression <em>Value
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getBackgroundColor <em>Background
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getForegroundColor <em>Foreground
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getLabel <em>Label</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeSectionDescription()
+ * @model
+ * @generated
+ */
+public interface GaugeSectionDescription extends EObject {
+ /**
+ * Returns the value of the '<em><b>Min Value Expression</b></em>' attribute. The default value is <code>"0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Min Value Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Min Value Expression</em>' attribute.
+ * @see #setMinValueExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeSectionDescription_MinValueExpression()
+ * @model default="0" dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/variables"
+ * @generated
+ */
+ String getMinValueExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getMinValueExpression <em>Min Value
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Min Value Expression</em>' attribute.
+ * @see #getMinValueExpression()
+ * @generated
+ */
+ void setMinValueExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Max Value Expression</b></em>' attribute. The default value is <code>"0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Max Value Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Max Value Expression</em>' attribute.
+ * @see #setMaxValueExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeSectionDescription_MaxValueExpression()
+ * @model default="0" dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/variables"
+ * @generated
+ */
+ String getMaxValueExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getMaxValueExpression <em>Max Value
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Max Value Expression</em>' attribute.
+ * @see #getMaxValueExpression()
+ * @generated
+ */
+ void setMaxValueExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value Expression</b></em>' attribute. The default value is <code>"0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value Expression</em>' attribute.
+ * @see #setValueExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeSectionDescription_ValueExpression()
+ * @model default="0" dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/variables"
+ * @generated
+ */
+ String getValueExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getValueExpression <em>Value
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value Expression</em>' attribute.
+ * @see #getValueExpression()
+ * @generated
+ */
+ void setValueExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The background color. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Background Color</em>' reference.
+ * @see #setBackgroundColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeSectionDescription_BackgroundColor()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getBackgroundColor();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getBackgroundColor <em>Background
+ * Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Background Color</em>' reference.
+ * @see #getBackgroundColor()
+ * @generated
+ */
+ void setBackgroundColor(ColorDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Foreground Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The foreground color. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Foreground Color</em>' reference.
+ * @see #setForegroundColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeSectionDescription_ForegroundColor()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getForegroundColor();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getForegroundColor <em>Foreground
+ * Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Foreground Color</em>' reference.
+ * @see #getForegroundColor()
+ * @generated
+ */
+ void setForegroundColor(ColorDescription value);
+
+ /**
+ * Returns the value of the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> The label of the gauge. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Label</em>' attribute.
+ * @see #setLabel(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getGaugeSectionDescription_Label()
+ * @model
+ * @generated
+ */
+ String getLabel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getLabel
+ * <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Label</em>' attribute.
+ * @see #getLabel()
+ * @generated
+ */
+ void setLabel(String value);
+
+} // GaugeSectionDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/HideLabelCapabilityStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/HideLabelCapabilityStyleDescription.java
new file mode 100644
index 0000000000..54f8e6985e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/HideLabelCapabilityStyleDescription.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Hide Label Capability Style
+ * Description</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription#isHideLabelByDefault
+ * <em>Hide Label By Default</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getHideLabelCapabilityStyleDescription()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface HideLabelCapabilityStyleDescription extends EObject {
+ /**
+ * Returns the value of the '<em><b>Hide Label By Default</b></em>' attribute. The default value is
+ * <code>"false"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The default
+ * visibility of the label (available only if labelPosition equals BORDER). A change of this option does not affect
+ * already existing elements. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Hide Label By Default</em>' attribute.
+ * @see #setHideLabelByDefault(boolean)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getHideLabelCapabilityStyleDescription_HideLabelByDefault()
+ * @model default="false"
+ * @generated
+ */
+ boolean isHideLabelByDefault();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription#isHideLabelByDefault
+ * <em>Hide Label By Default</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Hide Label By Default</em>' attribute.
+ * @see #isHideLabelByDefault()
+ * @generated
+ */
+ void setHideLabelByDefault(boolean value);
+
+} // HideLabelCapabilityStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/LozengeNodeDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/LozengeNodeDescription.java
new file mode 100644
index 0000000000..9b41a38ecc
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/LozengeNodeDescription.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Lozenge Node Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> The diamond style to display a node as a diamond. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getColor <em>Color</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getLozengeNodeDescription()
+ * @model
+ * @generated
+ */
+public interface LozengeNodeDescription extends NodeStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Width Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> An expression to compute the width of the lozenge. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Width Computation Expression</em>' attribute.
+ * @see #setWidthComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getLozengeNodeDescription_WidthComputationExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getWidthComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Width Computation Expression</em>' attribute.
+ * @see #getWidthComputationExpression()
+ * @generated
+ */
+ void setWidthComputationExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Height Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> An expression to computes the height of the lozenge. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Height Computation Expression</em>' attribute.
+ * @see #setHeightComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getLozengeNodeDescription_HeightComputationExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getHeightComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Height Computation Expression</em>' attribute.
+ * @see #getHeightComputationExpression()
+ * @generated
+ */
+ void setHeightComputationExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> The color of the lozenge. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Color</em>' reference.
+ * @see #setColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getLozengeNodeDescription_Color()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getColor
+ * <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Color</em>' reference.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(ColorDescription value);
+
+} // LozengeNodeDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/NodeStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/NodeStyleDescription.java
new file mode 100644
index 0000000000..964e962a04
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/NodeStyleDescription.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.LabelPosition;
+import org.eclipse.sirius.diagram.ResizeKind;
+import org.eclipse.sirius.viewpoint.description.style.LabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.StyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.TooltipStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Node Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Style of a node. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getSizeComputationExpression <em>Size
+ * Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getLabelPosition <em>Label
+ * Position</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getResizeKind <em>Resize Kind</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getForbiddenSides <em>Forbidden
+ * Sides</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getNodeStyleDescription()
+ * @model abstract="true"
+ * @generated
+ */
+public interface NodeStyleDescription extends StyleDescription, BorderedStyleDescription, LabelStyleDescription, TooltipStyleDescription, HideLabelCapabilityStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Size Computation Expression</b></em>' attribute. The default value is
+ * <code>"3"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Expression that computes
+ * the size of the node. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Size Computation Expression</em>' attribute.
+ * @see #setSizeComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getNodeStyleDescription_SizeComputationExpression()
+ * @model default="3" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getSizeComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getSizeComputationExpression <em>Size
+ * Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Size Computation Expression</em>' attribute.
+ * @see #getSizeComputationExpression()
+ * @generated
+ */
+ void setSizeComputationExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Label Position</b></em>' attribute. The default value is <code>"border"</code>.
+ * The literals are from the enumeration {@link org.eclipse.sirius.diagram.LabelPosition}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The relative position of the label to the node. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Label Position</em>' attribute.
+ * @see org.eclipse.sirius.diagram.LabelPosition
+ * @see #setLabelPosition(LabelPosition)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getNodeStyleDescription_LabelPosition()
+ * @model default="border"
+ * @generated
+ */
+ LabelPosition getLabelPosition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getLabelPosition
+ * <em>Label Position</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Label Position</em>' attribute.
+ * @see org.eclipse.sirius.diagram.LabelPosition
+ * @see #getLabelPosition()
+ * @generated
+ */
+ void setLabelPosition(LabelPosition value);
+
+ /**
+ * Returns the value of the '<em><b>Resize Kind</b></em>' attribute. The default value is <code>"NONE"</code>. The
+ * literals are from the enumeration {@link org.eclipse.sirius.diagram.ResizeKind}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> Define the directions the user is able to resize. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Resize Kind</em>' attribute.
+ * @see org.eclipse.sirius.diagram.ResizeKind
+ * @see #setResizeKind(ResizeKind)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getNodeStyleDescription_ResizeKind()
+ * @model default="NONE" required="true"
+ * @generated
+ */
+ ResizeKind getResizeKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getResizeKind
+ * <em>Resize Kind</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Resize Kind</em>' attribute.
+ * @see org.eclipse.sirius.diagram.ResizeKind
+ * @see #getResizeKind()
+ * @generated
+ */
+ void setResizeKind(ResizeKind value);
+
+ /**
+ * Returns the value of the '<em><b>Forbidden Sides</b></em>' attribute list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.style.Side}. The literals are from the enumeration
+ * {@link org.eclipse.sirius.diagram.description.style.Side}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Forbidden Sides</em>' attribute list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> Select which side of the container is authorized or not. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Forbidden Sides</em>' attribute list.
+ * @see org.eclipse.sirius.diagram.description.style.Side
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getNodeStyleDescription_ForbiddenSides()
+ * @model
+ * @generated
+ */
+ EList<Side> getForbiddenSides();
+
+} // NodeStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/NoteDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/NoteDescription.java
new file mode 100644
index 0000000000..d51ddc0863
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/NoteDescription.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Note Description</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.NoteDescription#getColor <em>Color</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getNoteDescription()
+ * @model
+ * @generated
+ */
+public interface NoteDescription extends NodeStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> The color to use. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Color</em>' reference.
+ * @see #setColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getNoteDescription_Color()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.NoteDescription#getColor
+ * <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Color</em>' reference.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(ColorDescription value);
+
+} // NoteDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/RoundedCornerStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/RoundedCornerStyleDescription.java
new file mode 100644
index 0000000000..d7ae398749
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/RoundedCornerStyleDescription.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.style.StyleDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Rounded Corner Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription#getArcWidth <em>Arc
+ * Width</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription#getArcHeight <em>Arc
+ * Height</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getRoundedCornerStyleDescription()
+ * @model abstract="true"
+ * @generated
+ */
+public interface RoundedCornerStyleDescription extends StyleDescription {
+ /**
+ * Returns the value of the '<em><b>Arc Width</b></em>' attribute. The default value is <code>"1"</code>. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The width of the ellipse used to draw the
+ * corners. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Arc Width</em>' attribute.
+ * @see #setArcWidth(Integer)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getRoundedCornerStyleDescription_ArcWidth()
+ * @model default="1"
+ * @generated
+ */
+ Integer getArcWidth();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription#getArcWidth <em>Arc
+ * Width</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Arc Width</em>' attribute.
+ * @see #getArcWidth()
+ * @generated
+ */
+ void setArcWidth(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Arc Height</b></em>' attribute. The default value is <code>"1"</code>. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The height of the ellipse used to draw the
+ * corners. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Arc Height</em>' attribute.
+ * @see #setArcHeight(Integer)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getRoundedCornerStyleDescription_ArcHeight()
+ * @model default="1"
+ * @generated
+ */
+ Integer getArcHeight();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription#getArcHeight <em>Arc
+ * Height</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Arc Height</em>' attribute.
+ * @see #getArcHeight()
+ * @generated
+ */
+ void setArcHeight(Integer value);
+
+} // RoundedCornerStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/ShapeContainerStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/ShapeContainerStyleDescription.java
new file mode 100644
index 0000000000..d128682094
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/ShapeContainerStyleDescription.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.diagram.ContainerShape;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Shape Container Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription#getShape <em>Shape</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription#getBackgroundColor
+ * <em>Background Color</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getShapeContainerStyleDescription()
+ * @model
+ * @generated
+ */
+public interface ShapeContainerStyleDescription extends ContainerStyleDescription, SizeComputationContainerStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Shape</b></em>' attribute. The literals are from the enumeration
+ * {@link org.eclipse.sirius.diagram.ContainerShape}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Shape</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Shape</em>' attribute.
+ * @see org.eclipse.sirius.diagram.ContainerShape
+ * @see #setShape(ContainerShape)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getShapeContainerStyleDescription_Shape()
+ * @model required="true"
+ * @generated
+ */
+ ContainerShape getShape();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription#getShape <em>Shape</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Shape</em>' attribute.
+ * @see org.eclipse.sirius.diagram.ContainerShape
+ * @see #getShape()
+ * @generated
+ */
+ void setShape(ContainerShape value);
+
+ /**
+ * Returns the value of the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The color to use. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Background Color</em>' reference.
+ * @see #setBackgroundColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getShapeContainerStyleDescription_BackgroundColor()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getBackgroundColor();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription#getBackgroundColor
+ * <em>Background Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Background Color</em>' reference.
+ * @see #getBackgroundColor()
+ * @generated
+ */
+ void setBackgroundColor(ColorDescription value);
+
+} // ShapeContainerStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/Side.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/Side.java
new file mode 100644
index 0000000000..42cafdf2c5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/Side.java
@@ -0,0 +1,273 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration ' <em><b>Side</b></em>', and utility
+ * methods for working with them. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getSide()
+ * @model
+ * @generated
+ */
+public enum Side implements Enumerator {
+ /**
+ * The '<em><b>WEST</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #WEST_VALUE
+ * @generated
+ * @ordered
+ */
+ WEST(0, "WEST", "WEST"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>SOUTH</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #SOUTH_VALUE
+ * @generated
+ * @ordered
+ */
+ SOUTH(1, "SOUTH", "SOUTH"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>EAST</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #EAST_VALUE
+ * @generated
+ * @ordered
+ */
+ EAST(2, "EAST", "EAST"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>NORTH</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #NORTH_VALUE
+ * @generated
+ * @ordered
+ */
+ NORTH(3, "NORTH", "NORTH"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>WEST</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>WEST</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #WEST
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int WEST_VALUE = 0;
+
+ /**
+ * The '<em><b>SOUTH</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SOUTH</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #SOUTH
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SOUTH_VALUE = 1;
+
+ /**
+ * The '<em><b>EAST</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EAST</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #EAST
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EAST_VALUE = 2;
+
+ /**
+ * The '<em><b>NORTH</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NORTH</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #NORTH
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NORTH_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Side</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final Side[] VALUES_ARRAY = new Side[] { WEST, SOUTH, EAST, NORTH, };
+
+ /**
+ * A public read-only list of all the '<em><b>Side</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public static final List<Side> VALUES = Collections.unmodifiableList(Arrays.asList(Side.VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Side</b></em>' literal with the specified literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param literal
+ * the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Side get(String literal) {
+ for (Side result : Side.VALUES_ARRAY) {
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Side</b></em>' literal with the specified name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param name
+ * the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Side getByName(String name) {
+ for (Side result : Side.VALUES_ARRAY) {
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Side</b></em>' literal with the specified integer value. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Side get(int value) {
+ switch (value) {
+ case WEST_VALUE:
+ return WEST;
+ case SOUTH_VALUE:
+ return SOUTH;
+ case EAST_VALUE:
+ return EAST;
+ case NORTH_VALUE:
+ return NORTH;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private Side(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // Side
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/SizeComputationContainerStyleDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/SizeComputationContainerStyleDescription.java
new file mode 100644
index 0000000000..a6d48017a9
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/SizeComputationContainerStyleDescription.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Size Computation Container Style
+ * Description</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getSizeComputationContainerStyleDescription()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SizeComputationContainerStyleDescription extends EObject {
+ /**
+ * Returns the value of the '<em><b>Width Computation Expression</b></em>' attribute. The default value is
+ * <code>"-1"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Expression that
+ * computes the size of the node. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Width Computation Expression</em>' attribute.
+ * @see #setWidthComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getSizeComputationContainerStyleDescription_WidthComputationExpression()
+ * @model default="-1" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getWidthComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Width Computation Expression</em>' attribute.
+ * @see #getWidthComputationExpression()
+ * @generated
+ */
+ void setWidthComputationExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Height Computation Expression</b></em>' attribute. The default value is
+ * <code>"-1"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Expression that
+ * computes the size of the node. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Height Computation Expression</em>' attribute.
+ * @see #setHeightComputationExpression(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getSizeComputationContainerStyleDescription_HeightComputationExpression()
+ * @model default="-1" dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an integer.'"
+ * @generated
+ */
+ String getHeightComputationExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Height Computation Expression</em>' attribute.
+ * @see #getHeightComputationExpression()
+ * @generated
+ */
+ void setHeightComputationExpression(String value);
+
+} // SizeComputationContainerStyleDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/SquareDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/SquareDescription.java
new file mode 100644
index 0000000000..159fb65687
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/SquareDescription.java
@@ -0,0 +1,113 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Square Description</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <!-- begin-model-doc --> The square style to display a node as a square. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.SquareDescription#getWidth <em>Width</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.SquareDescription#getHeight <em>Height</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.SquareDescription#getColor <em>Color</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getSquareDescription()
+ * @model
+ * @generated
+ */
+public interface SquareDescription extends NodeStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Width</b></em>' attribute. The default value is <code>"0"</code>. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Return all nodes that have been created with
+ * the specified mapping. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Width</em>' attribute.
+ * @see #setWidth(Integer)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getSquareDescription_Width()
+ * @model default="0"
+ * @generated
+ */
+ Integer getWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.SquareDescription#getWidth
+ * <em>Width</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Width</em>' attribute.
+ * @see #getWidth()
+ * @generated
+ */
+ void setWidth(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Height</b></em>' attribute. The default value is <code>"0"</code>. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The height of the square. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Height</em>' attribute.
+ * @see #setHeight(Integer)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getSquareDescription_Height()
+ * @model default="0"
+ * @generated
+ */
+ Integer getHeight();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.SquareDescription#getHeight
+ * <em>Height</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Height</em>' attribute.
+ * @see #getHeight()
+ * @generated
+ */
+ void setHeight(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Color</em>' reference isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Color</em>' reference.
+ * @see #setColor(ColorDescription)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getSquareDescription_Color()
+ * @model required="true"
+ * @generated
+ */
+ ColorDescription getColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.style.SquareDescription#getColor
+ * <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Color</em>' reference.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(ColorDescription value);
+
+} // SquareDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/StyleFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/StyleFactory.java
new file mode 100644
index 0000000000..798e2937ce
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/StyleFactory.java
@@ -0,0 +1,194 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+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.sirius.diagram.description.style.StylePackage
+ * @generated
+ */
+public interface StyleFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ StyleFactory eINSTANCE = org.eclipse.sirius.diagram.description.style.impl.StyleFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Bordered Style Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Bordered Style Description</em>'.
+ * @generated
+ */
+ BorderedStyleDescription createBorderedStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Custom Style Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Custom Style Description</em>'.
+ * @generated
+ */
+ CustomStyleDescription createCustomStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Square Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Square Description</em>'.
+ * @generated
+ */
+ SquareDescription createSquareDescription();
+
+ /**
+ * Returns a new object of class '<em>Lozenge Node Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Lozenge Node Description</em>'.
+ * @generated
+ */
+ LozengeNodeDescription createLozengeNodeDescription();
+
+ /**
+ * Returns a new object of class '<em>Ellipse Node Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Ellipse Node Description</em>'.
+ * @generated
+ */
+ EllipseNodeDescription createEllipseNodeDescription();
+
+ /**
+ * Returns a new object of class '<em>Bundled Image Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Bundled Image Description</em>'.
+ * @generated
+ */
+ BundledImageDescription createBundledImageDescription();
+
+ /**
+ * Returns a new object of class '<em>Note Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Note Description</em>'.
+ * @generated
+ */
+ NoteDescription createNoteDescription();
+
+ /**
+ * Returns a new object of class '<em>Dot Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Dot Description</em>'.
+ * @generated
+ */
+ DotDescription createDotDescription();
+
+ /**
+ * Returns a new object of class '<em>Gauge Composite Style Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Gauge Composite Style Description</em>'.
+ * @generated
+ */
+ GaugeCompositeStyleDescription createGaugeCompositeStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Gauge Section Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Gauge Section Description</em>'.
+ * @generated
+ */
+ GaugeSectionDescription createGaugeSectionDescription();
+
+ /**
+ * Returns a new object of class '<em>Flat Container Style Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Flat Container Style Description</em>'.
+ * @generated
+ */
+ FlatContainerStyleDescription createFlatContainerStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Shape Container Style Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Shape Container Style Description</em>'.
+ * @generated
+ */
+ ShapeContainerStyleDescription createShapeContainerStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Workspace Image Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Workspace Image Description</em>'.
+ * @generated
+ */
+ WorkspaceImageDescription createWorkspaceImageDescription();
+
+ /**
+ * Returns a new object of class '<em>Edge Style Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Edge Style Description</em>'.
+ * @generated
+ */
+ EdgeStyleDescription createEdgeStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Begin Label Style Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Begin Label Style Description</em>'.
+ * @generated
+ */
+ BeginLabelStyleDescription createBeginLabelStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Center Label Style Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Center Label Style Description</em>'.
+ * @generated
+ */
+ CenterLabelStyleDescription createCenterLabelStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>End Label Style Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>End Label Style Description</em>'.
+ * @generated
+ */
+ EndLabelStyleDescription createEndLabelStyleDescription();
+
+ /**
+ * Returns a new object of class '<em>Bracket Edge Style Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Bracket Edge Style Description</em>'.
+ * @generated
+ */
+ BracketEdgeStyleDescription createBracketEdgeStyleDescription();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ StylePackage getStylePackage();
+
+} // StyleFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/StylePackage.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/StylePackage.java
new file mode 100644
index 0000000000..dc50738175
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/StylePackage.java
@@ -0,0 +1,4708 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StyleFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface StylePackage extends EPackage {
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "style"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/sirius/diagram/description/style/1.1.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "style"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ StylePackage eINSTANCE = org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.BorderedStyleDescriptionImpl
+ * <em>Bordered Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.BorderedStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getBorderedStyleDescription()
+ * @generated
+ */
+ int BORDERED_STYLE_DESCRIPTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BORDERED_STYLE_DESCRIPTION__BORDER_COLOR = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Bordered Style Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BORDERED_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl
+ * <em>Node Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getNodeStyleDescription()
+ * @generated
+ */
+ int NODE_STYLE_DESCRIPTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__BORDER_COLOR = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__LABEL_SIZE = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__LABEL_FORMAT = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__SHOW_ICON = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__LABEL_COLOR = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__ICON_PATH = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__LABEL_POSITION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__RESIZE_KIND = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 15;
+
+ /**
+ * The number of structural features of the '<em>Node Style Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 16;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.CustomStyleDescriptionImpl
+ * <em>Custom Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.CustomStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getCustomStyleDescription()
+ * @generated
+ */
+ int CUSTOM_STYLE_DESCRIPTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION__ID = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Custom Style Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_STYLE_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.SquareDescriptionImpl
+ * <em>Square Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.SquareDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getSquareDescription()
+ * @generated
+ */
+ int SQUARE_DESCRIPTION = 3;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Width</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__WIDTH = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Height</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__HEIGHT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION__COLOR = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Square Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SQUARE_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.LozengeNodeDescriptionImpl
+ * <em>Lozenge Node Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.LozengeNodeDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getLozengeNodeDescription()
+ * @generated
+ */
+ int LOZENGE_NODE_DESCRIPTION = 4;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Width Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Height Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION__COLOR = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Lozenge Node Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOZENGE_NODE_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.EllipseNodeDescriptionImpl
+ * <em>Ellipse Node Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.EllipseNodeDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getEllipseNodeDescription()
+ * @generated
+ */
+ int ELLIPSE_NODE_DESCRIPTION = 5;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__COLOR = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Horizontal Diameter Computation Expression</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Vertical Diameter Computation Expression</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION__VERTICAL_DIAMETER_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Ellipse Node Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_NODE_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.BundledImageDescriptionImpl
+ * <em>Bundled Image Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.BundledImageDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getBundledImageDescription()
+ * @generated
+ */
+ int BUNDLED_IMAGE_DESCRIPTION = 6;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Shape</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__SHAPE = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__COLOR = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Provided Shape ID</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION__PROVIDED_SHAPE_ID = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Bundled Image Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUNDLED_IMAGE_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.NoteDescriptionImpl <em>Note
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.NoteDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getNoteDescription()
+ * @generated
+ */
+ int NOTE_DESCRIPTION = 7;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION__COLOR = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Note Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTE_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.DotDescriptionImpl <em>Dot
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.DotDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getDotDescription()
+ * @generated
+ */
+ int DOT_DESCRIPTION = 8;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__BACKGROUND_COLOR = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Stroke Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION__STROKE_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Dot Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOT_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.GaugeCompositeStyleDescriptionImpl <em>Gauge Composite
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.GaugeCompositeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getGaugeCompositeStyleDescription()
+ * @generated
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION = 9;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Sections</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Gauge Composite Style Description</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_COMPOSITE_STYLE_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl
+ * <em>Gauge Section Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getGaugeSectionDescription()
+ * @generated
+ */
+ int GAUGE_SECTION_DESCRIPTION = 10;
+
+ /**
+ * The feature id for the '<em><b>Min Value Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_SECTION_DESCRIPTION__MIN_VALUE_EXPRESSION = 0;
+
+ /**
+ * The feature id for the '<em><b>Max Value Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_SECTION_DESCRIPTION__MAX_VALUE_EXPRESSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Value Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_SECTION_DESCRIPTION__VALUE_EXPRESSION = 2;
+
+ /**
+ * The feature id for the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR = 3;
+
+ /**
+ * The feature id for the '<em><b>Foreground Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR = 4;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_SECTION_DESCRIPTION__LABEL = 5;
+
+ /**
+ * The number of structural features of the '<em>Gauge Section Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GAUGE_SECTION_DESCRIPTION_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.SizeComputationContainerStyleDescriptionImpl <em>Size
+ * Computation Container Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.SizeComputationContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getSizeComputationContainerStyleDescription()
+ * @generated
+ */
+ int SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION = 11;
+
+ /**
+ * The feature id for the '<em><b>Width Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION = 0;
+
+ /**
+ * The feature id for the '<em><b>Height Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION = 1;
+
+ /**
+ * The number of structural features of the ' <em>Size Computation Container Style Description</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.RoundedCornerStyleDescriptionImpl <em>Rounded Corner
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.RoundedCornerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getRoundedCornerStyleDescription()
+ * @generated
+ */
+ int ROUNDED_CORNER_STYLE_DESCRIPTION = 12;
+
+ /**
+ * The feature id for the '<em><b>Arc Width</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Arc Height</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Rounded Corner Style Description</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl <em>Container Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getContainerStyleDescription()
+ * @generated
+ */
+ int CONTAINER_STYLE_DESCRIPTION = 13;
+
+ /**
+ * The feature id for the '<em><b>Arc Width</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__ARC_WIDTH = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Arc Height</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__ARC_HEIGHT = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__SHOW_ICON = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__ICON_PATH = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Rounded Corner</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 12;
+
+ /**
+ * The number of structural features of the '<em>Container Style Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT = StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION_FEATURE_COUNT + 13;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl <em>Flat Container
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getFlatContainerStyleDescription()
+ * @generated
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION = 14;
+
+ /**
+ * The feature id for the '<em><b>Arc Width</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__ARC_WIDTH = StylePackage.CONTAINER_STYLE_DESCRIPTION__ARC_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Arc Height</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__ARC_HEIGHT = StylePackage.CONTAINER_STYLE_DESCRIPTION__ARC_HEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR = StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__SHOW_ICON = StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__ICON_PATH = StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Rounded Corner</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER = StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER;
+
+ /**
+ * The feature id for the '<em><b>Width Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Height Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Background Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_STYLE = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Foreground Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Label Border Style</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Flat Container Style Description</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FLAT_CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.ShapeContainerStyleDescriptionImpl <em>Shape Container
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.ShapeContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getShapeContainerStyleDescription()
+ * @generated
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION = 15;
+
+ /**
+ * The feature id for the '<em><b>Arc Width</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__ARC_WIDTH = StylePackage.CONTAINER_STYLE_DESCRIPTION__ARC_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Arc Height</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__ARC_HEIGHT = StylePackage.CONTAINER_STYLE_DESCRIPTION__ARC_HEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR = StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__SHOW_ICON = StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__ICON_PATH = StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Rounded Corner</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER = StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER;
+
+ /**
+ * The feature id for the '<em><b>Width Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Height Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Shape</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__SHAPE = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Background Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Shape Container Style Description</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT = StylePackage.CONTAINER_STYLE_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.WorkspaceImageDescriptionImpl <em>Workspace Image
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.WorkspaceImageDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getWorkspaceImageDescription()
+ * @generated
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION = 16;
+
+ /**
+ * The feature id for the '<em><b>Border Size Computation Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Border Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__BORDER_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Border Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__LABEL_SIZE = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__LABEL_FORMAT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__SHOW_ICON = StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__LABEL_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__LABEL_COLOR = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__ICON_PATH = StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The feature id for the '<em><b>Label Alignment</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__LABEL_ALIGNMENT = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Tooltip Expression</b></em>' attribute. <!-- begin-user-doc -->
+ *
+ * @since 0.9.0<!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__TOOLTIP_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Position</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__LABEL_POSITION = StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION;
+
+ /**
+ * The feature id for the '<em><b>Resize Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__RESIZE_KIND = StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND;
+
+ /**
+ * The feature id for the '<em><b>Forbidden Sides</b></em>' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES;
+
+ /**
+ * The feature id for the '<em><b>Arc Width</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__ARC_WIDTH = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Arc Height</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__ARC_HEIGHT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Rounded Corner</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__ROUNDED_CORNER = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Workspace Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION__WORKSPACE_PATH = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Workspace Image Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE_IMAGE_DESCRIPTION_FEATURE_COUNT = StylePackage.NODE_STYLE_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl
+ * <em>Edge Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getEdgeStyleDescription()
+ * @generated
+ */
+ int EDGE_STYLE_DESCRIPTION = 17;
+
+ /**
+ * The feature id for the '<em><b>Stroke Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__STROKE_COLOR = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__LINE_STYLE = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Source Arrow</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__SOURCE_ARROW = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Target Arrow</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__TARGET_ARROW = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Routing Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__ROUTING_STYLE = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Folding Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__FOLDING_STYLE = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Begin Label Style Description</b></em>' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Center Label Style Description</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>End Label Style Description</b></em>' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Ends Centering</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__ENDS_CENTERING = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Centered Source Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Centered Target Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 12;
+
+ /**
+ * The number of structural features of the '<em>Edge Style Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.style.StylePackage.STYLE_DESCRIPTION_FEATURE_COUNT + 13;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.BeginLabelStyleDescriptionImpl <em>Begin Label Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.BeginLabelStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getBeginLabelStyleDescription()
+ * @generated
+ */
+ int BEGIN_LABEL_STYLE_DESCRIPTION = 18;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEGIN_LABEL_STYLE_DESCRIPTION__LABEL_SIZE = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEGIN_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEGIN_LABEL_STYLE_DESCRIPTION__SHOW_ICON = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEGIN_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEGIN_LABEL_STYLE_DESCRIPTION__LABEL_COLOR = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEGIN_LABEL_STYLE_DESCRIPTION__ICON_PATH = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The number of structural features of the '<em>Begin Label Style Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEGIN_LABEL_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.CenterLabelStyleDescriptionImpl <em>Center Label Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.CenterLabelStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getCenterLabelStyleDescription()
+ * @generated
+ */
+ int CENTER_LABEL_STYLE_DESCRIPTION = 19;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CENTER_LABEL_STYLE_DESCRIPTION__LABEL_SIZE = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CENTER_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CENTER_LABEL_STYLE_DESCRIPTION__SHOW_ICON = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CENTER_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CENTER_LABEL_STYLE_DESCRIPTION__LABEL_COLOR = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CENTER_LABEL_STYLE_DESCRIPTION__ICON_PATH = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The number of structural features of the '<em>Center Label Style Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CENTER_LABEL_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.impl.EndLabelStyleDescriptionImpl
+ * <em>End Label Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.EndLabelStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getEndLabelStyleDescription()
+ * @generated
+ */
+ int END_LABEL_STYLE_DESCRIPTION = 20;
+
+ /**
+ * The feature id for the '<em><b>Label Size</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int END_LABEL_STYLE_DESCRIPTION__LABEL_SIZE = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Label Format</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int END_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Show Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int END_LABEL_STYLE_DESCRIPTION__SHOW_ICON = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__SHOW_ICON;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int END_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Label Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int END_LABEL_STYLE_DESCRIPTION__LABEL_COLOR = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int END_LABEL_STYLE_DESCRIPTION__ICON_PATH = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__ICON_PATH;
+
+ /**
+ * The number of structural features of the '<em>End Label Style Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int END_LABEL_STYLE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.BracketEdgeStyleDescriptionImpl <em>Bracket Edge Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.BracketEdgeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getBracketEdgeStyleDescription()
+ * @generated
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION = 21;
+
+ /**
+ * The feature id for the '<em><b>Stroke Color</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__STROKE_COLOR = StylePackage.EDGE_STYLE_DESCRIPTION__STROKE_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Line Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__LINE_STYLE = StylePackage.EDGE_STYLE_DESCRIPTION__LINE_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Source Arrow</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__SOURCE_ARROW = StylePackage.EDGE_STYLE_DESCRIPTION__SOURCE_ARROW;
+
+ /**
+ * The feature id for the '<em><b>Target Arrow</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__TARGET_ARROW = StylePackage.EDGE_STYLE_DESCRIPTION__TARGET_ARROW;
+
+ /**
+ * The feature id for the '<em><b>Size Computation Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Routing Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__ROUTING_STYLE = StylePackage.EDGE_STYLE_DESCRIPTION__ROUTING_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Folding Style</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__FOLDING_STYLE = StylePackage.EDGE_STYLE_DESCRIPTION__FOLDING_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Begin Label Style Description</b></em>' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION = StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Center Label Style Description</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION = StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>End Label Style Description</b></em>' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION = StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Ends Centering</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__ENDS_CENTERING = StylePackage.EDGE_STYLE_DESCRIPTION__ENDS_CENTERING;
+
+ /**
+ * The feature id for the '<em><b>Centered Source Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS = StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS;
+
+ /**
+ * The feature id for the '<em><b>Centered Target Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS = StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS;
+
+ /**
+ * The number of structural features of the '<em>Bracket Edge Style Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BRACKET_EDGE_STYLE_DESCRIPTION_FEATURE_COUNT = StylePackage.EDGE_STYLE_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription <em>Hide Label
+ * Capability Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getHideLabelCapabilityStyleDescription()
+ * @generated
+ */
+ int HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION = 22;
+
+ /**
+ * The feature id for the '<em><b>Hide Label By Default</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = 0;
+
+ /**
+ * The number of structural features of the ' <em>Hide Label Capability Style Description</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.style.Side <em>Side</em>}' enum. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.Side
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getSide()
+ * @generated
+ */
+ int SIDE = 23;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription
+ * <em>Bordered Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Bordered Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BorderedStyleDescription
+ * @generated
+ */
+ EClass getBorderedStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderSizeComputationExpression
+ * <em>Border Size Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Border Size Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderSizeComputationExpression()
+ * @see #getBorderedStyleDescription()
+ * @generated
+ */
+ EAttribute getBorderedStyleDescription_BorderSizeComputationExpression();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderColor <em>Border
+ * Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Border Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderColor()
+ * @see #getBorderedStyleDescription()
+ * @generated
+ */
+ EReference getBorderedStyleDescription_BorderColor();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderLineStyle <em>Border Line
+ * Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Border Line Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BorderedStyleDescription#getBorderLineStyle()
+ * @see #getBorderedStyleDescription()
+ * @generated
+ */
+ EAttribute getBorderedStyleDescription_BorderLineStyle();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription
+ * <em>Node Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.NodeStyleDescription
+ * @generated
+ */
+ EClass getNodeStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getSizeComputationExpression <em>Size
+ * Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Size Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getSizeComputationExpression()
+ * @see #getNodeStyleDescription()
+ * @generated
+ */
+ EAttribute getNodeStyleDescription_SizeComputationExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getLabelPosition <em>Label
+ * Position</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Label Position</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getLabelPosition()
+ * @see #getNodeStyleDescription()
+ * @generated
+ */
+ EAttribute getNodeStyleDescription_LabelPosition();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getResizeKind <em>Resize Kind</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Resize Kind</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getResizeKind()
+ * @see #getNodeStyleDescription()
+ * @generated
+ */
+ EAttribute getNodeStyleDescription_ResizeKind();
+
+ /**
+ * Returns the meta object for the attribute list
+ * '{@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getForbiddenSides <em>Forbidden
+ * Sides</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Forbidden Sides</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.NodeStyleDescription#getForbiddenSides()
+ * @see #getNodeStyleDescription()
+ * @generated
+ */
+ EAttribute getNodeStyleDescription_ForbiddenSides();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.CustomStyleDescription
+ * <em>Custom Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Custom Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.CustomStyleDescription
+ * @generated
+ */
+ EClass getCustomStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.style.CustomStyleDescription#getId <em>Id</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.CustomStyleDescription#getId()
+ * @see #getCustomStyleDescription()
+ * @generated
+ */
+ EAttribute getCustomStyleDescription_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.SquareDescription
+ * <em>Square Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Square Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.SquareDescription
+ * @generated
+ */
+ EClass getSquareDescription();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.style.SquareDescription#getWidth <em>Width</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Width</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.SquareDescription#getWidth()
+ * @see #getSquareDescription()
+ * @generated
+ */
+ EAttribute getSquareDescription_Width();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.style.SquareDescription#getHeight <em>Height</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Height</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.SquareDescription#getHeight()
+ * @see #getSquareDescription()
+ * @generated
+ */
+ EAttribute getSquareDescription_Height();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.sirius.diagram.description.style.SquareDescription#getColor <em>Color</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.SquareDescription#getColor()
+ * @see #getSquareDescription()
+ * @generated
+ */
+ EReference getSquareDescription_Color();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription
+ * <em>Lozenge Node Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Lozenge Node Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.LozengeNodeDescription
+ * @generated
+ */
+ EClass getLozengeNodeDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Width Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getWidthComputationExpression()
+ * @see #getLozengeNodeDescription()
+ * @generated
+ */
+ EAttribute getLozengeNodeDescription_WidthComputationExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Height Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getHeightComputationExpression()
+ * @see #getLozengeNodeDescription()
+ * @generated
+ */
+ EAttribute getLozengeNodeDescription_HeightComputationExpression();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getColor <em>Color</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.LozengeNodeDescription#getColor()
+ * @see #getLozengeNodeDescription()
+ * @generated
+ */
+ EReference getLozengeNodeDescription_Color();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription
+ * <em>Ellipse Node Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Ellipse Node Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EllipseNodeDescription
+ * @generated
+ */
+ EClass getEllipseNodeDescription();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getColor <em>Color</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getColor()
+ * @see #getEllipseNodeDescription()
+ * @generated
+ */
+ EReference getEllipseNodeDescription_Color();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getHorizontalDiameterComputationExpression
+ * <em>Horizontal Diameter Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Horizontal Diameter Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getHorizontalDiameterComputationExpression()
+ * @see #getEllipseNodeDescription()
+ * @generated
+ */
+ EAttribute getEllipseNodeDescription_HorizontalDiameterComputationExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getVerticalDiameterComputationExpression
+ * <em>Vertical Diameter Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Vertical Diameter Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EllipseNodeDescription#getVerticalDiameterComputationExpression()
+ * @see #getEllipseNodeDescription()
+ * @generated
+ */
+ EAttribute getEllipseNodeDescription_VerticalDiameterComputationExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription
+ * <em>Bundled Image Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Bundled Image Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BundledImageDescription
+ * @generated
+ */
+ EClass getBundledImageDescription();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getShape <em>Shape</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Shape</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BundledImageDescription#getShape()
+ * @see #getBundledImageDescription()
+ * @generated
+ */
+ EAttribute getBundledImageDescription_Shape();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getColor <em>Color</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BundledImageDescription#getColor()
+ * @see #getBundledImageDescription()
+ * @generated
+ */
+ EReference getBundledImageDescription_Color();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription#getProvidedShapeID <em>Provided
+ * Shape ID</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Provided Shape ID</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BundledImageDescription#getProvidedShapeID()
+ * @see #getBundledImageDescription()
+ * @generated
+ */
+ EAttribute getBundledImageDescription_ProvidedShapeID();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.NoteDescription <em>Note
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Note Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.NoteDescription
+ * @generated
+ */
+ EClass getNoteDescription();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.sirius.diagram.description.style.NoteDescription#getColor <em>Color</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.NoteDescription#getColor()
+ * @see #getNoteDescription()
+ * @generated
+ */
+ EReference getNoteDescription_Color();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.DotDescription <em>Dot
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Dot Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.DotDescription
+ * @generated
+ */
+ EClass getDotDescription();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.DotDescription#getBackgroundColor <em>Background
+ * Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Background Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.DotDescription#getBackgroundColor()
+ * @see #getDotDescription()
+ * @generated
+ */
+ EReference getDotDescription_BackgroundColor();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.DotDescription#getStrokeSizeComputationExpression <em>Stroke
+ * Size Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Stroke Size Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.DotDescription#getStrokeSizeComputationExpression()
+ * @see #getDotDescription()
+ * @generated
+ */
+ EAttribute getDotDescription_StrokeSizeComputationExpression();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription <em>Gauge Composite Style
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Gauge Composite Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription
+ * @generated
+ */
+ EClass getGaugeCompositeStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription#getAlignment
+ * <em>Alignment</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Alignment</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription#getAlignment()
+ * @see #getGaugeCompositeStyleDescription()
+ * @generated
+ */
+ EAttribute getGaugeCompositeStyleDescription_Alignment();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription#getSections
+ * <em>Sections</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Sections</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription#getSections()
+ * @see #getGaugeCompositeStyleDescription()
+ * @generated
+ */
+ EReference getGaugeCompositeStyleDescription_Sections();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription
+ * <em>Gauge Section Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Gauge Section Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeSectionDescription
+ * @generated
+ */
+ EClass getGaugeSectionDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getMinValueExpression <em>Min Value
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Min Value Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getMinValueExpression()
+ * @see #getGaugeSectionDescription()
+ * @generated
+ */
+ EAttribute getGaugeSectionDescription_MinValueExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getMaxValueExpression <em>Max Value
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Max Value Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getMaxValueExpression()
+ * @see #getGaugeSectionDescription()
+ * @generated
+ */
+ EAttribute getGaugeSectionDescription_MaxValueExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getValueExpression <em>Value
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getValueExpression()
+ * @see #getGaugeSectionDescription()
+ * @generated
+ */
+ EAttribute getGaugeSectionDescription_ValueExpression();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getBackgroundColor <em>Background
+ * Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Background Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getBackgroundColor()
+ * @see #getGaugeSectionDescription()
+ * @generated
+ */
+ EReference getGaugeSectionDescription_BackgroundColor();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getForegroundColor <em>Foreground
+ * Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Foreground Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getForegroundColor()
+ * @see #getGaugeSectionDescription()
+ * @generated
+ */
+ EReference getGaugeSectionDescription_ForegroundColor();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getLabel <em>Label</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Label</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.GaugeSectionDescription#getLabel()
+ * @see #getGaugeSectionDescription()
+ * @generated
+ */
+ EAttribute getGaugeSectionDescription_Label();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription <em>Size
+ * Computation Container Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Size Computation Container Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription
+ * @generated
+ */
+ EClass getSizeComputationContainerStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Width Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription#getWidthComputationExpression()
+ * @see #getSizeComputationContainerStyleDescription()
+ * @generated
+ */
+ EAttribute getSizeComputationContainerStyleDescription_WidthComputationExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Height Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription#getHeightComputationExpression()
+ * @see #getSizeComputationContainerStyleDescription()
+ * @generated
+ */
+ EAttribute getSizeComputationContainerStyleDescription_HeightComputationExpression();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription <em>Rounded Corner Style
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Rounded Corner Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription
+ * @generated
+ */
+ EClass getRoundedCornerStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription#getArcWidth <em>Arc
+ * Width</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Arc Width</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription#getArcWidth()
+ * @see #getRoundedCornerStyleDescription()
+ * @generated
+ */
+ EAttribute getRoundedCornerStyleDescription_ArcWidth();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription#getArcHeight <em>Arc
+ * Height</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Arc Height</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription#getArcHeight()
+ * @see #getRoundedCornerStyleDescription()
+ * @generated
+ */
+ EAttribute getRoundedCornerStyleDescription_ArcHeight();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.ContainerStyleDescription
+ * <em>Container Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Container Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.ContainerStyleDescription
+ * @generated
+ */
+ EClass getContainerStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.ContainerStyleDescription#isRoundedCorner <em>Rounded
+ * Corner</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Rounded Corner</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.ContainerStyleDescription#isRoundedCorner()
+ * @see #getContainerStyleDescription()
+ * @generated
+ */
+ EAttribute getContainerStyleDescription_RoundedCorner();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription <em>Flat Container Style
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Flat Container Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription
+ * @generated
+ */
+ EClass getFlatContainerStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getBackgroundStyle
+ * <em>Background Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Background Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getBackgroundStyle()
+ * @see #getFlatContainerStyleDescription()
+ * @generated
+ */
+ EAttribute getFlatContainerStyleDescription_BackgroundStyle();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getBackgroundColor
+ * <em>Background Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Background Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getBackgroundColor()
+ * @see #getFlatContainerStyleDescription()
+ * @generated
+ */
+ EReference getFlatContainerStyleDescription_BackgroundColor();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getForegroundColor
+ * <em>Foreground Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Foreground Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getForegroundColor()
+ * @see #getFlatContainerStyleDescription()
+ * @generated
+ */
+ EReference getFlatContainerStyleDescription_ForegroundColor();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getLabelBorderStyle <em>Label
+ * Border Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Label Border Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription#getLabelBorderStyle()
+ * @see #getFlatContainerStyleDescription()
+ * @generated
+ */
+ EReference getFlatContainerStyleDescription_LabelBorderStyle();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription <em>Shape Container Style
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Shape Container Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription
+ * @generated
+ */
+ EClass getShapeContainerStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription#getShape <em>Shape</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Shape</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription#getShape()
+ * @see #getShapeContainerStyleDescription()
+ * @generated
+ */
+ EAttribute getShapeContainerStyleDescription_Shape();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription#getBackgroundColor
+ * <em>Background Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Background Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription#getBackgroundColor()
+ * @see #getShapeContainerStyleDescription()
+ * @generated
+ */
+ EReference getShapeContainerStyleDescription_BackgroundColor();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription
+ * <em>Workspace Image Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Workspace Image Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription
+ * @generated
+ */
+ EClass getWorkspaceImageDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription#getWorkspacePath <em>Workspace
+ * Path</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Workspace Path</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription#getWorkspacePath()
+ * @see #getWorkspaceImageDescription()
+ * @generated
+ */
+ EAttribute getWorkspaceImageDescription_WorkspacePath();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription
+ * <em>Edge Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Edge Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription
+ * @generated
+ */
+ EClass getEdgeStyleDescription();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getStrokeColor <em>Stroke Color</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Stroke Color</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getStrokeColor()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EReference getEdgeStyleDescription_StrokeColor();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getLineStyle <em>Line Style</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Line Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getLineStyle()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EAttribute getEdgeStyleDescription_LineStyle();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getSourceArrow <em>Source Arrow</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Source Arrow</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getSourceArrow()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EAttribute getEdgeStyleDescription_SourceArrow();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getTargetArrow <em>Target Arrow</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Target Arrow</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getTargetArrow()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EAttribute getEdgeStyleDescription_TargetArrow();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getSizeComputationExpression <em>Size
+ * Computation Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Size Computation Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getSizeComputationExpression()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EAttribute getEdgeStyleDescription_SizeComputationExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getRoutingStyle <em>Routing
+ * Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Routing Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getRoutingStyle()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EAttribute getEdgeStyleDescription_RoutingStyle();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getFoldingStyle <em>Folding
+ * Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Folding Style</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getFoldingStyle()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EAttribute getEdgeStyleDescription_FoldingStyle();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getBeginLabelStyleDescription <em>Begin
+ * Label Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Begin Label Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getBeginLabelStyleDescription()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EReference getEdgeStyleDescription_BeginLabelStyleDescription();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenterLabelStyleDescription
+ * <em>Center Label Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Center Label Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenterLabelStyleDescription()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EReference getEdgeStyleDescription_CenterLabelStyleDescription();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getEndLabelStyleDescription <em>End
+ * Label Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>End Label Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getEndLabelStyleDescription()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EReference getEdgeStyleDescription_EndLabelStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getEndsCentering <em>Ends
+ * Centering</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Ends Centering</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getEndsCentering()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EAttribute getEdgeStyleDescription_EndsCentering();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenteredSourceMappings <em>Centered
+ * Source Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Centered Source Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenteredSourceMappings()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EReference getEdgeStyleDescription_CenteredSourceMappings();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenteredTargetMappings <em>Centered
+ * Target Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Centered Target Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EdgeStyleDescription#getCenteredTargetMappings()
+ * @see #getEdgeStyleDescription()
+ * @generated
+ */
+ EReference getEdgeStyleDescription_CenteredTargetMappings();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.BeginLabelStyleDescription
+ * <em>Begin Label Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Begin Label Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BeginLabelStyleDescription
+ * @generated
+ */
+ EClass getBeginLabelStyleDescription();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription <em>Center Label Style
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Center Label Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription
+ * @generated
+ */
+ EClass getCenterLabelStyleDescription();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription
+ * <em>End Label Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>End Label Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription
+ * @generated
+ */
+ EClass getEndLabelStyleDescription();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.style.BracketEdgeStyleDescription <em>Bracket Edge Style
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Bracket Edge Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.BracketEdgeStyleDescription
+ * @generated
+ */
+ EClass getBracketEdgeStyleDescription();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription <em>Hide Label
+ * Capability Style Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Hide Label Capability Style Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription
+ * @generated
+ */
+ EClass getHideLabelCapabilityStyleDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription#isHideLabelByDefault
+ * <em>Hide Label By Default</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Hide Label By Default</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription#isHideLabelByDefault()
+ * @see #getHideLabelCapabilityStyleDescription()
+ * @generated
+ */
+ EAttribute getHideLabelCapabilityStyleDescription_HideLabelByDefault();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.sirius.diagram.description.style.Side <em>Side</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Side</em>'.
+ * @see org.eclipse.sirius.diagram.description.style.Side
+ * @generated
+ */
+ EEnum getSide();
+
+ /**
+ * 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
+ */
+ StyleFactory getStyleFactory();
+
+ /**
+ * <!-- 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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.BorderedStyleDescriptionImpl <em>Bordered Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.BorderedStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getBorderedStyleDescription()
+ * @generated
+ */
+ EClass BORDERED_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getBorderedStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Border Size Computation Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getBorderedStyleDescription_BorderSizeComputationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Border Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference BORDERED_STYLE_DESCRIPTION__BORDER_COLOR = StylePackage.eINSTANCE.getBorderedStyleDescription_BorderColor();
+
+ /**
+ * The meta object literal for the '<em><b>Border Line Style</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE = StylePackage.eINSTANCE.getBorderedStyleDescription_BorderLineStyle();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl <em>Node Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getNodeStyleDescription()
+ * @generated
+ */
+ EClass NODE_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getNodeStyleDescription();
+
+ /**
+ * The meta object literal for the ' <em><b>Size Computation Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getNodeStyleDescription_SizeComputationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Label Position</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_STYLE_DESCRIPTION__LABEL_POSITION = StylePackage.eINSTANCE.getNodeStyleDescription_LabelPosition();
+
+ /**
+ * The meta object literal for the '<em><b>Resize Kind</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_STYLE_DESCRIPTION__RESIZE_KIND = StylePackage.eINSTANCE.getNodeStyleDescription_ResizeKind();
+
+ /**
+ * The meta object literal for the '<em><b>Forbidden Sides</b></em>' attribute list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES = StylePackage.eINSTANCE.getNodeStyleDescription_ForbiddenSides();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.CustomStyleDescriptionImpl <em>Custom Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.CustomStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getCustomStyleDescription()
+ * @generated
+ */
+ EClass CUSTOM_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getCustomStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CUSTOM_STYLE_DESCRIPTION__ID = StylePackage.eINSTANCE.getCustomStyleDescription_Id();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.SquareDescriptionImpl <em>Square Description</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.SquareDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getSquareDescription()
+ * @generated
+ */
+ EClass SQUARE_DESCRIPTION = StylePackage.eINSTANCE.getSquareDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Width</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SQUARE_DESCRIPTION__WIDTH = StylePackage.eINSTANCE.getSquareDescription_Width();
+
+ /**
+ * The meta object literal for the '<em><b>Height</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SQUARE_DESCRIPTION__HEIGHT = StylePackage.eINSTANCE.getSquareDescription_Height();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference SQUARE_DESCRIPTION__COLOR = StylePackage.eINSTANCE.getSquareDescription_Color();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.LozengeNodeDescriptionImpl <em>Lozenge Node
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.LozengeNodeDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getLozengeNodeDescription()
+ * @generated
+ */
+ EClass LOZENGE_NODE_DESCRIPTION = StylePackage.eINSTANCE.getLozengeNodeDescription();
+
+ /**
+ * The meta object literal for the ' <em><b>Width Computation Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute LOZENGE_NODE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getLozengeNodeDescription_WidthComputationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Height Computation Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute LOZENGE_NODE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getLozengeNodeDescription_HeightComputationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LOZENGE_NODE_DESCRIPTION__COLOR = StylePackage.eINSTANCE.getLozengeNodeDescription_Color();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.EllipseNodeDescriptionImpl <em>Ellipse Node
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.EllipseNodeDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getEllipseNodeDescription()
+ * @generated
+ */
+ EClass ELLIPSE_NODE_DESCRIPTION = StylePackage.eINSTANCE.getEllipseNodeDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ELLIPSE_NODE_DESCRIPTION__COLOR = StylePackage.eINSTANCE.getEllipseNodeDescription_Color();
+
+ /**
+ * The meta object literal for the '<em><b>Horizontal Diameter Computation Expression</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELLIPSE_NODE_DESCRIPTION__HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getEllipseNodeDescription_HorizontalDiameterComputationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Vertical Diameter Computation Expression</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELLIPSE_NODE_DESCRIPTION__VERTICAL_DIAMETER_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getEllipseNodeDescription_VerticalDiameterComputationExpression();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.BundledImageDescriptionImpl <em>Bundled Image
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.BundledImageDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getBundledImageDescription()
+ * @generated
+ */
+ EClass BUNDLED_IMAGE_DESCRIPTION = StylePackage.eINSTANCE.getBundledImageDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Shape</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BUNDLED_IMAGE_DESCRIPTION__SHAPE = StylePackage.eINSTANCE.getBundledImageDescription_Shape();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference BUNDLED_IMAGE_DESCRIPTION__COLOR = StylePackage.eINSTANCE.getBundledImageDescription_Color();
+
+ /**
+ * The meta object literal for the '<em><b>Provided Shape ID</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BUNDLED_IMAGE_DESCRIPTION__PROVIDED_SHAPE_ID = StylePackage.eINSTANCE.getBundledImageDescription_ProvidedShapeID();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.style.impl.NoteDescriptionImpl
+ * <em>Note Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.NoteDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getNoteDescription()
+ * @generated
+ */
+ EClass NOTE_DESCRIPTION = StylePackage.eINSTANCE.getNoteDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NOTE_DESCRIPTION__COLOR = StylePackage.eINSTANCE.getNoteDescription_Color();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.style.impl.DotDescriptionImpl
+ * <em>Dot Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.DotDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getDotDescription()
+ * @generated
+ */
+ EClass DOT_DESCRIPTION = StylePackage.eINSTANCE.getDotDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Background Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DOT_DESCRIPTION__BACKGROUND_COLOR = StylePackage.eINSTANCE.getDotDescription_BackgroundColor();
+
+ /**
+ * The meta object literal for the '<em><b>Stroke Size Computation Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DOT_DESCRIPTION__STROKE_SIZE_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getDotDescription_StrokeSizeComputationExpression();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.GaugeCompositeStyleDescriptionImpl <em>Gauge
+ * Composite Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.GaugeCompositeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getGaugeCompositeStyleDescription()
+ * @generated
+ */
+ EClass GAUGE_COMPOSITE_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getGaugeCompositeStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Alignment</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GAUGE_COMPOSITE_STYLE_DESCRIPTION__ALIGNMENT = StylePackage.eINSTANCE.getGaugeCompositeStyleDescription_Alignment();
+
+ /**
+ * The meta object literal for the '<em><b>Sections</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS = StylePackage.eINSTANCE.getGaugeCompositeStyleDescription_Sections();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl <em>Gauge Section
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getGaugeSectionDescription()
+ * @generated
+ */
+ EClass GAUGE_SECTION_DESCRIPTION = StylePackage.eINSTANCE.getGaugeSectionDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Min Value Expression</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GAUGE_SECTION_DESCRIPTION__MIN_VALUE_EXPRESSION = StylePackage.eINSTANCE.getGaugeSectionDescription_MinValueExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Max Value Expression</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GAUGE_SECTION_DESCRIPTION__MAX_VALUE_EXPRESSION = StylePackage.eINSTANCE.getGaugeSectionDescription_MaxValueExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Value Expression</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GAUGE_SECTION_DESCRIPTION__VALUE_EXPRESSION = StylePackage.eINSTANCE.getGaugeSectionDescription_ValueExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Background Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR = StylePackage.eINSTANCE.getGaugeSectionDescription_BackgroundColor();
+
+ /**
+ * The meta object literal for the '<em><b>Foreground Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR = StylePackage.eINSTANCE.getGaugeSectionDescription_ForegroundColor();
+
+ /**
+ * The meta object literal for the '<em><b>Label</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GAUGE_SECTION_DESCRIPTION__LABEL = StylePackage.eINSTANCE.getGaugeSectionDescription_Label();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.SizeComputationContainerStyleDescriptionImpl
+ * <em>Size Computation Container Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.SizeComputationContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getSizeComputationContainerStyleDescription()
+ * @generated
+ */
+ EClass SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getSizeComputationContainerStyleDescription();
+
+ /**
+ * The meta object literal for the ' <em><b>Width Computation Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getSizeComputationContainerStyleDescription_WidthComputationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Height Computation Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getSizeComputationContainerStyleDescription_HeightComputationExpression();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.RoundedCornerStyleDescriptionImpl <em>Rounded
+ * Corner Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.RoundedCornerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getRoundedCornerStyleDescription()
+ * @generated
+ */
+ EClass ROUNDED_CORNER_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getRoundedCornerStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Arc Width</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH = StylePackage.eINSTANCE.getRoundedCornerStyleDescription_ArcWidth();
+
+ /**
+ * The meta object literal for the '<em><b>Arc Height</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT = StylePackage.eINSTANCE.getRoundedCornerStyleDescription_ArcHeight();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl <em>Container Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getContainerStyleDescription()
+ * @generated
+ */
+ EClass CONTAINER_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getContainerStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Rounded Corner</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER = StylePackage.eINSTANCE.getContainerStyleDescription_RoundedCorner();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl <em>Flat
+ * Container Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getFlatContainerStyleDescription()
+ * @generated
+ */
+ EClass FLAT_CONTAINER_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getFlatContainerStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Background Style</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_STYLE = StylePackage.eINSTANCE.getFlatContainerStyleDescription_BackgroundStyle();
+
+ /**
+ * The meta object literal for the '<em><b>Background Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR = StylePackage.eINSTANCE.getFlatContainerStyleDescription_BackgroundColor();
+
+ /**
+ * The meta object literal for the '<em><b>Foreground Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR = StylePackage.eINSTANCE.getFlatContainerStyleDescription_ForegroundColor();
+
+ /**
+ * The meta object literal for the '<em><b>Label Border Style</b></em>' reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE = StylePackage.eINSTANCE.getFlatContainerStyleDescription_LabelBorderStyle();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.ShapeContainerStyleDescriptionImpl <em>Shape
+ * Container Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.ShapeContainerStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getShapeContainerStyleDescription()
+ * @generated
+ */
+ EClass SHAPE_CONTAINER_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getShapeContainerStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Shape</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SHAPE_CONTAINER_STYLE_DESCRIPTION__SHAPE = StylePackage.eINSTANCE.getShapeContainerStyleDescription_Shape();
+
+ /**
+ * The meta object literal for the '<em><b>Background Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR = StylePackage.eINSTANCE.getShapeContainerStyleDescription_BackgroundColor();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.WorkspaceImageDescriptionImpl <em>Workspace Image
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.WorkspaceImageDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getWorkspaceImageDescription()
+ * @generated
+ */
+ EClass WORKSPACE_IMAGE_DESCRIPTION = StylePackage.eINSTANCE.getWorkspaceImageDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Workspace Path</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute WORKSPACE_IMAGE_DESCRIPTION__WORKSPACE_PATH = StylePackage.eINSTANCE.getWorkspaceImageDescription_WorkspacePath();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl <em>Edge Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getEdgeStyleDescription()
+ * @generated
+ */
+ EClass EDGE_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getEdgeStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Stroke Color</b></em>' reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_STYLE_DESCRIPTION__STROKE_COLOR = StylePackage.eINSTANCE.getEdgeStyleDescription_StrokeColor();
+
+ /**
+ * The meta object literal for the '<em><b>Line Style</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_STYLE_DESCRIPTION__LINE_STYLE = StylePackage.eINSTANCE.getEdgeStyleDescription_LineStyle();
+
+ /**
+ * The meta object literal for the '<em><b>Source Arrow</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_STYLE_DESCRIPTION__SOURCE_ARROW = StylePackage.eINSTANCE.getEdgeStyleDescription_SourceArrow();
+
+ /**
+ * The meta object literal for the '<em><b>Target Arrow</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_STYLE_DESCRIPTION__TARGET_ARROW = StylePackage.eINSTANCE.getEdgeStyleDescription_TargetArrow();
+
+ /**
+ * The meta object literal for the ' <em><b>Size Computation Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION = StylePackage.eINSTANCE.getEdgeStyleDescription_SizeComputationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Routing Style</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_STYLE_DESCRIPTION__ROUTING_STYLE = StylePackage.eINSTANCE.getEdgeStyleDescription_RoutingStyle();
+
+ /**
+ * The meta object literal for the '<em><b>Folding Style</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_STYLE_DESCRIPTION__FOLDING_STYLE = StylePackage.eINSTANCE.getEdgeStyleDescription_FoldingStyle();
+
+ /**
+ * The meta object literal for the '<em><b>Begin Label Style Description</b></em>' containment reference
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getEdgeStyleDescription_BeginLabelStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Center Label Style Description</b></em>' containment reference
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getEdgeStyleDescription_CenterLabelStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>End Label Style Description</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getEdgeStyleDescription_EndLabelStyleDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Ends Centering</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_STYLE_DESCRIPTION__ENDS_CENTERING = StylePackage.eINSTANCE.getEdgeStyleDescription_EndsCentering();
+
+ /**
+ * The meta object literal for the '<em><b>Centered Source Mappings</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS = StylePackage.eINSTANCE.getEdgeStyleDescription_CenteredSourceMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Centered Target Mappings</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS = StylePackage.eINSTANCE.getEdgeStyleDescription_CenteredTargetMappings();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.BeginLabelStyleDescriptionImpl <em>Begin Label
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.BeginLabelStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getBeginLabelStyleDescription()
+ * @generated
+ */
+ EClass BEGIN_LABEL_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getBeginLabelStyleDescription();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.CenterLabelStyleDescriptionImpl <em>Center Label
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.CenterLabelStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getCenterLabelStyleDescription()
+ * @generated
+ */
+ EClass CENTER_LABEL_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getCenterLabelStyleDescription();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.EndLabelStyleDescriptionImpl <em>End Label Style
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.EndLabelStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getEndLabelStyleDescription()
+ * @generated
+ */
+ EClass END_LABEL_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getEndLabelStyleDescription();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.impl.BracketEdgeStyleDescriptionImpl <em>Bracket Edge
+ * Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.impl.BracketEdgeStyleDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getBracketEdgeStyleDescription()
+ * @generated
+ */
+ EClass BRACKET_EDGE_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getBracketEdgeStyleDescription();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription <em>Hide Label
+ * Capability Style Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getHideLabelCapabilityStyleDescription()
+ * @generated
+ */
+ EClass HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION = StylePackage.eINSTANCE.getHideLabelCapabilityStyleDescription();
+
+ /**
+ * The meta object literal for the ' <em><b>Hide Label By Default</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT = StylePackage.eINSTANCE.getHideLabelCapabilityStyleDescription_HideLabelByDefault();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.style.Side <em>Side</em>}'
+ * enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.style.Side
+ * @see org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl#getSide()
+ * @generated
+ */
+ EEnum SIDE = StylePackage.eINSTANCE.getSide();
+
+ }
+
+} // StylePackage
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/WorkspaceImageDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/WorkspaceImageDescription.java
new file mode 100644
index 0000000000..a1bb415db0
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/WorkspaceImageDescription.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Workspace Image Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A custom image that is present in the user workspace. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription#getWorkspacePath <em>Workspace
+ * Path</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getWorkspaceImageDescription()
+ * @model
+ * @generated
+ */
+public interface WorkspaceImageDescription extends NodeStyleDescription, ContainerStyleDescription {
+ /**
+ * Returns the value of the '<em><b>Workspace Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The path of the image to use in the form of /myProjectID/path/to/image.png, if the
+ * image is not found in the workspace it will be looked for in the plugins. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Workspace Path</em>' attribute.
+ * @see #setWorkspacePath(String)
+ * @see org.eclipse.sirius.diagram.description.style.StylePackage#getWorkspaceImageDescription_WorkspacePath()
+ * @model required="true"
+ * @generated
+ */
+ String getWorkspacePath();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription#getWorkspacePath <em>Workspace
+ * Path</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Workspace Path</em>' attribute.
+ * @see #getWorkspacePath()
+ * @generated
+ */
+ void setWorkspacePath(String value);
+
+} // WorkspaceImageDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BeginLabelStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BeginLabelStyleDescriptionImpl.java
new file mode 100644
index 0000000000..a1a90ead78
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BeginLabelStyleDescriptionImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.sirius.diagram.description.style.BeginLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.style.impl.BasicLabelStyleDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Begin Label Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class BeginLabelStyleDescriptionImpl extends BasicLabelStyleDescriptionImpl implements BeginLabelStyleDescription {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BeginLabelStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.BEGIN_LABEL_STYLE_DESCRIPTION;
+ }
+
+} // BeginLabelStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BorderedStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BorderedStyleDescriptionImpl.java
new file mode 100644
index 0000000000..891bc2d850
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BorderedStyleDescriptionImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+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.sirius.diagram.LineStyle;
+import org.eclipse.sirius.diagram.description.style.BorderedStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Bordered Style Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.BorderedStyleDescriptionImpl#getBorderSizeComputationExpression
+ * <em>Border Size Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.BorderedStyleDescriptionImpl#getBorderColor <em>Border
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.BorderedStyleDescriptionImpl#getBorderLineStyle
+ * <em>Border Line Style</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BorderedStyleDescriptionImpl extends MinimalEObjectImpl.Container implements BorderedStyleDescription {
+ /**
+ * The default value of the '{@link #getBorderSizeComputationExpression() <em>Border Size Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT = "0"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getBorderSizeComputationExpression() <em>Border Size Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String borderSizeComputationExpression = BorderedStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBorderColor() <em>Border Color</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getBorderColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription borderColor;
+
+ /**
+ * The default value of the '{@link #getBorderLineStyle() <em>Border Line Style</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderLineStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final LineStyle BORDER_LINE_STYLE_EDEFAULT = LineStyle.SOLID_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getBorderLineStyle() <em>Border Line Style</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBorderLineStyle()
+ * @generated
+ * @ordered
+ */
+ protected LineStyle borderLineStyle = BorderedStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BorderedStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.BORDERED_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getBorderSizeComputationExpression() {
+ return borderSizeComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderSizeComputationExpression(String newBorderSizeComputationExpression) {
+ String oldBorderSizeComputationExpression = borderSizeComputationExpression;
+ borderSizeComputationExpression = newBorderSizeComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION, oldBorderSizeComputationExpression,
+ borderSizeComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBorderColor() {
+ if (borderColor != null && borderColor.eIsProxy()) {
+ InternalEObject oldBorderColor = (InternalEObject) borderColor;
+ borderColor = (ColorDescription) eResolveProxy(oldBorderColor);
+ if (borderColor != oldBorderColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR, oldBorderColor, borderColor));
+ }
+ }
+ }
+ return borderColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBorderColor() {
+ return borderColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderColor(ColorDescription newBorderColor) {
+ ColorDescription oldBorderColor = borderColor;
+ borderColor = newBorderColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR, oldBorderColor, borderColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LineStyle getBorderLineStyle() {
+ return borderLineStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderLineStyle(LineStyle newBorderLineStyle) {
+ LineStyle oldBorderLineStyle = borderLineStyle;
+ borderLineStyle = newBorderLineStyle == null ? BorderedStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT : newBorderLineStyle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE, oldBorderLineStyle, borderLineStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return getBorderSizeComputationExpression();
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR:
+ if (resolve) {
+ return getBorderColor();
+ }
+ return basicGetBorderColor();
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return getBorderLineStyle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ setBorderSizeComputationExpression((String) newValue);
+ return;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR:
+ setBorderColor((ColorDescription) newValue);
+ return;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ setBorderLineStyle((LineStyle) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ setBorderSizeComputationExpression(BorderedStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR:
+ setBorderColor((ColorDescription) null);
+ return;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ setBorderLineStyle(BorderedStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return BorderedStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT == null ? borderSizeComputationExpression != null
+ : !BorderedStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT.equals(borderSizeComputationExpression);
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR:
+ return borderColor != null;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return borderLineStyle != BorderedStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (borderSizeComputationExpression: "); //$NON-NLS-1$
+ result.append(borderSizeComputationExpression);
+ result.append(", borderLineStyle: "); //$NON-NLS-1$
+ result.append(borderLineStyle);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BorderedStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BracketEdgeStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BracketEdgeStyleDescriptionImpl.java
new file mode 100644
index 0000000000..bcf8806ac3
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BracketEdgeStyleDescriptionImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.sirius.diagram.description.style.BracketEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Bracket Edge Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class BracketEdgeStyleDescriptionImpl extends EdgeStyleDescriptionImpl implements BracketEdgeStyleDescription {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BracketEdgeStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.BRACKET_EDGE_STYLE_DESCRIPTION;
+ }
+
+} // BracketEdgeStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BundledImageDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BundledImageDescriptionImpl.java
new file mode 100644
index 0000000000..9c65163d3f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/BundledImageDescriptionImpl.java
@@ -0,0 +1,303 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.BundledImageShape;
+import org.eclipse.sirius.diagram.description.style.BundledImageDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Bundled Image Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.BundledImageDescriptionImpl#getShape
+ * <em>Shape</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.BundledImageDescriptionImpl#getColor
+ * <em>Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.BundledImageDescriptionImpl#getProvidedShapeID
+ * <em>Provided Shape ID</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BundledImageDescriptionImpl extends NodeStyleDescriptionImpl implements BundledImageDescription {
+ /**
+ * The default value of the '{@link #getShape() <em>Shape</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getShape()
+ * @generated
+ * @ordered
+ */
+ protected static final BundledImageShape SHAPE_EDEFAULT = BundledImageShape.SQUARE_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getShape() <em>Shape</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getShape()
+ * @generated
+ * @ordered
+ */
+ protected BundledImageShape shape = BundledImageDescriptionImpl.SHAPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription color;
+
+ /**
+ * The default value of the '{@link #getProvidedShapeID() <em>Provided Shape ID</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getProvidedShapeID()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROVIDED_SHAPE_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProvidedShapeID() <em>Provided Shape ID</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getProvidedShapeID()
+ * @generated
+ * @ordered
+ */
+ protected String providedShapeID = BundledImageDescriptionImpl.PROVIDED_SHAPE_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BundledImageDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.BUNDLED_IMAGE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public BundledImageShape getShape() {
+ return shape;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShape(BundledImageShape newShape) {
+ BundledImageShape oldShape = shape;
+ shape = newShape == null ? BundledImageDescriptionImpl.SHAPE_EDEFAULT : newShape;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.BUNDLED_IMAGE_DESCRIPTION__SHAPE, oldShape, shape));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getColor() {
+ if (color != null && color.eIsProxy()) {
+ InternalEObject oldColor = (InternalEObject) color;
+ color = (ColorDescription) eResolveProxy(oldColor);
+ if (color != oldColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.BUNDLED_IMAGE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+ }
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetColor() {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setColor(ColorDescription newColor) {
+ ColorDescription oldColor = color;
+ color = newColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.BUNDLED_IMAGE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getProvidedShapeID() {
+ return providedShapeID;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setProvidedShapeID(String newProvidedShapeID) {
+ String oldProvidedShapeID = providedShapeID;
+ providedShapeID = newProvidedShapeID;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.BUNDLED_IMAGE_DESCRIPTION__PROVIDED_SHAPE_ID, oldProvidedShapeID, providedShapeID));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__SHAPE:
+ return getShape();
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__COLOR:
+ if (resolve) {
+ return getColor();
+ }
+ return basicGetColor();
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__PROVIDED_SHAPE_ID:
+ return getProvidedShapeID();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__SHAPE:
+ setShape((BundledImageShape) newValue);
+ return;
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) newValue);
+ return;
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__PROVIDED_SHAPE_ID:
+ setProvidedShapeID((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__SHAPE:
+ setShape(BundledImageDescriptionImpl.SHAPE_EDEFAULT);
+ return;
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) null);
+ return;
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__PROVIDED_SHAPE_ID:
+ setProvidedShapeID(BundledImageDescriptionImpl.PROVIDED_SHAPE_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__SHAPE:
+ return shape != BundledImageDescriptionImpl.SHAPE_EDEFAULT;
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__COLOR:
+ return color != null;
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION__PROVIDED_SHAPE_ID:
+ return BundledImageDescriptionImpl.PROVIDED_SHAPE_ID_EDEFAULT == null ? providedShapeID != null : !BundledImageDescriptionImpl.PROVIDED_SHAPE_ID_EDEFAULT.equals(providedShapeID);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (shape: "); //$NON-NLS-1$
+ result.append(shape);
+ result.append(", providedShapeID: "); //$NON-NLS-1$
+ result.append(providedShapeID);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BundledImageDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/CenterLabelStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/CenterLabelStyleDescriptionImpl.java
new file mode 100644
index 0000000000..b871238117
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/CenterLabelStyleDescriptionImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.style.impl.BasicLabelStyleDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Center Label Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class CenterLabelStyleDescriptionImpl extends BasicLabelStyleDescriptionImpl implements CenterLabelStyleDescription {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CenterLabelStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.CENTER_LABEL_STYLE_DESCRIPTION;
+ }
+
+} // CenterLabelStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/ContainerStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/ContainerStyleDescriptionImpl.java
new file mode 100644
index 0000000000..f8e65125ae
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/ContainerStyleDescriptionImpl.java
@@ -0,0 +1,1014 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.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.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.sirius.diagram.LineStyle;
+import org.eclipse.sirius.diagram.description.style.BorderedStyleDescription;
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.FontFormat;
+import org.eclipse.sirius.viewpoint.LabelAlignment;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.style.BasicLabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.LabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.TooltipStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Container Style Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getBorderSizeComputationExpression
+ * <em>Border Size Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getBorderColor <em>Border
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getBorderLineStyle
+ * <em>Border Line Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getLabelSize <em>Label
+ * Size</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getLabelFormat <em>Label
+ * Format</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#isShowIcon <em>Show
+ * Icon</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getLabelExpression
+ * <em>Label Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getLabelColor <em>Label
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getIconPath <em>Icon
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getLabelAlignment
+ * <em>Label Alignment</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#getTooltipExpression
+ * <em>Tooltip Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#isHideLabelByDefault
+ * <em>Hide Label By Default</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ContainerStyleDescriptionImpl#isRoundedCorner
+ * <em>Rounded Corner</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ContainerStyleDescriptionImpl extends RoundedCornerStyleDescriptionImpl implements ContainerStyleDescription {
+
+ /**
+ * The default value of the '{@link #getBorderSizeComputationExpression() <em>Border Size Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT = "0"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getBorderSizeComputationExpression() <em>Border Size Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String borderSizeComputationExpression = ContainerStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBorderColor() <em>Border Color</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getBorderColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription borderColor;
+
+ /**
+ * The default value of the '{@link #getBorderLineStyle() <em>Border Line Style</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderLineStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final LineStyle BORDER_LINE_STYLE_EDEFAULT = LineStyle.SOLID_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getBorderLineStyle() <em>Border Line Style</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBorderLineStyle()
+ * @generated
+ * @ordered
+ */
+ protected LineStyle borderLineStyle = ContainerStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabelSize() <em>Label Size</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabelSize()
+ * @generated
+ * @ordered
+ */
+ protected static final int LABEL_SIZE_EDEFAULT = 8;
+
+ /**
+ * The cached value of the '{@link #getLabelSize() <em>Label Size</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabelSize()
+ * @generated
+ * @ordered
+ */
+ protected int labelSize = ContainerStyleDescriptionImpl.LABEL_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLabelFormat() <em>Label Format</em>}' attribute list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getLabelFormat()
+ * @generated
+ * @ordered
+ */
+ protected EList<FontFormat> labelFormat;
+
+ /**
+ * The default value of the '{@link #isShowIcon() <em>Show Icon</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isShowIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_ICON_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isShowIcon() <em>Show Icon</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isShowIcon()
+ * @generated
+ * @ordered
+ */
+ protected boolean showIcon = ContainerStyleDescriptionImpl.SHOW_ICON_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabelExpression() <em>Label Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EXPRESSION_EDEFAULT = "feature:name"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getLabelExpression() <em>Label Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelExpression()
+ * @generated
+ * @ordered
+ */
+ protected String labelExpression = ContainerStyleDescriptionImpl.LABEL_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLabelColor() <em>Label Color</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabelColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription labelColor;
+
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected String iconPath = ContainerStyleDescriptionImpl.ICON_PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabelAlignment() <em>Label Alignment</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final LabelAlignment LABEL_ALIGNMENT_EDEFAULT = LabelAlignment.CENTER;
+
+ /**
+ * The cached value of the '{@link #getLabelAlignment() <em>Label Alignment</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelAlignment()
+ * @generated
+ * @ordered
+ */
+ protected LabelAlignment labelAlignment = ContainerStyleDescriptionImpl.LABEL_ALIGNMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTooltipExpression() <em>Tooltip Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTooltipExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TOOLTIP_EXPRESSION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getTooltipExpression() <em>Tooltip Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTooltipExpression()
+ * @generated
+ * @ordered
+ */
+ protected String tooltipExpression = ContainerStyleDescriptionImpl.TOOLTIP_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isHideLabelByDefault() <em>Hide Label By Default</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isHideLabelByDefault()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean HIDE_LABEL_BY_DEFAULT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isHideLabelByDefault() <em>Hide Label By Default</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isHideLabelByDefault()
+ * @generated
+ * @ordered
+ */
+ protected boolean hideLabelByDefault = ContainerStyleDescriptionImpl.HIDE_LABEL_BY_DEFAULT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isRoundedCorner() <em>Rounded Corner</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isRoundedCorner()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ROUNDED_CORNER_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRoundedCorner() <em>Rounded Corner</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isRoundedCorner()
+ * @generated
+ * @ordered
+ */
+ protected boolean roundedCorner = ContainerStyleDescriptionImpl.ROUNDED_CORNER_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ContainerStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.CONTAINER_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getBorderSizeComputationExpression() {
+ return borderSizeComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderSizeComputationExpression(String newBorderSizeComputationExpression) {
+ String oldBorderSizeComputationExpression = borderSizeComputationExpression;
+ borderSizeComputationExpression = newBorderSizeComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION, oldBorderSizeComputationExpression,
+ borderSizeComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBorderColor() {
+ if (borderColor != null && borderColor.eIsProxy()) {
+ InternalEObject oldBorderColor = (InternalEObject) borderColor;
+ borderColor = (ColorDescription) eResolveProxy(oldBorderColor);
+ if (borderColor != oldBorderColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR, oldBorderColor, borderColor));
+ }
+ }
+ }
+ return borderColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBorderColor() {
+ return borderColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderColor(ColorDescription newBorderColor) {
+ ColorDescription oldBorderColor = borderColor;
+ borderColor = newBorderColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR, oldBorderColor, borderColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LineStyle getBorderLineStyle() {
+ return borderLineStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderLineStyle(LineStyle newBorderLineStyle) {
+ LineStyle oldBorderLineStyle = borderLineStyle;
+ borderLineStyle = newBorderLineStyle == null ? ContainerStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT : newBorderLineStyle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE, oldBorderLineStyle, borderLineStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getLabelSize() {
+ return labelSize;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelSize(int newLabelSize) {
+ int oldLabelSize = labelSize;
+ labelSize = newLabelSize;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE, oldLabelSize, labelSize));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<FontFormat> getLabelFormat() {
+ if (labelFormat == null) {
+ labelFormat = new EDataTypeUniqueEList<>(FontFormat.class, this, StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT);
+ }
+ return labelFormat;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowIcon() {
+ return showIcon;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowIcon(boolean newShowIcon) {
+ boolean oldShowIcon = showIcon;
+ showIcon = newShowIcon;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON, oldShowIcon, showIcon));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabelExpression() {
+ return labelExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelExpression(String newLabelExpression) {
+ String oldLabelExpression = labelExpression;
+ labelExpression = newLabelExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION, oldLabelExpression, labelExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getLabelColor() {
+ if (labelColor != null && labelColor.eIsProxy()) {
+ InternalEObject oldLabelColor = (InternalEObject) labelColor;
+ labelColor = (ColorDescription) eResolveProxy(oldLabelColor);
+ if (labelColor != oldLabelColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR, oldLabelColor, labelColor));
+ }
+ }
+ }
+ return labelColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetLabelColor() {
+ return labelColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelColor(ColorDescription newLabelColor) {
+ ColorDescription oldLabelColor = labelColor;
+ labelColor = newLabelColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR, oldLabelColor, labelColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getIconPath() {
+ return iconPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIconPath(String newIconPath) {
+ String oldIconPath = iconPath;
+ iconPath = newIconPath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH, oldIconPath, iconPath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LabelAlignment getLabelAlignment() {
+ return labelAlignment;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelAlignment(LabelAlignment newLabelAlignment) {
+ LabelAlignment oldLabelAlignment = labelAlignment;
+ labelAlignment = newLabelAlignment == null ? ContainerStyleDescriptionImpl.LABEL_ALIGNMENT_EDEFAULT : newLabelAlignment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT, oldLabelAlignment, labelAlignment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTooltipExpression() {
+ return tooltipExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTooltipExpression(String newTooltipExpression) {
+ String oldTooltipExpression = tooltipExpression;
+ tooltipExpression = newTooltipExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION, oldTooltipExpression, tooltipExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isHideLabelByDefault() {
+ return hideLabelByDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHideLabelByDefault(boolean newHideLabelByDefault) {
+ boolean oldHideLabelByDefault = hideLabelByDefault;
+ hideLabelByDefault = newHideLabelByDefault;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT, oldHideLabelByDefault, hideLabelByDefault));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isRoundedCorner() {
+ return roundedCorner;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRoundedCorner(boolean newRoundedCorner) {
+ boolean oldRoundedCorner = roundedCorner;
+ roundedCorner = newRoundedCorner;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER, oldRoundedCorner, roundedCorner));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return getBorderSizeComputationExpression();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR:
+ if (resolve) {
+ return getBorderColor();
+ }
+ return basicGetBorderColor();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return getBorderLineStyle();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE:
+ return getLabelSize();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT:
+ return getLabelFormat();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON:
+ return isShowIcon();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ return getLabelExpression();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR:
+ if (resolve) {
+ return getLabelColor();
+ }
+ return basicGetLabelColor();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH:
+ return getIconPath();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ return getLabelAlignment();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ return getTooltipExpression();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ return isHideLabelByDefault();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER:
+ return isRoundedCorner();
+ }
+ 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 StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ setBorderSizeComputationExpression((String) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR:
+ setBorderColor((ColorDescription) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ setBorderLineStyle((LineStyle) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE:
+ setLabelSize((Integer) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT:
+ getLabelFormat().clear();
+ getLabelFormat().addAll((Collection<? extends FontFormat>) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON:
+ setShowIcon((Boolean) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ setLabelExpression((String) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR:
+ setLabelColor((ColorDescription) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH:
+ setIconPath((String) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ setLabelAlignment((LabelAlignment) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ setTooltipExpression((String) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ setHideLabelByDefault((Boolean) newValue);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER:
+ setRoundedCorner((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ setBorderSizeComputationExpression(ContainerStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR:
+ setBorderColor((ColorDescription) null);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ setBorderLineStyle(ContainerStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE:
+ setLabelSize(ContainerStyleDescriptionImpl.LABEL_SIZE_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT:
+ getLabelFormat().clear();
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON:
+ setShowIcon(ContainerStyleDescriptionImpl.SHOW_ICON_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ setLabelExpression(ContainerStyleDescriptionImpl.LABEL_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR:
+ setLabelColor((ColorDescription) null);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH:
+ setIconPath(ContainerStyleDescriptionImpl.ICON_PATH_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ setLabelAlignment(ContainerStyleDescriptionImpl.LABEL_ALIGNMENT_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ setTooltipExpression(ContainerStyleDescriptionImpl.TOOLTIP_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ setHideLabelByDefault(ContainerStyleDescriptionImpl.HIDE_LABEL_BY_DEFAULT_EDEFAULT);
+ return;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER:
+ setRoundedCorner(ContainerStyleDescriptionImpl.ROUNDED_CORNER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return ContainerStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT == null ? borderSizeComputationExpression != null
+ : !ContainerStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT.equals(borderSizeComputationExpression);
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR:
+ return borderColor != null;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return borderLineStyle != ContainerStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE:
+ return labelSize != ContainerStyleDescriptionImpl.LABEL_SIZE_EDEFAULT;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT:
+ return labelFormat != null && !labelFormat.isEmpty();
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON:
+ return showIcon != ContainerStyleDescriptionImpl.SHOW_ICON_EDEFAULT;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ return ContainerStyleDescriptionImpl.LABEL_EXPRESSION_EDEFAULT == null ? labelExpression != null : !ContainerStyleDescriptionImpl.LABEL_EXPRESSION_EDEFAULT.equals(labelExpression);
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR:
+ return labelColor != null;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH:
+ return ContainerStyleDescriptionImpl.ICON_PATH_EDEFAULT == null ? iconPath != null : !ContainerStyleDescriptionImpl.ICON_PATH_EDEFAULT.equals(iconPath);
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ return labelAlignment != ContainerStyleDescriptionImpl.LABEL_ALIGNMENT_EDEFAULT;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ return ContainerStyleDescriptionImpl.TOOLTIP_EXPRESSION_EDEFAULT == null ? tooltipExpression != null : !ContainerStyleDescriptionImpl.TOOLTIP_EXPRESSION_EDEFAULT.equals(tooltipExpression);
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ return hideLabelByDefault != ContainerStyleDescriptionImpl.HIDE_LABEL_BY_DEFAULT_EDEFAULT;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER:
+ return roundedCorner != ContainerStyleDescriptionImpl.ROUNDED_CORNER_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == BorderedStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR:
+ return StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == BasicLabelStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_SIZE;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__SHOW_ICON;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_COLOR;
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__ICON_PATH;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == LabelStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.LABEL_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == TooltipStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.TOOLTIP_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == HideLabelCapabilityStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ return StylePackage.HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == BorderedStyleDescription.class) {
+ switch (baseFeatureID) {
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_COLOR;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == BasicLabelStyleDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_SIZE:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_SIZE;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_FORMAT;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__SHOW_ICON:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__SHOW_ICON;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_COLOR:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_COLOR;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__ICON_PATH:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__ICON_PATH;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == LabelStyleDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.LABEL_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == TooltipStyleDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.TOOLTIP_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == HideLabelCapabilityStyleDescription.class) {
+ switch (baseFeatureID) {
+ case StylePackage.HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (borderSizeComputationExpression: "); //$NON-NLS-1$
+ result.append(borderSizeComputationExpression);
+ result.append(", borderLineStyle: "); //$NON-NLS-1$
+ result.append(borderLineStyle);
+ result.append(", labelSize: "); //$NON-NLS-1$
+ result.append(labelSize);
+ result.append(", labelFormat: "); //$NON-NLS-1$
+ result.append(labelFormat);
+ result.append(", showIcon: "); //$NON-NLS-1$
+ result.append(showIcon);
+ result.append(", labelExpression: "); //$NON-NLS-1$
+ result.append(labelExpression);
+ result.append(", iconPath: "); //$NON-NLS-1$
+ result.append(iconPath);
+ result.append(", labelAlignment: "); //$NON-NLS-1$
+ result.append(labelAlignment);
+ result.append(", tooltipExpression: "); //$NON-NLS-1$
+ result.append(tooltipExpression);
+ result.append(", hideLabelByDefault: "); //$NON-NLS-1$
+ result.append(hideLabelByDefault);
+ result.append(", roundedCorner: "); //$NON-NLS-1$
+ result.append(roundedCorner);
+ result.append(')');
+ return result.toString();
+ }
+} // ContainerStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/CustomStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/CustomStyleDescriptionImpl.java
new file mode 100644
index 0000000000..6e6302fb85
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/CustomStyleDescriptionImpl.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.style.CustomStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Custom Style Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.CustomStyleDescriptionImpl#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CustomStyleDescriptionImpl extends NodeStyleDescriptionImpl implements CustomStyleDescription {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = CustomStyleDescriptionImpl.ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CustomStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.CUSTOM_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.CUSTOM_STYLE_DESCRIPTION__ID, oldId, id));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.CUSTOM_STYLE_DESCRIPTION__ID:
+ return getId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.CUSTOM_STYLE_DESCRIPTION__ID:
+ setId((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.CUSTOM_STYLE_DESCRIPTION__ID:
+ setId(CustomStyleDescriptionImpl.ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.CUSTOM_STYLE_DESCRIPTION__ID:
+ return CustomStyleDescriptionImpl.ID_EDEFAULT == null ? id != null : !CustomStyleDescriptionImpl.ID_EDEFAULT.equals(id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} // CustomStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/DotDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/DotDescriptionImpl.java
new file mode 100644
index 0000000000..341e54dd4a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/DotDescriptionImpl.java
@@ -0,0 +1,246 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.style.DotDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Dot Description</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.DotDescriptionImpl#getBackgroundColor <em>Background
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.DotDescriptionImpl#getStrokeSizeComputationExpression
+ * <em>Stroke Size Computation Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DotDescriptionImpl extends NodeStyleDescriptionImpl implements DotDescription {
+ /**
+ * The cached value of the '{@link #getBackgroundColor() <em>Background Color</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBackgroundColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription backgroundColor;
+
+ /**
+ * The default value of the '{@link #getStrokeSizeComputationExpression() <em>Stroke Size Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStrokeSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String STROKE_SIZE_COMPUTATION_EXPRESSION_EDEFAULT = "2"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getStrokeSizeComputationExpression() <em>Stroke Size Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStrokeSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String strokeSizeComputationExpression = DotDescriptionImpl.STROKE_SIZE_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DotDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.DOT_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBackgroundColor() {
+ if (backgroundColor != null && backgroundColor.eIsProxy()) {
+ InternalEObject oldBackgroundColor = (InternalEObject) backgroundColor;
+ backgroundColor = (ColorDescription) eResolveProxy(oldBackgroundColor);
+ if (backgroundColor != oldBackgroundColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.DOT_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+ }
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBackgroundColor() {
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBackgroundColor(ColorDescription newBackgroundColor) {
+ ColorDescription oldBackgroundColor = backgroundColor;
+ backgroundColor = newBackgroundColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.DOT_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getStrokeSizeComputationExpression() {
+ return strokeSizeComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStrokeSizeComputationExpression(String newStrokeSizeComputationExpression) {
+ String oldStrokeSizeComputationExpression = strokeSizeComputationExpression;
+ strokeSizeComputationExpression = newStrokeSizeComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.DOT_DESCRIPTION__STROKE_SIZE_COMPUTATION_EXPRESSION, oldStrokeSizeComputationExpression,
+ strokeSizeComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.DOT_DESCRIPTION__BACKGROUND_COLOR:
+ if (resolve) {
+ return getBackgroundColor();
+ }
+ return basicGetBackgroundColor();
+ case StylePackage.DOT_DESCRIPTION__STROKE_SIZE_COMPUTATION_EXPRESSION:
+ return getStrokeSizeComputationExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.DOT_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) newValue);
+ return;
+ case StylePackage.DOT_DESCRIPTION__STROKE_SIZE_COMPUTATION_EXPRESSION:
+ setStrokeSizeComputationExpression((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.DOT_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) null);
+ return;
+ case StylePackage.DOT_DESCRIPTION__STROKE_SIZE_COMPUTATION_EXPRESSION:
+ setStrokeSizeComputationExpression(DotDescriptionImpl.STROKE_SIZE_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.DOT_DESCRIPTION__BACKGROUND_COLOR:
+ return backgroundColor != null;
+ case StylePackage.DOT_DESCRIPTION__STROKE_SIZE_COMPUTATION_EXPRESSION:
+ return DotDescriptionImpl.STROKE_SIZE_COMPUTATION_EXPRESSION_EDEFAULT == null ? strokeSizeComputationExpression != null
+ : !DotDescriptionImpl.STROKE_SIZE_COMPUTATION_EXPRESSION_EDEFAULT.equals(strokeSizeComputationExpression);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (strokeSizeComputationExpression: "); //$NON-NLS-1$
+ result.append(strokeSizeComputationExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DotDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EdgeStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EdgeStyleDescriptionImpl.java
new file mode 100644
index 0000000000..6663635abf
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EdgeStyleDescriptionImpl.java
@@ -0,0 +1,1025 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.EdgeArrows;
+import org.eclipse.sirius.diagram.EdgeRouting;
+import org.eclipse.sirius.diagram.LineStyle;
+import org.eclipse.sirius.diagram.description.CenteringStyle;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.FoldingStyle;
+import org.eclipse.sirius.diagram.description.style.BeginLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Edge Style Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getStrokeColor <em>Stroke
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getLineStyle <em>Line
+ * Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getSourceArrow <em>Source
+ * Arrow</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getTargetArrow <em>Target
+ * Arrow</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getSizeComputationExpression
+ * <em>Size Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getRoutingStyle <em>Routing
+ * Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getFoldingStyle <em>Folding
+ * Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getBeginLabelStyleDescription
+ * <em>Begin Label Style Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getCenterLabelStyleDescription
+ * <em>Center Label Style Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getEndLabelStyleDescription
+ * <em>End Label Style Description</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getEndsCentering <em>Ends
+ * Centering</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getCenteredSourceMappings
+ * <em>Centered Source Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EdgeStyleDescriptionImpl#getCenteredTargetMappings
+ * <em>Centered Target Mappings</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EdgeStyleDescriptionImpl extends MinimalEObjectImpl.Container implements EdgeStyleDescription {
+ /**
+ * The cached value of the '{@link #getStrokeColor() <em>Stroke Color</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStrokeColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription strokeColor;
+
+ /**
+ * The default value of the '{@link #getLineStyle() <em>Line Style</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLineStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final LineStyle LINE_STYLE_EDEFAULT = LineStyle.SOLID_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getLineStyle() <em>Line Style</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLineStyle()
+ * @generated
+ * @ordered
+ */
+ protected LineStyle lineStyle = EdgeStyleDescriptionImpl.LINE_STYLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSourceArrow() <em>Source Arrow</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSourceArrow()
+ * @generated
+ * @ordered
+ */
+ protected static final EdgeArrows SOURCE_ARROW_EDEFAULT = EdgeArrows.NO_DECORATION_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getSourceArrow() <em>Source Arrow</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSourceArrow()
+ * @generated
+ * @ordered
+ */
+ protected EdgeArrows sourceArrow = EdgeStyleDescriptionImpl.SOURCE_ARROW_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTargetArrow() <em>Target Arrow</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTargetArrow()
+ * @generated
+ * @ordered
+ */
+ protected static final EdgeArrows TARGET_ARROW_EDEFAULT = EdgeArrows.INPUT_ARROW_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getTargetArrow() <em>Target Arrow</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getTargetArrow()
+ * @generated
+ * @ordered
+ */
+ protected EdgeArrows targetArrow = EdgeStyleDescriptionImpl.TARGET_ARROW_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSizeComputationExpression() <em>Size Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String SIZE_COMPUTATION_EXPRESSION_EDEFAULT = "1"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getSizeComputationExpression() <em>Size Computation Expression</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String sizeComputationExpression = EdgeStyleDescriptionImpl.SIZE_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRoutingStyle() <em>Routing Style</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRoutingStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final EdgeRouting ROUTING_STYLE_EDEFAULT = EdgeRouting.STRAIGHT_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getRoutingStyle() <em>Routing Style</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRoutingStyle()
+ * @generated
+ * @ordered
+ */
+ protected EdgeRouting routingStyle = EdgeStyleDescriptionImpl.ROUTING_STYLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFoldingStyle() <em>Folding Style</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFoldingStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final FoldingStyle FOLDING_STYLE_EDEFAULT = FoldingStyle.NONE_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getFoldingStyle() <em>Folding Style</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFoldingStyle()
+ * @generated
+ * @ordered
+ */
+ protected FoldingStyle foldingStyle = EdgeStyleDescriptionImpl.FOLDING_STYLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBeginLabelStyleDescription() <em>Begin Label Style Description</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBeginLabelStyleDescription()
+ * @generated
+ * @ordered
+ */
+ protected BeginLabelStyleDescription beginLabelStyleDescription;
+
+ /**
+ * The cached value of the '{@link #getCenterLabelStyleDescription() <em>Center Label Style Description</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCenterLabelStyleDescription()
+ * @generated
+ * @ordered
+ */
+ protected CenterLabelStyleDescription centerLabelStyleDescription;
+
+ /**
+ * The cached value of the '{@link #getEndLabelStyleDescription() <em>End Label Style Description</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndLabelStyleDescription()
+ * @generated
+ * @ordered
+ */
+ protected EndLabelStyleDescription endLabelStyleDescription;
+
+ /**
+ * The default value of the '{@link #getEndsCentering() <em>Ends Centering</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getEndsCentering()
+ * @generated
+ * @ordered
+ */
+ protected static final CenteringStyle ENDS_CENTERING_EDEFAULT = CenteringStyle.NONE;
+
+ /**
+ * The cached value of the '{@link #getEndsCentering() <em>Ends Centering</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getEndsCentering()
+ * @generated
+ * @ordered
+ */
+ protected CenteringStyle endsCentering = EdgeStyleDescriptionImpl.ENDS_CENTERING_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCenteredSourceMappings() <em>Centered Source Mappings</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCenteredSourceMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> centeredSourceMappings;
+
+ /**
+ * The cached value of the '{@link #getCenteredTargetMappings() <em>Centered Target Mappings</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCenteredTargetMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> centeredTargetMappings;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EdgeStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.EDGE_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getStrokeColor() {
+ if (strokeColor != null && strokeColor.eIsProxy()) {
+ InternalEObject oldStrokeColor = (InternalEObject) strokeColor;
+ strokeColor = (ColorDescription) eResolveProxy(oldStrokeColor);
+ if (strokeColor != oldStrokeColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.EDGE_STYLE_DESCRIPTION__STROKE_COLOR, oldStrokeColor, strokeColor));
+ }
+ }
+ }
+ return strokeColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetStrokeColor() {
+ return strokeColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStrokeColor(ColorDescription newStrokeColor) {
+ ColorDescription oldStrokeColor = strokeColor;
+ strokeColor = newStrokeColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__STROKE_COLOR, oldStrokeColor, strokeColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LineStyle getLineStyle() {
+ return lineStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLineStyle(LineStyle newLineStyle) {
+ LineStyle oldLineStyle = lineStyle;
+ lineStyle = newLineStyle == null ? EdgeStyleDescriptionImpl.LINE_STYLE_EDEFAULT : newLineStyle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__LINE_STYLE, oldLineStyle, lineStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EdgeArrows getSourceArrow() {
+ return sourceArrow;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSourceArrow(EdgeArrows newSourceArrow) {
+ EdgeArrows oldSourceArrow = sourceArrow;
+ sourceArrow = newSourceArrow == null ? EdgeStyleDescriptionImpl.SOURCE_ARROW_EDEFAULT : newSourceArrow;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__SOURCE_ARROW, oldSourceArrow, sourceArrow));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EdgeArrows getTargetArrow() {
+ return targetArrow;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTargetArrow(EdgeArrows newTargetArrow) {
+ EdgeArrows oldTargetArrow = targetArrow;
+ targetArrow = newTargetArrow == null ? EdgeStyleDescriptionImpl.TARGET_ARROW_EDEFAULT : newTargetArrow;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__TARGET_ARROW, oldTargetArrow, targetArrow));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSizeComputationExpression() {
+ return sizeComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSizeComputationExpression(String newSizeComputationExpression) {
+ String oldSizeComputationExpression = sizeComputationExpression;
+ sizeComputationExpression = newSizeComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION, oldSizeComputationExpression, sizeComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EdgeRouting getRoutingStyle() {
+ return routingStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRoutingStyle(EdgeRouting newRoutingStyle) {
+ EdgeRouting oldRoutingStyle = routingStyle;
+ routingStyle = newRoutingStyle == null ? EdgeStyleDescriptionImpl.ROUTING_STYLE_EDEFAULT : newRoutingStyle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__ROUTING_STYLE, oldRoutingStyle, routingStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public FoldingStyle getFoldingStyle() {
+ return foldingStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFoldingStyle(FoldingStyle newFoldingStyle) {
+ FoldingStyle oldFoldingStyle = foldingStyle;
+ foldingStyle = newFoldingStyle == null ? EdgeStyleDescriptionImpl.FOLDING_STYLE_EDEFAULT : newFoldingStyle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__FOLDING_STYLE, oldFoldingStyle, foldingStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public BeginLabelStyleDescription getBeginLabelStyleDescription() {
+ if (beginLabelStyleDescription != null && beginLabelStyleDescription.eIsProxy()) {
+ InternalEObject oldBeginLabelStyleDescription = (InternalEObject) beginLabelStyleDescription;
+ beginLabelStyleDescription = (BeginLabelStyleDescription) eResolveProxy(oldBeginLabelStyleDescription);
+ if (beginLabelStyleDescription != oldBeginLabelStyleDescription) {
+ InternalEObject newBeginLabelStyleDescription = (InternalEObject) beginLabelStyleDescription;
+ NotificationChain msgs = oldBeginLabelStyleDescription.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION,
+ null, null);
+ if (newBeginLabelStyleDescription.eInternalContainer() == null) {
+ msgs = newBeginLabelStyleDescription.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION, oldBeginLabelStyleDescription,
+ beginLabelStyleDescription));
+ }
+ }
+ }
+ return beginLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BeginLabelStyleDescription basicGetBeginLabelStyleDescription() {
+ return beginLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBeginLabelStyleDescription(BeginLabelStyleDescription newBeginLabelStyleDescription, NotificationChain msgs) {
+ BeginLabelStyleDescription oldBeginLabelStyleDescription = beginLabelStyleDescription;
+ beginLabelStyleDescription = newBeginLabelStyleDescription;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION, oldBeginLabelStyleDescription,
+ newBeginLabelStyleDescription);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBeginLabelStyleDescription(BeginLabelStyleDescription newBeginLabelStyleDescription) {
+ if (newBeginLabelStyleDescription != beginLabelStyleDescription) {
+ NotificationChain msgs = null;
+ if (beginLabelStyleDescription != null) {
+ msgs = ((InternalEObject) beginLabelStyleDescription).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION,
+ null, msgs);
+ }
+ if (newBeginLabelStyleDescription != null) {
+ msgs = ((InternalEObject) newBeginLabelStyleDescription).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION,
+ null, msgs);
+ }
+ msgs = basicSetBeginLabelStyleDescription(newBeginLabelStyleDescription, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION, newBeginLabelStyleDescription, newBeginLabelStyleDescription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CenterLabelStyleDescription getCenterLabelStyleDescription() {
+ if (centerLabelStyleDescription != null && centerLabelStyleDescription.eIsProxy()) {
+ InternalEObject oldCenterLabelStyleDescription = (InternalEObject) centerLabelStyleDescription;
+ centerLabelStyleDescription = (CenterLabelStyleDescription) eResolveProxy(oldCenterLabelStyleDescription);
+ if (centerLabelStyleDescription != oldCenterLabelStyleDescription) {
+ InternalEObject newCenterLabelStyleDescription = (InternalEObject) centerLabelStyleDescription;
+ NotificationChain msgs = oldCenterLabelStyleDescription.eInverseRemove(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION, null, null);
+ if (newCenterLabelStyleDescription.eInternalContainer() == null) {
+ msgs = newCenterLabelStyleDescription.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION, oldCenterLabelStyleDescription,
+ centerLabelStyleDescription));
+ }
+ }
+ }
+ return centerLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CenterLabelStyleDescription basicGetCenterLabelStyleDescription() {
+ return centerLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetCenterLabelStyleDescription(CenterLabelStyleDescription newCenterLabelStyleDescription, NotificationChain msgs) {
+ CenterLabelStyleDescription oldCenterLabelStyleDescription = centerLabelStyleDescription;
+ centerLabelStyleDescription = newCenterLabelStyleDescription;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION, oldCenterLabelStyleDescription,
+ newCenterLabelStyleDescription);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setCenterLabelStyleDescription(CenterLabelStyleDescription newCenterLabelStyleDescription) {
+ if (newCenterLabelStyleDescription != centerLabelStyleDescription) {
+ NotificationChain msgs = null;
+ if (centerLabelStyleDescription != null) {
+ msgs = ((InternalEObject) centerLabelStyleDescription).eInverseRemove(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION, null, msgs);
+ }
+ if (newCenterLabelStyleDescription != null) {
+ msgs = ((InternalEObject) newCenterLabelStyleDescription).eInverseAdd(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION, null, msgs);
+ }
+ msgs = basicSetCenterLabelStyleDescription(newCenterLabelStyleDescription, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION, newCenterLabelStyleDescription, newCenterLabelStyleDescription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EndLabelStyleDescription getEndLabelStyleDescription() {
+ if (endLabelStyleDescription != null && endLabelStyleDescription.eIsProxy()) {
+ InternalEObject oldEndLabelStyleDescription = (InternalEObject) endLabelStyleDescription;
+ endLabelStyleDescription = (EndLabelStyleDescription) eResolveProxy(oldEndLabelStyleDescription);
+ if (endLabelStyleDescription != oldEndLabelStyleDescription) {
+ InternalEObject newEndLabelStyleDescription = (InternalEObject) endLabelStyleDescription;
+ NotificationChain msgs = oldEndLabelStyleDescription.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION,
+ null, null);
+ if (newEndLabelStyleDescription.eInternalContainer() == null) {
+ msgs = newEndLabelStyleDescription.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION, oldEndLabelStyleDescription, endLabelStyleDescription));
+ }
+ }
+ }
+ return endLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EndLabelStyleDescription basicGetEndLabelStyleDescription() {
+ return endLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetEndLabelStyleDescription(EndLabelStyleDescription newEndLabelStyleDescription, NotificationChain msgs) {
+ EndLabelStyleDescription oldEndLabelStyleDescription = endLabelStyleDescription;
+ endLabelStyleDescription = newEndLabelStyleDescription;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION, oldEndLabelStyleDescription,
+ newEndLabelStyleDescription);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEndLabelStyleDescription(EndLabelStyleDescription newEndLabelStyleDescription) {
+ if (newEndLabelStyleDescription != endLabelStyleDescription) {
+ NotificationChain msgs = null;
+ if (endLabelStyleDescription != null) {
+ msgs = ((InternalEObject) endLabelStyleDescription).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION,
+ null, msgs);
+ }
+ if (newEndLabelStyleDescription != null) {
+ msgs = ((InternalEObject) newEndLabelStyleDescription).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION,
+ null, msgs);
+ }
+ msgs = basicSetEndLabelStyleDescription(newEndLabelStyleDescription, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION, newEndLabelStyleDescription, newEndLabelStyleDescription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CenteringStyle getEndsCentering() {
+ return endsCentering;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEndsCentering(CenteringStyle newEndsCentering) {
+ CenteringStyle oldEndsCentering = endsCentering;
+ endsCentering = newEndsCentering == null ? EdgeStyleDescriptionImpl.ENDS_CENTERING_EDEFAULT : newEndsCentering;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.EDGE_STYLE_DESCRIPTION__ENDS_CENTERING, oldEndsCentering, endsCentering));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getCenteredSourceMappings() {
+ if (centeredSourceMappings == null) {
+ centeredSourceMappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS);
+ }
+ return centeredSourceMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getCenteredTargetMappings() {
+ if (centeredTargetMappings == null) {
+ centeredTargetMappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS);
+ }
+ return centeredTargetMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION:
+ return basicSetBeginLabelStyleDescription(null, msgs);
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION:
+ return basicSetCenterLabelStyleDescription(null, msgs);
+ case StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION:
+ return basicSetEndLabelStyleDescription(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 StylePackage.EDGE_STYLE_DESCRIPTION__STROKE_COLOR:
+ if (resolve) {
+ return getStrokeColor();
+ }
+ return basicGetStrokeColor();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__LINE_STYLE:
+ return getLineStyle();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__SOURCE_ARROW:
+ return getSourceArrow();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__TARGET_ARROW:
+ return getTargetArrow();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION:
+ return getSizeComputationExpression();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__ROUTING_STYLE:
+ return getRoutingStyle();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__FOLDING_STYLE:
+ return getFoldingStyle();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION:
+ if (resolve) {
+ return getBeginLabelStyleDescription();
+ }
+ return basicGetBeginLabelStyleDescription();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION:
+ if (resolve) {
+ return getCenterLabelStyleDescription();
+ }
+ return basicGetCenterLabelStyleDescription();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION:
+ if (resolve) {
+ return getEndLabelStyleDescription();
+ }
+ return basicGetEndLabelStyleDescription();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__ENDS_CENTERING:
+ return getEndsCentering();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS:
+ return getCenteredSourceMappings();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS:
+ return getCenteredTargetMappings();
+ }
+ 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 StylePackage.EDGE_STYLE_DESCRIPTION__STROKE_COLOR:
+ setStrokeColor((ColorDescription) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__LINE_STYLE:
+ setLineStyle((LineStyle) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__SOURCE_ARROW:
+ setSourceArrow((EdgeArrows) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__TARGET_ARROW:
+ setTargetArrow((EdgeArrows) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION:
+ setSizeComputationExpression((String) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__ROUTING_STYLE:
+ setRoutingStyle((EdgeRouting) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__FOLDING_STYLE:
+ setFoldingStyle((FoldingStyle) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION:
+ setBeginLabelStyleDescription((BeginLabelStyleDescription) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION:
+ setCenterLabelStyleDescription((CenterLabelStyleDescription) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION:
+ setEndLabelStyleDescription((EndLabelStyleDescription) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__ENDS_CENTERING:
+ setEndsCentering((CenteringStyle) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS:
+ getCenteredSourceMappings().clear();
+ getCenteredSourceMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS:
+ getCenteredTargetMappings().clear();
+ getCenteredTargetMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.EDGE_STYLE_DESCRIPTION__STROKE_COLOR:
+ setStrokeColor((ColorDescription) null);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__LINE_STYLE:
+ setLineStyle(EdgeStyleDescriptionImpl.LINE_STYLE_EDEFAULT);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__SOURCE_ARROW:
+ setSourceArrow(EdgeStyleDescriptionImpl.SOURCE_ARROW_EDEFAULT);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__TARGET_ARROW:
+ setTargetArrow(EdgeStyleDescriptionImpl.TARGET_ARROW_EDEFAULT);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION:
+ setSizeComputationExpression(EdgeStyleDescriptionImpl.SIZE_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__ROUTING_STYLE:
+ setRoutingStyle(EdgeStyleDescriptionImpl.ROUTING_STYLE_EDEFAULT);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__FOLDING_STYLE:
+ setFoldingStyle(EdgeStyleDescriptionImpl.FOLDING_STYLE_EDEFAULT);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION:
+ setBeginLabelStyleDescription((BeginLabelStyleDescription) null);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION:
+ setCenterLabelStyleDescription((CenterLabelStyleDescription) null);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION:
+ setEndLabelStyleDescription((EndLabelStyleDescription) null);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__ENDS_CENTERING:
+ setEndsCentering(EdgeStyleDescriptionImpl.ENDS_CENTERING_EDEFAULT);
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS:
+ getCenteredSourceMappings().clear();
+ return;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS:
+ getCenteredTargetMappings().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.EDGE_STYLE_DESCRIPTION__STROKE_COLOR:
+ return strokeColor != null;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__LINE_STYLE:
+ return lineStyle != EdgeStyleDescriptionImpl.LINE_STYLE_EDEFAULT;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__SOURCE_ARROW:
+ return sourceArrow != EdgeStyleDescriptionImpl.SOURCE_ARROW_EDEFAULT;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__TARGET_ARROW:
+ return targetArrow != EdgeStyleDescriptionImpl.TARGET_ARROW_EDEFAULT;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION:
+ return EdgeStyleDescriptionImpl.SIZE_COMPUTATION_EXPRESSION_EDEFAULT == null ? sizeComputationExpression != null
+ : !EdgeStyleDescriptionImpl.SIZE_COMPUTATION_EXPRESSION_EDEFAULT.equals(sizeComputationExpression);
+ case StylePackage.EDGE_STYLE_DESCRIPTION__ROUTING_STYLE:
+ return routingStyle != EdgeStyleDescriptionImpl.ROUTING_STYLE_EDEFAULT;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__FOLDING_STYLE:
+ return foldingStyle != EdgeStyleDescriptionImpl.FOLDING_STYLE_EDEFAULT;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION:
+ return beginLabelStyleDescription != null;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION:
+ return centerLabelStyleDescription != null;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION:
+ return endLabelStyleDescription != null;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__ENDS_CENTERING:
+ return endsCentering != EdgeStyleDescriptionImpl.ENDS_CENTERING_EDEFAULT;
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS:
+ return centeredSourceMappings != null && !centeredSourceMappings.isEmpty();
+ case StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS:
+ return centeredTargetMappings != null && !centeredTargetMappings.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (lineStyle: "); //$NON-NLS-1$
+ result.append(lineStyle);
+ result.append(", sourceArrow: "); //$NON-NLS-1$
+ result.append(sourceArrow);
+ result.append(", targetArrow: "); //$NON-NLS-1$
+ result.append(targetArrow);
+ result.append(", sizeComputationExpression: "); //$NON-NLS-1$
+ result.append(sizeComputationExpression);
+ result.append(", routingStyle: "); //$NON-NLS-1$
+ result.append(routingStyle);
+ result.append(", foldingStyle: "); //$NON-NLS-1$
+ result.append(foldingStyle);
+ result.append(", endsCentering: "); //$NON-NLS-1$
+ result.append(endsCentering);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EdgeStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EllipseNodeDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EllipseNodeDescriptionImpl.java
new file mode 100644
index 0000000000..537b5f134a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EllipseNodeDescriptionImpl.java
@@ -0,0 +1,305 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.style.EllipseNodeDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Ellipse Node Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EllipseNodeDescriptionImpl#getColor <em>Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EllipseNodeDescriptionImpl#getHorizontalDiameterComputationExpression
+ * <em>Horizontal Diameter Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.EllipseNodeDescriptionImpl#getVerticalDiameterComputationExpression
+ * <em>Vertical Diameter Computation Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EllipseNodeDescriptionImpl extends NodeStyleDescriptionImpl implements EllipseNodeDescription {
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription color;
+
+ /**
+ * The default value of the '{@link #getHorizontalDiameterComputationExpression() <em>Horizontal Diameter
+ * Computation Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHorizontalDiameterComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT = "0"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getHorizontalDiameterComputationExpression() <em>Horizontal Diameter Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHorizontalDiameterComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String horizontalDiameterComputationExpression = EllipseNodeDescriptionImpl.HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVerticalDiameterComputationExpression() <em>Vertical Diameter Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVerticalDiameterComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERTICAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT = "0"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getVerticalDiameterComputationExpression() <em>Vertical Diameter Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVerticalDiameterComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String verticalDiameterComputationExpression = EllipseNodeDescriptionImpl.VERTICAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EllipseNodeDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.ELLIPSE_NODE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getColor() {
+ if (color != null && color.eIsProxy()) {
+ InternalEObject oldColor = (InternalEObject) color;
+ color = (ColorDescription) eResolveProxy(oldColor);
+ if (color != oldColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.ELLIPSE_NODE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+ }
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetColor() {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setColor(ColorDescription newColor) {
+ ColorDescription oldColor = color;
+ color = newColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.ELLIPSE_NODE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getHorizontalDiameterComputationExpression() {
+ return horizontalDiameterComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHorizontalDiameterComputationExpression(String newHorizontalDiameterComputationExpression) {
+ String oldHorizontalDiameterComputationExpression = horizontalDiameterComputationExpression;
+ horizontalDiameterComputationExpression = newHorizontalDiameterComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.ELLIPSE_NODE_DESCRIPTION__HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION, oldHorizontalDiameterComputationExpression,
+ horizontalDiameterComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getVerticalDiameterComputationExpression() {
+ return verticalDiameterComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setVerticalDiameterComputationExpression(String newVerticalDiameterComputationExpression) {
+ String oldVerticalDiameterComputationExpression = verticalDiameterComputationExpression;
+ verticalDiameterComputationExpression = newVerticalDiameterComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.ELLIPSE_NODE_DESCRIPTION__VERTICAL_DIAMETER_COMPUTATION_EXPRESSION, oldVerticalDiameterComputationExpression,
+ verticalDiameterComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__COLOR:
+ if (resolve) {
+ return getColor();
+ }
+ return basicGetColor();
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION:
+ return getHorizontalDiameterComputationExpression();
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__VERTICAL_DIAMETER_COMPUTATION_EXPRESSION:
+ return getVerticalDiameterComputationExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) newValue);
+ return;
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION:
+ setHorizontalDiameterComputationExpression((String) newValue);
+ return;
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__VERTICAL_DIAMETER_COMPUTATION_EXPRESSION:
+ setVerticalDiameterComputationExpression((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) null);
+ return;
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION:
+ setHorizontalDiameterComputationExpression(EllipseNodeDescriptionImpl.HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__VERTICAL_DIAMETER_COMPUTATION_EXPRESSION:
+ setVerticalDiameterComputationExpression(EllipseNodeDescriptionImpl.VERTICAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__COLOR:
+ return color != null;
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION:
+ return EllipseNodeDescriptionImpl.HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT == null ? horizontalDiameterComputationExpression != null
+ : !EllipseNodeDescriptionImpl.HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT.equals(horizontalDiameterComputationExpression);
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION__VERTICAL_DIAMETER_COMPUTATION_EXPRESSION:
+ return EllipseNodeDescriptionImpl.VERTICAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT == null ? verticalDiameterComputationExpression != null
+ : !EllipseNodeDescriptionImpl.VERTICAL_DIAMETER_COMPUTATION_EXPRESSION_EDEFAULT.equals(verticalDiameterComputationExpression);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (horizontalDiameterComputationExpression: "); //$NON-NLS-1$
+ result.append(horizontalDiameterComputationExpression);
+ result.append(", verticalDiameterComputationExpression: "); //$NON-NLS-1$
+ result.append(verticalDiameterComputationExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EllipseNodeDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EndLabelStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EndLabelStyleDescriptionImpl.java
new file mode 100644
index 0000000000..9b5ade5691
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/EndLabelStyleDescriptionImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.style.impl.BasicLabelStyleDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>End Label Style Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class EndLabelStyleDescriptionImpl extends BasicLabelStyleDescriptionImpl implements EndLabelStyleDescription {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EndLabelStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.END_LABEL_STYLE_DESCRIPTION;
+ }
+
+} // EndLabelStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/FlatContainerStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/FlatContainerStyleDescriptionImpl.java
new file mode 100644
index 0000000000..36451cebf2
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/FlatContainerStyleDescriptionImpl.java
@@ -0,0 +1,541 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.BackgroundStyle;
+import org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.style.LabelBorderStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Flat Container Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl#getBackgroundStyle
+ * <em>Background Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl#getBackgroundColor
+ * <em>Background Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl#getForegroundColor
+ * <em>Foreground Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.FlatContainerStyleDescriptionImpl#getLabelBorderStyle
+ * <em>Label Border Style</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FlatContainerStyleDescriptionImpl extends ContainerStyleDescriptionImpl implements FlatContainerStyleDescription {
+ /**
+ * The default value of the '{@link #getWidthComputationExpression() <em>Width Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidthComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String WIDTH_COMPUTATION_EXPRESSION_EDEFAULT = "-1"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getWidthComputationExpression() <em>Width Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidthComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String widthComputationExpression = FlatContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHeightComputationExpression() <em>Height Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeightComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT = "-1"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getHeightComputationExpression() <em>Height Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeightComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String heightComputationExpression = FlatContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBackgroundStyle() <em>Background Style</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBackgroundStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final BackgroundStyle BACKGROUND_STYLE_EDEFAULT = BackgroundStyle.GRADIENT_LEFT_TO_RIGHT_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getBackgroundStyle() <em>Background Style</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBackgroundStyle()
+ * @generated
+ * @ordered
+ */
+ protected BackgroundStyle backgroundStyle = FlatContainerStyleDescriptionImpl.BACKGROUND_STYLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBackgroundColor() <em>Background Color</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBackgroundColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription backgroundColor;
+
+ /**
+ * The cached value of the '{@link #getForegroundColor() <em>Foreground Color</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getForegroundColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription foregroundColor;
+
+ /**
+ * The cached value of the '{@link #getLabelBorderStyle() <em>Label Border Style</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLabelBorderStyle()
+ * @generated
+ * @ordered
+ */
+ protected LabelBorderStyleDescription labelBorderStyle;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected FlatContainerStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.FLAT_CONTAINER_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getWidthComputationExpression() {
+ return widthComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setWidthComputationExpression(String newWidthComputationExpression) {
+ String oldWidthComputationExpression = widthComputationExpression;
+ widthComputationExpression = newWidthComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION, oldWidthComputationExpression,
+ widthComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getHeightComputationExpression() {
+ return heightComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHeightComputationExpression(String newHeightComputationExpression) {
+ String oldHeightComputationExpression = heightComputationExpression;
+ heightComputationExpression = newHeightComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION, oldHeightComputationExpression,
+ heightComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public BackgroundStyle getBackgroundStyle() {
+ return backgroundStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBackgroundStyle(BackgroundStyle newBackgroundStyle) {
+ BackgroundStyle oldBackgroundStyle = backgroundStyle;
+ backgroundStyle = newBackgroundStyle == null ? FlatContainerStyleDescriptionImpl.BACKGROUND_STYLE_EDEFAULT : newBackgroundStyle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_STYLE, oldBackgroundStyle, backgroundStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBackgroundColor() {
+ if (backgroundColor != null && backgroundColor.eIsProxy()) {
+ InternalEObject oldBackgroundColor = (InternalEObject) backgroundColor;
+ backgroundColor = (ColorDescription) eResolveProxy(oldBackgroundColor);
+ if (backgroundColor != oldBackgroundColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+ }
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBackgroundColor() {
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBackgroundColor(ColorDescription newBackgroundColor) {
+ ColorDescription oldBackgroundColor = backgroundColor;
+ backgroundColor = newBackgroundColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getForegroundColor() {
+ if (foregroundColor != null && foregroundColor.eIsProxy()) {
+ InternalEObject oldForegroundColor = (InternalEObject) foregroundColor;
+ foregroundColor = (ColorDescription) eResolveProxy(oldForegroundColor);
+ if (foregroundColor != oldForegroundColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR, oldForegroundColor, foregroundColor));
+ }
+ }
+ }
+ return foregroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetForegroundColor() {
+ return foregroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setForegroundColor(ColorDescription newForegroundColor) {
+ ColorDescription oldForegroundColor = foregroundColor;
+ foregroundColor = newForegroundColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR, oldForegroundColor, foregroundColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LabelBorderStyleDescription getLabelBorderStyle() {
+ if (labelBorderStyle != null && labelBorderStyle.eIsProxy()) {
+ InternalEObject oldLabelBorderStyle = (InternalEObject) labelBorderStyle;
+ labelBorderStyle = (LabelBorderStyleDescription) eResolveProxy(oldLabelBorderStyle);
+ if (labelBorderStyle != oldLabelBorderStyle) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE, oldLabelBorderStyle, labelBorderStyle));
+ }
+ }
+ }
+ return labelBorderStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LabelBorderStyleDescription basicGetLabelBorderStyle() {
+ return labelBorderStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelBorderStyle(LabelBorderStyleDescription newLabelBorderStyle) {
+ LabelBorderStyleDescription oldLabelBorderStyle = labelBorderStyle;
+ labelBorderStyle = newLabelBorderStyle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE, oldLabelBorderStyle, labelBorderStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return getWidthComputationExpression();
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return getHeightComputationExpression();
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_STYLE:
+ return getBackgroundStyle();
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR:
+ if (resolve) {
+ return getBackgroundColor();
+ }
+ return basicGetBackgroundColor();
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR:
+ if (resolve) {
+ return getForegroundColor();
+ }
+ return basicGetForegroundColor();
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE:
+ if (resolve) {
+ return getLabelBorderStyle();
+ }
+ return basicGetLabelBorderStyle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ setWidthComputationExpression((String) newValue);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ setHeightComputationExpression((String) newValue);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_STYLE:
+ setBackgroundStyle((BackgroundStyle) newValue);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) newValue);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR:
+ setForegroundColor((ColorDescription) newValue);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE:
+ setLabelBorderStyle((LabelBorderStyleDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ setWidthComputationExpression(FlatContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ setHeightComputationExpression(FlatContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_STYLE:
+ setBackgroundStyle(FlatContainerStyleDescriptionImpl.BACKGROUND_STYLE_EDEFAULT);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) null);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR:
+ setForegroundColor((ColorDescription) null);
+ return;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE:
+ setLabelBorderStyle((LabelBorderStyleDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return FlatContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT == null ? widthComputationExpression != null
+ : !FlatContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT.equals(widthComputationExpression);
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return FlatContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT == null ? heightComputationExpression != null
+ : !FlatContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT.equals(heightComputationExpression);
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_STYLE:
+ return backgroundStyle != FlatContainerStyleDescriptionImpl.BACKGROUND_STYLE_EDEFAULT;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR:
+ return backgroundColor != null;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR:
+ return foregroundColor != null;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE:
+ return labelBorderStyle != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == SizeComputationContainerStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION;
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == SizeComputationContainerStyleDescription.class) {
+ switch (baseFeatureID) {
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION;
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (widthComputationExpression: "); //$NON-NLS-1$
+ result.append(widthComputationExpression);
+ result.append(", heightComputationExpression: "); //$NON-NLS-1$
+ result.append(heightComputationExpression);
+ result.append(", backgroundStyle: "); //$NON-NLS-1$
+ result.append(backgroundStyle);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FlatContainerStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/GaugeCompositeStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/GaugeCompositeStyleDescriptionImpl.java
new file mode 100644
index 0000000000..d6e79cefc8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/GaugeCompositeStyleDescriptionImpl.java
@@ -0,0 +1,235 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.AlignmentKind;
+import org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeSectionDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Gauge Composite Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.GaugeCompositeStyleDescriptionImpl#getAlignment
+ * <em>Alignment</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.GaugeCompositeStyleDescriptionImpl#getSections
+ * <em>Sections</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GaugeCompositeStyleDescriptionImpl extends NodeStyleDescriptionImpl implements GaugeCompositeStyleDescription {
+ /**
+ * The default value of the '{@link #getAlignment() <em>Alignment</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final AlignmentKind ALIGNMENT_EDEFAULT = AlignmentKind.SQUARE_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getAlignment() <em>Alignment</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected AlignmentKind alignment = GaugeCompositeStyleDescriptionImpl.ALIGNMENT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSections() <em>Sections</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSections()
+ * @generated
+ * @ordered
+ */
+ protected EList<GaugeSectionDescription> sections;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected GaugeCompositeStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.GAUGE_COMPOSITE_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public AlignmentKind getAlignment() {
+ return alignment;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setAlignment(AlignmentKind newAlignment) {
+ AlignmentKind oldAlignment = alignment;
+ alignment = newAlignment == null ? GaugeCompositeStyleDescriptionImpl.ALIGNMENT_EDEFAULT : newAlignment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__ALIGNMENT, oldAlignment, alignment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<GaugeSectionDescription> getSections() {
+ if (sections == null) {
+ sections = new EObjectContainmentEList.Resolving<>(GaugeSectionDescription.class, this, StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS);
+ }
+ return sections;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS:
+ return ((InternalEList<?>) getSections()).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 StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__ALIGNMENT:
+ return getAlignment();
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS:
+ return getSections();
+ }
+ 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 StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__ALIGNMENT:
+ setAlignment((AlignmentKind) newValue);
+ return;
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS:
+ getSections().clear();
+ getSections().addAll((Collection<? extends GaugeSectionDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__ALIGNMENT:
+ setAlignment(GaugeCompositeStyleDescriptionImpl.ALIGNMENT_EDEFAULT);
+ return;
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS:
+ getSections().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__ALIGNMENT:
+ return alignment != GaugeCompositeStyleDescriptionImpl.ALIGNMENT_EDEFAULT;
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS:
+ return sections != null && !sections.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (alignment: "); //$NON-NLS-1$
+ result.append(alignment);
+ result.append(')');
+ return result.toString();
+ }
+
+} // GaugeCompositeStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/GaugeSectionDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/GaugeSectionDescriptionImpl.java
new file mode 100644
index 0000000000..a5f6464f94
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/GaugeSectionDescriptionImpl.java
@@ -0,0 +1,488 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+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.sirius.diagram.description.style.GaugeSectionDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Gauge Section Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl#getMinValueExpression
+ * <em>Min Value Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl#getMaxValueExpression
+ * <em>Max Value Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl#getValueExpression <em>Value
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl#getBackgroundColor
+ * <em>Background Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl#getForegroundColor
+ * <em>Foreground Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.GaugeSectionDescriptionImpl#getLabel
+ * <em>Label</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GaugeSectionDescriptionImpl extends MinimalEObjectImpl.Container implements GaugeSectionDescription {
+ /**
+ * The default value of the '{@link #getMinValueExpression() <em>Min Value Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMinValueExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String MIN_VALUE_EXPRESSION_EDEFAULT = "0"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getMinValueExpression() <em>Min Value Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMinValueExpression()
+ * @generated
+ * @ordered
+ */
+ protected String minValueExpression = GaugeSectionDescriptionImpl.MIN_VALUE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMaxValueExpression() <em>Max Value Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMaxValueExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAX_VALUE_EXPRESSION_EDEFAULT = "0"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getMaxValueExpression() <em>Max Value Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMaxValueExpression()
+ * @generated
+ * @ordered
+ */
+ protected String maxValueExpression = GaugeSectionDescriptionImpl.MAX_VALUE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValueExpression() <em>Value Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getValueExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EXPRESSION_EDEFAULT = "0"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getValueExpression() <em>Value Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getValueExpression()
+ * @generated
+ * @ordered
+ */
+ protected String valueExpression = GaugeSectionDescriptionImpl.VALUE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBackgroundColor() <em>Background Color</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBackgroundColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription backgroundColor;
+
+ /**
+ * The cached value of the '{@link #getForegroundColor() <em>Foreground Color</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getForegroundColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription foregroundColor;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = GaugeSectionDescriptionImpl.LABEL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected GaugeSectionDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.GAUGE_SECTION_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getMinValueExpression() {
+ return minValueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setMinValueExpression(String newMinValueExpression) {
+ String oldMinValueExpression = minValueExpression;
+ minValueExpression = newMinValueExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.GAUGE_SECTION_DESCRIPTION__MIN_VALUE_EXPRESSION, oldMinValueExpression, minValueExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getMaxValueExpression() {
+ return maxValueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setMaxValueExpression(String newMaxValueExpression) {
+ String oldMaxValueExpression = maxValueExpression;
+ maxValueExpression = newMaxValueExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.GAUGE_SECTION_DESCRIPTION__MAX_VALUE_EXPRESSION, oldMaxValueExpression, maxValueExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getValueExpression() {
+ return valueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValueExpression(String newValueExpression) {
+ String oldValueExpression = valueExpression;
+ valueExpression = newValueExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.GAUGE_SECTION_DESCRIPTION__VALUE_EXPRESSION, oldValueExpression, valueExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBackgroundColor() {
+ if (backgroundColor != null && backgroundColor.eIsProxy()) {
+ InternalEObject oldBackgroundColor = (InternalEObject) backgroundColor;
+ backgroundColor = (ColorDescription) eResolveProxy(oldBackgroundColor);
+ if (backgroundColor != oldBackgroundColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+ }
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBackgroundColor() {
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBackgroundColor(ColorDescription newBackgroundColor) {
+ ColorDescription oldBackgroundColor = backgroundColor;
+ backgroundColor = newBackgroundColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getForegroundColor() {
+ if (foregroundColor != null && foregroundColor.eIsProxy()) {
+ InternalEObject oldForegroundColor = (InternalEObject) foregroundColor;
+ foregroundColor = (ColorDescription) eResolveProxy(oldForegroundColor);
+ if (foregroundColor != oldForegroundColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR, oldForegroundColor, foregroundColor));
+ }
+ }
+ }
+ return foregroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetForegroundColor() {
+ return foregroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setForegroundColor(ColorDescription newForegroundColor) {
+ ColorDescription oldForegroundColor = foregroundColor;
+ foregroundColor = newForegroundColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR, oldForegroundColor, foregroundColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.GAUGE_SECTION_DESCRIPTION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__MIN_VALUE_EXPRESSION:
+ return getMinValueExpression();
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__MAX_VALUE_EXPRESSION:
+ return getMaxValueExpression();
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__VALUE_EXPRESSION:
+ return getValueExpression();
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR:
+ if (resolve) {
+ return getBackgroundColor();
+ }
+ return basicGetBackgroundColor();
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR:
+ if (resolve) {
+ return getForegroundColor();
+ }
+ return basicGetForegroundColor();
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__LABEL:
+ return getLabel();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__MIN_VALUE_EXPRESSION:
+ setMinValueExpression((String) newValue);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__MAX_VALUE_EXPRESSION:
+ setMaxValueExpression((String) newValue);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__VALUE_EXPRESSION:
+ setValueExpression((String) newValue);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) newValue);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR:
+ setForegroundColor((ColorDescription) newValue);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__LABEL:
+ setLabel((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__MIN_VALUE_EXPRESSION:
+ setMinValueExpression(GaugeSectionDescriptionImpl.MIN_VALUE_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__MAX_VALUE_EXPRESSION:
+ setMaxValueExpression(GaugeSectionDescriptionImpl.MAX_VALUE_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__VALUE_EXPRESSION:
+ setValueExpression(GaugeSectionDescriptionImpl.VALUE_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) null);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR:
+ setForegroundColor((ColorDescription) null);
+ return;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__LABEL:
+ setLabel(GaugeSectionDescriptionImpl.LABEL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__MIN_VALUE_EXPRESSION:
+ return GaugeSectionDescriptionImpl.MIN_VALUE_EXPRESSION_EDEFAULT == null ? minValueExpression != null
+ : !GaugeSectionDescriptionImpl.MIN_VALUE_EXPRESSION_EDEFAULT.equals(minValueExpression);
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__MAX_VALUE_EXPRESSION:
+ return GaugeSectionDescriptionImpl.MAX_VALUE_EXPRESSION_EDEFAULT == null ? maxValueExpression != null
+ : !GaugeSectionDescriptionImpl.MAX_VALUE_EXPRESSION_EDEFAULT.equals(maxValueExpression);
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__VALUE_EXPRESSION:
+ return GaugeSectionDescriptionImpl.VALUE_EXPRESSION_EDEFAULT == null ? valueExpression != null : !GaugeSectionDescriptionImpl.VALUE_EXPRESSION_EDEFAULT.equals(valueExpression);
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR:
+ return backgroundColor != null;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR:
+ return foregroundColor != null;
+ case StylePackage.GAUGE_SECTION_DESCRIPTION__LABEL:
+ return GaugeSectionDescriptionImpl.LABEL_EDEFAULT == null ? label != null : !GaugeSectionDescriptionImpl.LABEL_EDEFAULT.equals(label);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (minValueExpression: "); //$NON-NLS-1$
+ result.append(minValueExpression);
+ result.append(", maxValueExpression: "); //$NON-NLS-1$
+ result.append(maxValueExpression);
+ result.append(", valueExpression: "); //$NON-NLS-1$
+ result.append(valueExpression);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(')');
+ return result.toString();
+ }
+
+} // GaugeSectionDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/LozengeNodeDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/LozengeNodeDescriptionImpl.java
new file mode 100644
index 0000000000..21f052300a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/LozengeNodeDescriptionImpl.java
@@ -0,0 +1,303 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.style.LozengeNodeDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Lozenge Node Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.LozengeNodeDescriptionImpl#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.LozengeNodeDescriptionImpl#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.LozengeNodeDescriptionImpl#getColor <em>Color</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LozengeNodeDescriptionImpl extends NodeStyleDescriptionImpl implements LozengeNodeDescription {
+ /**
+ * The default value of the '{@link #getWidthComputationExpression() <em>Width Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidthComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String WIDTH_COMPUTATION_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getWidthComputationExpression() <em>Width Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidthComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String widthComputationExpression = LozengeNodeDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHeightComputationExpression() <em>Height Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeightComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHeightComputationExpression() <em>Height Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeightComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String heightComputationExpression = LozengeNodeDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription color;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LozengeNodeDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.LOZENGE_NODE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getWidthComputationExpression() {
+ return widthComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setWidthComputationExpression(String newWidthComputationExpression) {
+ String oldWidthComputationExpression = widthComputationExpression;
+ widthComputationExpression = newWidthComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.LOZENGE_NODE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION, oldWidthComputationExpression, widthComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getHeightComputationExpression() {
+ return heightComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHeightComputationExpression(String newHeightComputationExpression) {
+ String oldHeightComputationExpression = heightComputationExpression;
+ heightComputationExpression = newHeightComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.LOZENGE_NODE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION, oldHeightComputationExpression, heightComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getColor() {
+ if (color != null && color.eIsProxy()) {
+ InternalEObject oldColor = (InternalEObject) color;
+ color = (ColorDescription) eResolveProxy(oldColor);
+ if (color != oldColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.LOZENGE_NODE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+ }
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetColor() {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setColor(ColorDescription newColor) {
+ ColorDescription oldColor = color;
+ color = newColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.LOZENGE_NODE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return getWidthComputationExpression();
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return getHeightComputationExpression();
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__COLOR:
+ if (resolve) {
+ return getColor();
+ }
+ return basicGetColor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ setWidthComputationExpression((String) newValue);
+ return;
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ setHeightComputationExpression((String) newValue);
+ return;
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ setWidthComputationExpression(LozengeNodeDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ setHeightComputationExpression(LozengeNodeDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return LozengeNodeDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT == null ? widthComputationExpression != null
+ : !LozengeNodeDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT.equals(widthComputationExpression);
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return LozengeNodeDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT == null ? heightComputationExpression != null
+ : !LozengeNodeDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT.equals(heightComputationExpression);
+ case StylePackage.LOZENGE_NODE_DESCRIPTION__COLOR:
+ return color != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (widthComputationExpression: "); //$NON-NLS-1$
+ result.append(widthComputationExpression);
+ result.append(", heightComputationExpression: "); //$NON-NLS-1$
+ result.append(heightComputationExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // LozengeNodeDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/NodeStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/NodeStyleDescriptionImpl.java
new file mode 100644
index 0000000000..a8cf3b2075
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/NodeStyleDescriptionImpl.java
@@ -0,0 +1,1173 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.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.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.sirius.diagram.LabelPosition;
+import org.eclipse.sirius.diagram.LineStyle;
+import org.eclipse.sirius.diagram.ResizeKind;
+import org.eclipse.sirius.diagram.description.style.BorderedStyleDescription;
+import org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription;
+import org.eclipse.sirius.diagram.description.style.NodeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.Side;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.FontFormat;
+import org.eclipse.sirius.viewpoint.LabelAlignment;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+import org.eclipse.sirius.viewpoint.description.style.BasicLabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.LabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.TooltipStyleDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Node Style Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getBorderSizeComputationExpression
+ * <em>Border Size Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getBorderColor <em>Border
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getBorderLineStyle <em>Border
+ * Line Style</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getLabelSize <em>Label
+ * Size</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getLabelFormat <em>Label
+ * Format</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#isShowIcon <em>Show
+ * Icon</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getLabelExpression <em>Label
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getLabelColor <em>Label
+ * Color</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getIconPath <em>Icon
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getLabelAlignment <em>Label
+ * Alignment</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getTooltipExpression
+ * <em>Tooltip Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#isHideLabelByDefault <em>Hide
+ * Label By Default</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getSizeComputationExpression
+ * <em>Size Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getLabelPosition <em>Label
+ * Position</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getResizeKind <em>Resize
+ * Kind</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NodeStyleDescriptionImpl#getForbiddenSides <em>Forbidden
+ * Sides</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class NodeStyleDescriptionImpl extends MinimalEObjectImpl.Container implements NodeStyleDescription {
+
+ /**
+ * The default value of the '{@link #getBorderSizeComputationExpression() <em>Border Size Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT = "0"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getBorderSizeComputationExpression() <em>Border Size Computation
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String borderSizeComputationExpression = NodeStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBorderColor() <em>Border Color</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getBorderColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription borderColor;
+
+ /**
+ * The default value of the '{@link #getBorderLineStyle() <em>Border Line Style</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBorderLineStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final LineStyle BORDER_LINE_STYLE_EDEFAULT = LineStyle.SOLID_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getBorderLineStyle() <em>Border Line Style</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBorderLineStyle()
+ * @generated
+ * @ordered
+ */
+ protected LineStyle borderLineStyle = NodeStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabelSize() <em>Label Size</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabelSize()
+ * @generated
+ * @ordered
+ */
+ protected static final int LABEL_SIZE_EDEFAULT = 8;
+
+ /**
+ * The cached value of the '{@link #getLabelSize() <em>Label Size</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabelSize()
+ * @generated
+ * @ordered
+ */
+ protected int labelSize = NodeStyleDescriptionImpl.LABEL_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLabelFormat() <em>Label Format</em>}' attribute list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getLabelFormat()
+ * @generated
+ * @ordered
+ */
+ protected EList<FontFormat> labelFormat;
+
+ /**
+ * The default value of the '{@link #isShowIcon() <em>Show Icon</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isShowIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_ICON_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isShowIcon() <em>Show Icon</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isShowIcon()
+ * @generated
+ * @ordered
+ */
+ protected boolean showIcon = NodeStyleDescriptionImpl.SHOW_ICON_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabelExpression() <em>Label Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EXPRESSION_EDEFAULT = "feature:name"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getLabelExpression() <em>Label Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelExpression()
+ * @generated
+ * @ordered
+ */
+ protected String labelExpression = NodeStyleDescriptionImpl.LABEL_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLabelColor() <em>Label Color</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabelColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription labelColor;
+
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected String iconPath = NodeStyleDescriptionImpl.ICON_PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabelAlignment() <em>Label Alignment</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final LabelAlignment LABEL_ALIGNMENT_EDEFAULT = LabelAlignment.CENTER;
+
+ /**
+ * The cached value of the '{@link #getLabelAlignment() <em>Label Alignment</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelAlignment()
+ * @generated
+ * @ordered
+ */
+ protected LabelAlignment labelAlignment = NodeStyleDescriptionImpl.LABEL_ALIGNMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTooltipExpression() <em>Tooltip Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTooltipExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TOOLTIP_EXPRESSION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getTooltipExpression() <em>Tooltip Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTooltipExpression()
+ * @generated
+ * @ordered
+ */
+ protected String tooltipExpression = NodeStyleDescriptionImpl.TOOLTIP_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isHideLabelByDefault() <em>Hide Label By Default</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isHideLabelByDefault()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean HIDE_LABEL_BY_DEFAULT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isHideLabelByDefault() <em>Hide Label By Default</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isHideLabelByDefault()
+ * @generated
+ * @ordered
+ */
+ protected boolean hideLabelByDefault = NodeStyleDescriptionImpl.HIDE_LABEL_BY_DEFAULT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSizeComputationExpression() <em>Size Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String SIZE_COMPUTATION_EXPRESSION_EDEFAULT = "3"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getSizeComputationExpression() <em>Size Computation Expression</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSizeComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String sizeComputationExpression = NodeStyleDescriptionImpl.SIZE_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabelPosition() <em>Label Position</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getLabelPosition()
+ * @generated
+ * @ordered
+ */
+ protected static final LabelPosition LABEL_POSITION_EDEFAULT = LabelPosition.BORDER_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getLabelPosition() <em>Label Position</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getLabelPosition()
+ * @generated
+ * @ordered
+ */
+ protected LabelPosition labelPosition = NodeStyleDescriptionImpl.LABEL_POSITION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getResizeKind() <em>Resize Kind</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getResizeKind()
+ * @generated
+ * @ordered
+ */
+ protected static final ResizeKind RESIZE_KIND_EDEFAULT = ResizeKind.NONE_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getResizeKind() <em>Resize Kind</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getResizeKind()
+ * @generated
+ * @ordered
+ */
+ protected ResizeKind resizeKind = NodeStyleDescriptionImpl.RESIZE_KIND_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getForbiddenSides() <em>Forbidden Sides</em>}' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getForbiddenSides()
+ * @generated
+ * @ordered
+ */
+ protected EList<Side> forbiddenSides;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.NODE_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getBorderSizeComputationExpression() {
+ return borderSizeComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderSizeComputationExpression(String newBorderSizeComputationExpression) {
+ String oldBorderSizeComputationExpression = borderSizeComputationExpression;
+ borderSizeComputationExpression = newBorderSizeComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION, oldBorderSizeComputationExpression,
+ borderSizeComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBorderColor() {
+ if (borderColor != null && borderColor.eIsProxy()) {
+ InternalEObject oldBorderColor = (InternalEObject) borderColor;
+ borderColor = (ColorDescription) eResolveProxy(oldBorderColor);
+ if (borderColor != oldBorderColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR, oldBorderColor, borderColor));
+ }
+ }
+ }
+ return borderColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBorderColor() {
+ return borderColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderColor(ColorDescription newBorderColor) {
+ ColorDescription oldBorderColor = borderColor;
+ borderColor = newBorderColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR, oldBorderColor, borderColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LineStyle getBorderLineStyle() {
+ return borderLineStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBorderLineStyle(LineStyle newBorderLineStyle) {
+ LineStyle oldBorderLineStyle = borderLineStyle;
+ borderLineStyle = newBorderLineStyle == null ? NodeStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT : newBorderLineStyle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE, oldBorderLineStyle, borderLineStyle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getLabelSize() {
+ return labelSize;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelSize(int newLabelSize) {
+ int oldLabelSize = labelSize;
+ labelSize = newLabelSize;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE, oldLabelSize, labelSize));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<FontFormat> getLabelFormat() {
+ if (labelFormat == null) {
+ labelFormat = new EDataTypeUniqueEList<>(FontFormat.class, this, StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT);
+ }
+ return labelFormat;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowIcon() {
+ return showIcon;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowIcon(boolean newShowIcon) {
+ boolean oldShowIcon = showIcon;
+ showIcon = newShowIcon;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON, oldShowIcon, showIcon));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabelExpression() {
+ return labelExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelExpression(String newLabelExpression) {
+ String oldLabelExpression = labelExpression;
+ labelExpression = newLabelExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION, oldLabelExpression, labelExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getLabelColor() {
+ if (labelColor != null && labelColor.eIsProxy()) {
+ InternalEObject oldLabelColor = (InternalEObject) labelColor;
+ labelColor = (ColorDescription) eResolveProxy(oldLabelColor);
+ if (labelColor != oldLabelColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR, oldLabelColor, labelColor));
+ }
+ }
+ }
+ return labelColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetLabelColor() {
+ return labelColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelColor(ColorDescription newLabelColor) {
+ ColorDescription oldLabelColor = labelColor;
+ labelColor = newLabelColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR, oldLabelColor, labelColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getIconPath() {
+ return iconPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIconPath(String newIconPath) {
+ String oldIconPath = iconPath;
+ iconPath = newIconPath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH, oldIconPath, iconPath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LabelAlignment getLabelAlignment() {
+ return labelAlignment;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelAlignment(LabelAlignment newLabelAlignment) {
+ LabelAlignment oldLabelAlignment = labelAlignment;
+ labelAlignment = newLabelAlignment == null ? NodeStyleDescriptionImpl.LABEL_ALIGNMENT_EDEFAULT : newLabelAlignment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT, oldLabelAlignment, labelAlignment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTooltipExpression() {
+ return tooltipExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTooltipExpression(String newTooltipExpression) {
+ String oldTooltipExpression = tooltipExpression;
+ tooltipExpression = newTooltipExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION, oldTooltipExpression, tooltipExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSizeComputationExpression() {
+ return sizeComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSizeComputationExpression(String newSizeComputationExpression) {
+ String oldSizeComputationExpression = sizeComputationExpression;
+ sizeComputationExpression = newSizeComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION, oldSizeComputationExpression, sizeComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LabelPosition getLabelPosition() {
+ return labelPosition;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelPosition(LabelPosition newLabelPosition) {
+ LabelPosition oldLabelPosition = labelPosition;
+ labelPosition = newLabelPosition == null ? NodeStyleDescriptionImpl.LABEL_POSITION_EDEFAULT : newLabelPosition;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION, oldLabelPosition, labelPosition));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isHideLabelByDefault() {
+ return hideLabelByDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHideLabelByDefault(boolean newHideLabelByDefault) {
+ boolean oldHideLabelByDefault = hideLabelByDefault;
+ hideLabelByDefault = newHideLabelByDefault;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT, oldHideLabelByDefault, hideLabelByDefault));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResizeKind getResizeKind() {
+ return resizeKind;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setResizeKind(ResizeKind newResizeKind) {
+ ResizeKind oldResizeKind = resizeKind;
+ resizeKind = newResizeKind == null ? NodeStyleDescriptionImpl.RESIZE_KIND_EDEFAULT : newResizeKind;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND, oldResizeKind, resizeKind));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<Side> getForbiddenSides() {
+ if (forbiddenSides == null) {
+ forbiddenSides = new EDataTypeUniqueEList<>(Side.class, this, StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES);
+ }
+ return forbiddenSides;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return getBorderSizeComputationExpression();
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR:
+ if (resolve) {
+ return getBorderColor();
+ }
+ return basicGetBorderColor();
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return getBorderLineStyle();
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE:
+ return getLabelSize();
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT:
+ return getLabelFormat();
+ case StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON:
+ return isShowIcon();
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ return getLabelExpression();
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR:
+ if (resolve) {
+ return getLabelColor();
+ }
+ return basicGetLabelColor();
+ case StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH:
+ return getIconPath();
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ return getLabelAlignment();
+ case StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ return getTooltipExpression();
+ case StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ return isHideLabelByDefault();
+ case StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION:
+ return getSizeComputationExpression();
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION:
+ return getLabelPosition();
+ case StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND:
+ return getResizeKind();
+ case StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES:
+ return getForbiddenSides();
+ }
+ 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 StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ setBorderSizeComputationExpression((String) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR:
+ setBorderColor((ColorDescription) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ setBorderLineStyle((LineStyle) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE:
+ setLabelSize((Integer) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT:
+ getLabelFormat().clear();
+ getLabelFormat().addAll((Collection<? extends FontFormat>) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON:
+ setShowIcon((Boolean) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ setLabelExpression((String) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR:
+ setLabelColor((ColorDescription) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH:
+ setIconPath((String) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ setLabelAlignment((LabelAlignment) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ setTooltipExpression((String) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ setHideLabelByDefault((Boolean) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION:
+ setSizeComputationExpression((String) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION:
+ setLabelPosition((LabelPosition) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND:
+ setResizeKind((ResizeKind) newValue);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES:
+ getForbiddenSides().clear();
+ getForbiddenSides().addAll((Collection<? extends Side>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ setBorderSizeComputationExpression(NodeStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR:
+ setBorderColor((ColorDescription) null);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ setBorderLineStyle(NodeStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE:
+ setLabelSize(NodeStyleDescriptionImpl.LABEL_SIZE_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT:
+ getLabelFormat().clear();
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON:
+ setShowIcon(NodeStyleDescriptionImpl.SHOW_ICON_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ setLabelExpression(NodeStyleDescriptionImpl.LABEL_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR:
+ setLabelColor((ColorDescription) null);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH:
+ setIconPath(NodeStyleDescriptionImpl.ICON_PATH_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ setLabelAlignment(NodeStyleDescriptionImpl.LABEL_ALIGNMENT_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ setTooltipExpression(NodeStyleDescriptionImpl.TOOLTIP_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ setHideLabelByDefault(NodeStyleDescriptionImpl.HIDE_LABEL_BY_DEFAULT_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION:
+ setSizeComputationExpression(NodeStyleDescriptionImpl.SIZE_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION:
+ setLabelPosition(NodeStyleDescriptionImpl.LABEL_POSITION_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND:
+ setResizeKind(NodeStyleDescriptionImpl.RESIZE_KIND_EDEFAULT);
+ return;
+ case StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES:
+ getForbiddenSides().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return NodeStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT == null ? borderSizeComputationExpression != null
+ : !NodeStyleDescriptionImpl.BORDER_SIZE_COMPUTATION_EXPRESSION_EDEFAULT.equals(borderSizeComputationExpression);
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR:
+ return borderColor != null;
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return borderLineStyle != NodeStyleDescriptionImpl.BORDER_LINE_STYLE_EDEFAULT;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE:
+ return labelSize != NodeStyleDescriptionImpl.LABEL_SIZE_EDEFAULT;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT:
+ return labelFormat != null && !labelFormat.isEmpty();
+ case StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON:
+ return showIcon != NodeStyleDescriptionImpl.SHOW_ICON_EDEFAULT;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ return NodeStyleDescriptionImpl.LABEL_EXPRESSION_EDEFAULT == null ? labelExpression != null : !NodeStyleDescriptionImpl.LABEL_EXPRESSION_EDEFAULT.equals(labelExpression);
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR:
+ return labelColor != null;
+ case StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH:
+ return NodeStyleDescriptionImpl.ICON_PATH_EDEFAULT == null ? iconPath != null : !NodeStyleDescriptionImpl.ICON_PATH_EDEFAULT.equals(iconPath);
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ return labelAlignment != NodeStyleDescriptionImpl.LABEL_ALIGNMENT_EDEFAULT;
+ case StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ return NodeStyleDescriptionImpl.TOOLTIP_EXPRESSION_EDEFAULT == null ? tooltipExpression != null : !NodeStyleDescriptionImpl.TOOLTIP_EXPRESSION_EDEFAULT.equals(tooltipExpression);
+ case StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ return hideLabelByDefault != NodeStyleDescriptionImpl.HIDE_LABEL_BY_DEFAULT_EDEFAULT;
+ case StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION:
+ return NodeStyleDescriptionImpl.SIZE_COMPUTATION_EXPRESSION_EDEFAULT == null ? sizeComputationExpression != null
+ : !NodeStyleDescriptionImpl.SIZE_COMPUTATION_EXPRESSION_EDEFAULT.equals(sizeComputationExpression);
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION:
+ return labelPosition != NodeStyleDescriptionImpl.LABEL_POSITION_EDEFAULT;
+ case StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND:
+ return resizeKind != NodeStyleDescriptionImpl.RESIZE_KIND_EDEFAULT;
+ case StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES:
+ return forbiddenSides != null && !forbiddenSides.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == BorderedStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR:
+ return StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR;
+ case StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == BasicLabelStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_SIZE;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT;
+ case StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__SHOW_ICON;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_COLOR;
+ case StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__ICON_PATH;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == LabelStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.LABEL_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == TooltipStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ return org.eclipse.sirius.viewpoint.description.style.StylePackage.TOOLTIP_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == HideLabelCapabilityStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ return StylePackage.HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == BorderedStyleDescription.class) {
+ switch (baseFeatureID) {
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION:
+ return StylePackage.NODE_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR:
+ return StylePackage.NODE_STYLE_DESCRIPTION__BORDER_COLOR;
+ case StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE:
+ return StylePackage.NODE_STYLE_DESCRIPTION__BORDER_LINE_STYLE;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == BasicLabelStyleDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_SIZE:
+ return StylePackage.NODE_STYLE_DESCRIPTION__LABEL_SIZE;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_FORMAT:
+ return StylePackage.NODE_STYLE_DESCRIPTION__LABEL_FORMAT;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__SHOW_ICON:
+ return StylePackage.NODE_STYLE_DESCRIPTION__SHOW_ICON;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_EXPRESSION:
+ return StylePackage.NODE_STYLE_DESCRIPTION__LABEL_EXPRESSION;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__LABEL_COLOR:
+ return StylePackage.NODE_STYLE_DESCRIPTION__LABEL_COLOR;
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.BASIC_LABEL_STYLE_DESCRIPTION__ICON_PATH:
+ return StylePackage.NODE_STYLE_DESCRIPTION__ICON_PATH;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == LabelStyleDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.LABEL_STYLE_DESCRIPTION__LABEL_ALIGNMENT:
+ return StylePackage.NODE_STYLE_DESCRIPTION__LABEL_ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == TooltipStyleDescription.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.style.StylePackage.TOOLTIP_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION:
+ return StylePackage.NODE_STYLE_DESCRIPTION__TOOLTIP_EXPRESSION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == HideLabelCapabilityStyleDescription.class) {
+ switch (baseFeatureID) {
+ case StylePackage.HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT:
+ return StylePackage.NODE_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (borderSizeComputationExpression: "); //$NON-NLS-1$
+ result.append(borderSizeComputationExpression);
+ result.append(", borderLineStyle: "); //$NON-NLS-1$
+ result.append(borderLineStyle);
+ result.append(", labelSize: "); //$NON-NLS-1$
+ result.append(labelSize);
+ result.append(", labelFormat: "); //$NON-NLS-1$
+ result.append(labelFormat);
+ result.append(", showIcon: "); //$NON-NLS-1$
+ result.append(showIcon);
+ result.append(", labelExpression: "); //$NON-NLS-1$
+ result.append(labelExpression);
+ result.append(", iconPath: "); //$NON-NLS-1$
+ result.append(iconPath);
+ result.append(", labelAlignment: "); //$NON-NLS-1$
+ result.append(labelAlignment);
+ result.append(", tooltipExpression: "); //$NON-NLS-1$
+ result.append(tooltipExpression);
+ result.append(", hideLabelByDefault: "); //$NON-NLS-1$
+ result.append(hideLabelByDefault);
+ result.append(", sizeComputationExpression: "); //$NON-NLS-1$
+ result.append(sizeComputationExpression);
+ result.append(", labelPosition: "); //$NON-NLS-1$
+ result.append(labelPosition);
+ result.append(", resizeKind: "); //$NON-NLS-1$
+ result.append(resizeKind);
+ result.append(", forbiddenSides: "); //$NON-NLS-1$
+ result.append(forbiddenSides);
+ result.append(')');
+ return result.toString();
+ }
+} // NodeStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/NoteDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/NoteDescriptionImpl.java
new file mode 100644
index 0000000000..9a798718a8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/NoteDescriptionImpl.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.style.NoteDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Note Description</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.NoteDescriptionImpl#getColor <em>Color</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NoteDescriptionImpl extends NodeStyleDescriptionImpl implements NoteDescription {
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription color;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NoteDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.NOTE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getColor() {
+ if (color != null && color.eIsProxy()) {
+ InternalEObject oldColor = (InternalEObject) color;
+ color = (ColorDescription) eResolveProxy(oldColor);
+ if (color != oldColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.NOTE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+ }
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetColor() {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setColor(ColorDescription newColor) {
+ ColorDescription oldColor = color;
+ color = newColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.NOTE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.NOTE_DESCRIPTION__COLOR:
+ if (resolve) {
+ return getColor();
+ }
+ return basicGetColor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.NOTE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.NOTE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.NOTE_DESCRIPTION__COLOR:
+ return color != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // NoteDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/RoundedCornerStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/RoundedCornerStyleDescriptionImpl.java
new file mode 100644
index 0000000000..63c99a30b2
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/RoundedCornerStyleDescriptionImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.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.sirius.diagram.description.style.RoundedCornerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Rounded Corner Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.RoundedCornerStyleDescriptionImpl#getArcWidth <em>Arc
+ * Width</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.RoundedCornerStyleDescriptionImpl#getArcHeight <em>Arc
+ * Height</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class RoundedCornerStyleDescriptionImpl extends MinimalEObjectImpl.Container implements RoundedCornerStyleDescription {
+ /**
+ * The default value of the '{@link #getArcWidth() <em>Arc Width</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getArcWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer ARC_WIDTH_EDEFAULT = new Integer(10);
+
+ /**
+ * The cached value of the '{@link #getArcWidth() <em>Arc Width</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getArcWidth()
+ * @generated
+ * @ordered
+ */
+ protected Integer arcWidth = RoundedCornerStyleDescriptionImpl.ARC_WIDTH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArcHeight() <em>Arc Height</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getArcHeight()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer ARC_HEIGHT_EDEFAULT = new Integer(10);
+
+ /**
+ * The cached value of the '{@link #getArcHeight() <em>Arc Height</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getArcHeight()
+ * @generated
+ * @ordered
+ */
+ protected Integer arcHeight = RoundedCornerStyleDescriptionImpl.ARC_HEIGHT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RoundedCornerStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.ROUNDED_CORNER_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Integer getArcWidth() {
+ return arcWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setArcWidth(Integer newArcWidth) {
+ Integer oldArcWidth = arcWidth;
+ arcWidth = newArcWidth;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH, oldArcWidth, arcWidth));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Integer getArcHeight() {
+ return arcHeight;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setArcHeight(Integer newArcHeight) {
+ Integer oldArcHeight = arcHeight;
+ arcHeight = newArcHeight;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT, oldArcHeight, arcHeight));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH:
+ return getArcWidth();
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT:
+ return getArcHeight();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH:
+ setArcWidth((Integer) newValue);
+ return;
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT:
+ setArcHeight((Integer) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH:
+ setArcWidth(RoundedCornerStyleDescriptionImpl.ARC_WIDTH_EDEFAULT);
+ return;
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT:
+ setArcHeight(RoundedCornerStyleDescriptionImpl.ARC_HEIGHT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH:
+ return RoundedCornerStyleDescriptionImpl.ARC_WIDTH_EDEFAULT == null ? arcWidth != null : !RoundedCornerStyleDescriptionImpl.ARC_WIDTH_EDEFAULT.equals(arcWidth);
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT:
+ return RoundedCornerStyleDescriptionImpl.ARC_HEIGHT_EDEFAULT == null ? arcHeight != null : !RoundedCornerStyleDescriptionImpl.ARC_HEIGHT_EDEFAULT.equals(arcHeight);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (arcWidth: "); //$NON-NLS-1$
+ result.append(arcWidth);
+ result.append(", arcHeight: "); //$NON-NLS-1$
+ result.append(arcHeight);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RoundedCornerStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/ShapeContainerStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/ShapeContainerStyleDescriptionImpl.java
new file mode 100644
index 0000000000..f408d8dbe2
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/ShapeContainerStyleDescriptionImpl.java
@@ -0,0 +1,406 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.ContainerShape;
+import org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Shape Container Style Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ShapeContainerStyleDescriptionImpl#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ShapeContainerStyleDescriptionImpl#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ShapeContainerStyleDescriptionImpl#getShape
+ * <em>Shape</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.ShapeContainerStyleDescriptionImpl#getBackgroundColor
+ * <em>Background Color</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ShapeContainerStyleDescriptionImpl extends ContainerStyleDescriptionImpl implements ShapeContainerStyleDescription {
+ /**
+ * The default value of the '{@link #getWidthComputationExpression() <em>Width Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidthComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String WIDTH_COMPUTATION_EXPRESSION_EDEFAULT = "-1"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getWidthComputationExpression() <em>Width Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidthComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String widthComputationExpression = ShapeContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHeightComputationExpression() <em>Height Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeightComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT = "-1"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getHeightComputationExpression() <em>Height Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeightComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String heightComputationExpression = ShapeContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShape() <em>Shape</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getShape()
+ * @generated
+ * @ordered
+ */
+ protected static final ContainerShape SHAPE_EDEFAULT = ContainerShape.PARALLELOGRAM_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getShape() <em>Shape</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getShape()
+ * @generated
+ * @ordered
+ */
+ protected ContainerShape shape = ShapeContainerStyleDescriptionImpl.SHAPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBackgroundColor() <em>Background Color</em>}' reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getBackgroundColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription backgroundColor;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ShapeContainerStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.SHAPE_CONTAINER_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getWidthComputationExpression() {
+ return widthComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setWidthComputationExpression(String newWidthComputationExpression) {
+ String oldWidthComputationExpression = widthComputationExpression;
+ widthComputationExpression = newWidthComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION, oldWidthComputationExpression,
+ widthComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getHeightComputationExpression() {
+ return heightComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHeightComputationExpression(String newHeightComputationExpression) {
+ String oldHeightComputationExpression = heightComputationExpression;
+ heightComputationExpression = newHeightComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION, oldHeightComputationExpression,
+ heightComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerShape getShape() {
+ return shape;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShape(ContainerShape newShape) {
+ ContainerShape oldShape = shape;
+ shape = newShape == null ? ShapeContainerStyleDescriptionImpl.SHAPE_EDEFAULT : newShape;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__SHAPE, oldShape, shape));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getBackgroundColor() {
+ if (backgroundColor != null && backgroundColor.eIsProxy()) {
+ InternalEObject oldBackgroundColor = (InternalEObject) backgroundColor;
+ backgroundColor = (ColorDescription) eResolveProxy(oldBackgroundColor);
+ if (backgroundColor != oldBackgroundColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+ }
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetBackgroundColor() {
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBackgroundColor(ColorDescription newBackgroundColor) {
+ ColorDescription oldBackgroundColor = backgroundColor;
+ backgroundColor = newBackgroundColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR, oldBackgroundColor, backgroundColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return getWidthComputationExpression();
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return getHeightComputationExpression();
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__SHAPE:
+ return getShape();
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR:
+ if (resolve) {
+ return getBackgroundColor();
+ }
+ return basicGetBackgroundColor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ setWidthComputationExpression((String) newValue);
+ return;
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ setHeightComputationExpression((String) newValue);
+ return;
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__SHAPE:
+ setShape((ContainerShape) newValue);
+ return;
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ setWidthComputationExpression(ShapeContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ setHeightComputationExpression(ShapeContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__SHAPE:
+ setShape(ShapeContainerStyleDescriptionImpl.SHAPE_EDEFAULT);
+ return;
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR:
+ setBackgroundColor((ColorDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return ShapeContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT == null ? widthComputationExpression != null
+ : !ShapeContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT.equals(widthComputationExpression);
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return ShapeContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT == null ? heightComputationExpression != null
+ : !ShapeContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT.equals(heightComputationExpression);
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__SHAPE:
+ return shape != ShapeContainerStyleDescriptionImpl.SHAPE_EDEFAULT;
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR:
+ return backgroundColor != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == SizeComputationContainerStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION;
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == SizeComputationContainerStyleDescription.class) {
+ switch (baseFeatureID) {
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION;
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (widthComputationExpression: "); //$NON-NLS-1$
+ result.append(widthComputationExpression);
+ result.append(", heightComputationExpression: "); //$NON-NLS-1$
+ result.append(heightComputationExpression);
+ result.append(", shape: "); //$NON-NLS-1$
+ result.append(shape);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ShapeContainerStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/SizeComputationContainerStyleDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/SizeComputationContainerStyleDescriptionImpl.java
new file mode 100644
index 0000000000..fa542768bb
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/SizeComputationContainerStyleDescriptionImpl.java
@@ -0,0 +1,238 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.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.sirius.diagram.description.style.SizeComputationContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Size Computation Container Style
+ * Description</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.SizeComputationContainerStyleDescriptionImpl#getWidthComputationExpression
+ * <em>Width Computation Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.SizeComputationContainerStyleDescriptionImpl#getHeightComputationExpression
+ * <em>Height Computation Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class SizeComputationContainerStyleDescriptionImpl extends MinimalEObjectImpl.Container implements SizeComputationContainerStyleDescription {
+ /**
+ * The default value of the '{@link #getWidthComputationExpression() <em>Width Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidthComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String WIDTH_COMPUTATION_EXPRESSION_EDEFAULT = "-1"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getWidthComputationExpression() <em>Width Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidthComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String widthComputationExpression = SizeComputationContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHeightComputationExpression() <em>Height Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeightComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT = "-1"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getHeightComputationExpression() <em>Height Computation Expression</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeightComputationExpression()
+ * @generated
+ * @ordered
+ */
+ protected String heightComputationExpression = SizeComputationContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SizeComputationContainerStyleDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getWidthComputationExpression() {
+ return widthComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setWidthComputationExpression(String newWidthComputationExpression) {
+ String oldWidthComputationExpression = widthComputationExpression;
+ widthComputationExpression = newWidthComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION, oldWidthComputationExpression,
+ widthComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getHeightComputationExpression() {
+ return heightComputationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHeightComputationExpression(String newHeightComputationExpression) {
+ String oldHeightComputationExpression = heightComputationExpression;
+ heightComputationExpression = newHeightComputationExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION, oldHeightComputationExpression,
+ heightComputationExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return getWidthComputationExpression();
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return getHeightComputationExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ setWidthComputationExpression((String) newValue);
+ return;
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ setHeightComputationExpression((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ setWidthComputationExpression(SizeComputationContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ setHeightComputationExpression(SizeComputationContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION:
+ return SizeComputationContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT == null ? widthComputationExpression != null
+ : !SizeComputationContainerStyleDescriptionImpl.WIDTH_COMPUTATION_EXPRESSION_EDEFAULT.equals(widthComputationExpression);
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION:
+ return SizeComputationContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT == null ? heightComputationExpression != null
+ : !SizeComputationContainerStyleDescriptionImpl.HEIGHT_COMPUTATION_EXPRESSION_EDEFAULT.equals(heightComputationExpression);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (widthComputationExpression: "); //$NON-NLS-1$
+ result.append(widthComputationExpression);
+ result.append(", heightComputationExpression: "); //$NON-NLS-1$
+ result.append(heightComputationExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SizeComputationContainerStyleDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/SquareDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/SquareDescriptionImpl.java
new file mode 100644
index 0000000000..14ffa972e1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/SquareDescriptionImpl.java
@@ -0,0 +1,299 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.style.SquareDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.viewpoint.description.ColorDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Square Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.SquareDescriptionImpl#getWidth <em>Width</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.SquareDescriptionImpl#getHeight <em>Height</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.SquareDescriptionImpl#getColor <em>Color</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SquareDescriptionImpl extends NodeStyleDescriptionImpl implements SquareDescription {
+ /**
+ * The default value of the '{@link #getWidth() <em>Width</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer WIDTH_EDEFAULT = new Integer(0);
+
+ /**
+ * The cached value of the '{@link #getWidth() <em>Width</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected Integer width = SquareDescriptionImpl.WIDTH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHeight() <em>Height</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getHeight()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer HEIGHT_EDEFAULT = new Integer(0);
+
+ /**
+ * The cached value of the '{@link #getHeight() <em>Height</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getHeight()
+ * @generated
+ * @ordered
+ */
+ protected Integer height = SquareDescriptionImpl.HEIGHT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected ColorDescription color;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SquareDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.SQUARE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Integer getWidth() {
+ return width;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setWidth(Integer newWidth) {
+ Integer oldWidth = width;
+ width = newWidth;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SQUARE_DESCRIPTION__WIDTH, oldWidth, width));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Integer getHeight() {
+ return height;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHeight(Integer newHeight) {
+ Integer oldHeight = height;
+ height = newHeight;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SQUARE_DESCRIPTION__HEIGHT, oldHeight, height));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ColorDescription getColor() {
+ if (color != null && color.eIsProxy()) {
+ InternalEObject oldColor = (InternalEObject) color;
+ color = (ColorDescription) eResolveProxy(oldColor);
+ if (color != oldColor) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StylePackage.SQUARE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+ }
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ColorDescription basicGetColor() {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setColor(ColorDescription newColor) {
+ ColorDescription oldColor = color;
+ color = newColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.SQUARE_DESCRIPTION__COLOR, oldColor, color));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.SQUARE_DESCRIPTION__WIDTH:
+ return getWidth();
+ case StylePackage.SQUARE_DESCRIPTION__HEIGHT:
+ return getHeight();
+ case StylePackage.SQUARE_DESCRIPTION__COLOR:
+ if (resolve) {
+ return getColor();
+ }
+ return basicGetColor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.SQUARE_DESCRIPTION__WIDTH:
+ setWidth((Integer) newValue);
+ return;
+ case StylePackage.SQUARE_DESCRIPTION__HEIGHT:
+ setHeight((Integer) newValue);
+ return;
+ case StylePackage.SQUARE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.SQUARE_DESCRIPTION__WIDTH:
+ setWidth(SquareDescriptionImpl.WIDTH_EDEFAULT);
+ return;
+ case StylePackage.SQUARE_DESCRIPTION__HEIGHT:
+ setHeight(SquareDescriptionImpl.HEIGHT_EDEFAULT);
+ return;
+ case StylePackage.SQUARE_DESCRIPTION__COLOR:
+ setColor((ColorDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.SQUARE_DESCRIPTION__WIDTH:
+ return SquareDescriptionImpl.WIDTH_EDEFAULT == null ? width != null : !SquareDescriptionImpl.WIDTH_EDEFAULT.equals(width);
+ case StylePackage.SQUARE_DESCRIPTION__HEIGHT:
+ return SquareDescriptionImpl.HEIGHT_EDEFAULT == null ? height != null : !SquareDescriptionImpl.HEIGHT_EDEFAULT.equals(height);
+ case StylePackage.SQUARE_DESCRIPTION__COLOR:
+ return color != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (width: "); //$NON-NLS-1$
+ result.append(width);
+ result.append(", height: "); //$NON-NLS-1$
+ result.append(height);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SquareDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/StyleFactoryImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/StyleFactoryImpl.java
new file mode 100644
index 0000000000..f84f5a4989
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/StyleFactoryImpl.java
@@ -0,0 +1,418 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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.sirius.diagram.description.style.BeginLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BorderedStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BracketEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BundledImageDescription;
+import org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.CustomStyleDescription;
+import org.eclipse.sirius.diagram.description.style.DotDescription;
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.EllipseNodeDescription;
+import org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeSectionDescription;
+import org.eclipse.sirius.diagram.description.style.LozengeNodeDescription;
+import org.eclipse.sirius.diagram.description.style.NoteDescription;
+import org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.Side;
+import org.eclipse.sirius.diagram.description.style.SquareDescription;
+import org.eclipse.sirius.diagram.description.style.StyleFactory;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription;
+import org.eclipse.sirius.diagram.model.business.internal.color.DiagramDefaultColorStyleDescription;
+import org.eclipse.sirius.diagram.model.business.internal.description.style.spec.BeginLabelStyleDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.style.spec.CenterLabelStyleDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.style.spec.EndLabelStyleDescriptionSpec;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class StyleFactoryImpl extends EFactoryImpl implements StyleFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static StyleFactory init() {
+ try {
+ StyleFactory theStyleFactory = (StyleFactory) EPackage.Registry.INSTANCE.getEFactory(StylePackage.eNS_URI);
+ if (theStyleFactory != null) {
+ return theStyleFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new StyleFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StyleFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case StylePackage.BORDERED_STYLE_DESCRIPTION:
+ return createBorderedStyleDescription();
+ case StylePackage.CUSTOM_STYLE_DESCRIPTION:
+ return createCustomStyleDescription();
+ case StylePackage.SQUARE_DESCRIPTION:
+ return createSquareDescription();
+ case StylePackage.LOZENGE_NODE_DESCRIPTION:
+ return createLozengeNodeDescription();
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION:
+ return createEllipseNodeDescription();
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION:
+ return createBundledImageDescription();
+ case StylePackage.NOTE_DESCRIPTION:
+ return createNoteDescription();
+ case StylePackage.DOT_DESCRIPTION:
+ return createDotDescription();
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION:
+ return createGaugeCompositeStyleDescription();
+ case StylePackage.GAUGE_SECTION_DESCRIPTION:
+ return createGaugeSectionDescription();
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION:
+ return createFlatContainerStyleDescription();
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION:
+ return createShapeContainerStyleDescription();
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION:
+ return createWorkspaceImageDescription();
+ case StylePackage.EDGE_STYLE_DESCRIPTION:
+ return createEdgeStyleDescription();
+ case StylePackage.BEGIN_LABEL_STYLE_DESCRIPTION:
+ return createBeginLabelStyleDescription();
+ case StylePackage.CENTER_LABEL_STYLE_DESCRIPTION:
+ return createCenterLabelStyleDescription();
+ case StylePackage.END_LABEL_STYLE_DESCRIPTION:
+ return createEndLabelStyleDescription();
+ case StylePackage.BRACKET_EDGE_STYLE_DESCRIPTION:
+ return createBracketEdgeStyleDescription();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case StylePackage.SIDE:
+ return createSideFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case StylePackage.SIDE:
+ return convertSideToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public BorderedStyleDescription createBorderedStyleDescription() {
+ BorderedStyleDescriptionImpl borderedStyleDescription = new BorderedStyleDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(borderedStyleDescription);
+ return borderedStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public CustomStyleDescription createCustomStyleDescription() {
+ CustomStyleDescriptionImpl customStyleDescription = new CustomStyleDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(customStyleDescription);
+ return customStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public SquareDescription createSquareDescription() {
+ SquareDescriptionImpl squareDescription = new SquareDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(squareDescription);
+ return squareDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public LozengeNodeDescription createLozengeNodeDescription() {
+ LozengeNodeDescriptionImpl lozengeNodeDescription = new LozengeNodeDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(lozengeNodeDescription);
+ return lozengeNodeDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public EllipseNodeDescription createEllipseNodeDescription() {
+ EllipseNodeDescriptionImpl ellipseNodeDescription = new EllipseNodeDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(ellipseNodeDescription);
+ return ellipseNodeDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public BundledImageDescription createBundledImageDescription() {
+ BundledImageDescriptionImpl bundledImageDescription = new BundledImageDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(bundledImageDescription);
+ return bundledImageDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public NoteDescription createNoteDescription() {
+ NoteDescriptionImpl noteDescription = new NoteDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(noteDescription);
+ return noteDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public DotDescription createDotDescription() {
+ DotDescriptionImpl dotDescription = new DotDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(dotDescription);
+ return dotDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public GaugeCompositeStyleDescription createGaugeCompositeStyleDescription() {
+ GaugeCompositeStyleDescriptionImpl gaugeCompositeStyleDescription = new GaugeCompositeStyleDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(gaugeCompositeStyleDescription);
+ return gaugeCompositeStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public GaugeSectionDescription createGaugeSectionDescription() {
+ GaugeSectionDescriptionImpl gaugeSectionDescription = new GaugeSectionDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(gaugeSectionDescription);
+ return gaugeSectionDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public FlatContainerStyleDescription createFlatContainerStyleDescription() {
+ FlatContainerStyleDescriptionImpl flatContainerStyleDescription = new FlatContainerStyleDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(flatContainerStyleDescription);
+ return flatContainerStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public ShapeContainerStyleDescription createShapeContainerStyleDescription() {
+ ShapeContainerStyleDescriptionImpl shapeContainerStyleDescription = new ShapeContainerStyleDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(shapeContainerStyleDescription);
+ return shapeContainerStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public WorkspaceImageDescription createWorkspaceImageDescription() {
+ WorkspaceImageDescriptionImpl workspaceImageDescription = new WorkspaceImageDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(workspaceImageDescription);
+ return workspaceImageDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public EdgeStyleDescription createEdgeStyleDescription() {
+ EdgeStyleDescriptionImpl edgeStyleDescription = new EdgeStyleDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(edgeStyleDescription);
+ return edgeStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public BeginLabelStyleDescription createBeginLabelStyleDescription() {
+ BeginLabelStyleDescriptionImpl beginLabelStyleDescription = new BeginLabelStyleDescriptionSpec();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(beginLabelStyleDescription);
+ return beginLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public CenterLabelStyleDescription createCenterLabelStyleDescription() {
+ CenterLabelStyleDescriptionImpl centerLabelStyleDescription = new CenterLabelStyleDescriptionSpec();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(centerLabelStyleDescription);
+ return centerLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public EndLabelStyleDescription createEndLabelStyleDescription() {
+ EndLabelStyleDescriptionImpl endLabelStyleDescription = new EndLabelStyleDescriptionSpec();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(endLabelStyleDescription);
+ return endLabelStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public BracketEdgeStyleDescription createBracketEdgeStyleDescription() {
+ BracketEdgeStyleDescriptionImpl bracketEdgeStyleDescription = new BracketEdgeStyleDescriptionImpl();
+ new DiagramDefaultColorStyleDescription().setDefaultColors(bracketEdgeStyleDescription);
+ return bracketEdgeStyleDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Side createSideFromString(EDataType eDataType, String initialValue) {
+ Side result = Side.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertSideToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public StylePackage getStylePackage() {
+ return (StylePackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static StylePackage getPackage() {
+ return StylePackage.eINSTANCE;
+ }
+
+} // StyleFactoryImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/StylePackageImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/StylePackageImpl.java
new file mode 100644
index 0000000000..3c5db116fa
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/StylePackageImpl.java
@@ -0,0 +1,1644 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.sirius.diagram.DiagramPackage;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl;
+import org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl;
+import org.eclipse.sirius.diagram.description.style.BeginLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BorderedStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BracketEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BundledImageDescription;
+import org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.CustomStyleDescription;
+import org.eclipse.sirius.diagram.description.style.DotDescription;
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.EllipseNodeDescription;
+import org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeSectionDescription;
+import org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription;
+import org.eclipse.sirius.diagram.description.style.LozengeNodeDescription;
+import org.eclipse.sirius.diagram.description.style.NodeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.NoteDescription;
+import org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.Side;
+import org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.SquareDescription;
+import org.eclipse.sirius.diagram.description.style.StyleFactory;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl;
+import org.eclipse.sirius.diagram.impl.DiagramPackageImpl;
+import org.eclipse.sirius.viewpoint.ViewpointPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class StylePackageImpl extends EPackageImpl implements StylePackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass borderedStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nodeStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass customStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass squareDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass lozengeNodeDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass ellipseNodeDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass bundledImageDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass noteDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass dotDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass gaugeCompositeStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass gaugeSectionDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sizeComputationContainerStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass roundedCornerStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass containerStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass flatContainerStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass shapeContainerStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass workspaceImageDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass edgeStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass beginLabelStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass centerLabelStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass endLabelStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass bracketEdgeStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass hideLabelCapabilityStyleDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum sideEEnum = 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.sirius.diagram.description.style.StylePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private StylePackageImpl() {
+ super(StylePackage.eNS_URI, StyleFactory.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 StylePackage#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 StylePackage init() {
+ if (StylePackageImpl.isInited) {
+ return (StylePackage) EPackage.Registry.INSTANCE.getEPackage(StylePackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ Object registeredStylePackage = EPackage.Registry.INSTANCE.get(StylePackage.eNS_URI);
+ StylePackageImpl theStylePackage = registeredStylePackage instanceof StylePackageImpl ? (StylePackageImpl) registeredStylePackage : new StylePackageImpl();
+
+ StylePackageImpl.isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ ViewpointPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DiagramPackage.eNS_URI);
+ DiagramPackageImpl theDiagramPackage = (DiagramPackageImpl) (registeredPackage instanceof DiagramPackageImpl ? registeredPackage : DiagramPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+ DescriptionPackageImpl theDescriptionPackage = (DescriptionPackageImpl) (registeredPackage instanceof DescriptionPackageImpl ? registeredPackage : DescriptionPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ToolPackage.eNS_URI);
+ ToolPackageImpl theToolPackage = (ToolPackageImpl) (registeredPackage instanceof ToolPackageImpl ? registeredPackage : ToolPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(FilterPackage.eNS_URI);
+ FilterPackageImpl theFilterPackage = (FilterPackageImpl) (registeredPackage instanceof FilterPackageImpl ? registeredPackage : FilterPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConcernPackage.eNS_URI);
+ ConcernPackageImpl theConcernPackage = (ConcernPackageImpl) (registeredPackage instanceof ConcernPackageImpl ? registeredPackage : ConcernPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theStylePackage.createPackageContents();
+ theDiagramPackage.createPackageContents();
+ theDescriptionPackage.createPackageContents();
+ theToolPackage.createPackageContents();
+ theFilterPackage.createPackageContents();
+ theConcernPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theStylePackage.initializePackageContents();
+ theDiagramPackage.initializePackageContents();
+ theDescriptionPackage.initializePackageContents();
+ theToolPackage.initializePackageContents();
+ theFilterPackage.initializePackageContents();
+ theConcernPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theStylePackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(StylePackage.eNS_URI, theStylePackage);
+ return theStylePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getBorderedStyleDescription() {
+ return borderedStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBorderedStyleDescription_BorderSizeComputationExpression() {
+ return (EAttribute) borderedStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getBorderedStyleDescription_BorderColor() {
+ return (EReference) borderedStyleDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBorderedStyleDescription_BorderLineStyle() {
+ return (EAttribute) borderedStyleDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getNodeStyleDescription() {
+ return nodeStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getNodeStyleDescription_SizeComputationExpression() {
+ return (EAttribute) nodeStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getNodeStyleDescription_LabelPosition() {
+ return (EAttribute) nodeStyleDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getNodeStyleDescription_ResizeKind() {
+ return (EAttribute) nodeStyleDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getNodeStyleDescription_ForbiddenSides() {
+ return (EAttribute) nodeStyleDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCustomStyleDescription() {
+ return customStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCustomStyleDescription_Id() {
+ return (EAttribute) customStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getSquareDescription() {
+ return squareDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSquareDescription_Width() {
+ return (EAttribute) squareDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSquareDescription_Height() {
+ return (EAttribute) squareDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getSquareDescription_Color() {
+ return (EReference) squareDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getLozengeNodeDescription() {
+ return lozengeNodeDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getLozengeNodeDescription_WidthComputationExpression() {
+ return (EAttribute) lozengeNodeDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getLozengeNodeDescription_HeightComputationExpression() {
+ return (EAttribute) lozengeNodeDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getLozengeNodeDescription_Color() {
+ return (EReference) lozengeNodeDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEllipseNodeDescription() {
+ return ellipseNodeDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEllipseNodeDescription_Color() {
+ return (EReference) ellipseNodeDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEllipseNodeDescription_HorizontalDiameterComputationExpression() {
+ return (EAttribute) ellipseNodeDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEllipseNodeDescription_VerticalDiameterComputationExpression() {
+ return (EAttribute) ellipseNodeDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getBundledImageDescription() {
+ return bundledImageDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBundledImageDescription_Shape() {
+ return (EAttribute) bundledImageDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getBundledImageDescription_Color() {
+ return (EReference) bundledImageDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBundledImageDescription_ProvidedShapeID() {
+ return (EAttribute) bundledImageDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getNoteDescription() {
+ return noteDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNoteDescription_Color() {
+ return (EReference) noteDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDotDescription() {
+ return dotDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDotDescription_BackgroundColor() {
+ return (EReference) dotDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDotDescription_StrokeSizeComputationExpression() {
+ return (EAttribute) dotDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getGaugeCompositeStyleDescription() {
+ return gaugeCompositeStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getGaugeCompositeStyleDescription_Alignment() {
+ return (EAttribute) gaugeCompositeStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getGaugeCompositeStyleDescription_Sections() {
+ return (EReference) gaugeCompositeStyleDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getGaugeSectionDescription() {
+ return gaugeSectionDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getGaugeSectionDescription_MinValueExpression() {
+ return (EAttribute) gaugeSectionDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getGaugeSectionDescription_MaxValueExpression() {
+ return (EAttribute) gaugeSectionDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getGaugeSectionDescription_ValueExpression() {
+ return (EAttribute) gaugeSectionDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getGaugeSectionDescription_BackgroundColor() {
+ return (EReference) gaugeSectionDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getGaugeSectionDescription_ForegroundColor() {
+ return (EReference) gaugeSectionDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getGaugeSectionDescription_Label() {
+ return (EAttribute) gaugeSectionDescriptionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getSizeComputationContainerStyleDescription() {
+ return sizeComputationContainerStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSizeComputationContainerStyleDescription_WidthComputationExpression() {
+ return (EAttribute) sizeComputationContainerStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSizeComputationContainerStyleDescription_HeightComputationExpression() {
+ return (EAttribute) sizeComputationContainerStyleDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getRoundedCornerStyleDescription() {
+ return roundedCornerStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRoundedCornerStyleDescription_ArcWidth() {
+ return (EAttribute) roundedCornerStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRoundedCornerStyleDescription_ArcHeight() {
+ return (EAttribute) roundedCornerStyleDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getContainerStyleDescription() {
+ return containerStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getContainerStyleDescription_RoundedCorner() {
+ return (EAttribute) containerStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getFlatContainerStyleDescription() {
+ return flatContainerStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getFlatContainerStyleDescription_BackgroundStyle() {
+ return (EAttribute) flatContainerStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getFlatContainerStyleDescription_BackgroundColor() {
+ return (EReference) flatContainerStyleDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getFlatContainerStyleDescription_ForegroundColor() {
+ return (EReference) flatContainerStyleDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getFlatContainerStyleDescription_LabelBorderStyle() {
+ return (EReference) flatContainerStyleDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getShapeContainerStyleDescription() {
+ return shapeContainerStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getShapeContainerStyleDescription_Shape() {
+ return (EAttribute) shapeContainerStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getShapeContainerStyleDescription_BackgroundColor() {
+ return (EReference) shapeContainerStyleDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getWorkspaceImageDescription() {
+ return workspaceImageDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getWorkspaceImageDescription_WorkspacePath() {
+ return (EAttribute) workspaceImageDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEdgeStyleDescription() {
+ return edgeStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeStyleDescription_StrokeColor() {
+ return (EReference) edgeStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeStyleDescription_LineStyle() {
+ return (EAttribute) edgeStyleDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeStyleDescription_SourceArrow() {
+ return (EAttribute) edgeStyleDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeStyleDescription_TargetArrow() {
+ return (EAttribute) edgeStyleDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeStyleDescription_SizeComputationExpression() {
+ return (EAttribute) edgeStyleDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeStyleDescription_RoutingStyle() {
+ return (EAttribute) edgeStyleDescriptionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeStyleDescription_FoldingStyle() {
+ return (EAttribute) edgeStyleDescriptionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeStyleDescription_BeginLabelStyleDescription() {
+ return (EReference) edgeStyleDescriptionEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeStyleDescription_CenterLabelStyleDescription() {
+ return (EReference) edgeStyleDescriptionEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeStyleDescription_EndLabelStyleDescription() {
+ return (EReference) edgeStyleDescriptionEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeStyleDescription_EndsCentering() {
+ return (EAttribute) edgeStyleDescriptionEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeStyleDescription_CenteredSourceMappings() {
+ return (EReference) edgeStyleDescriptionEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeStyleDescription_CenteredTargetMappings() {
+ return (EReference) edgeStyleDescriptionEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getBeginLabelStyleDescription() {
+ return beginLabelStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCenterLabelStyleDescription() {
+ return centerLabelStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEndLabelStyleDescription() {
+ return endLabelStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getBracketEdgeStyleDescription() {
+ return bracketEdgeStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getHideLabelCapabilityStyleDescription() {
+ return hideLabelCapabilityStyleDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getHideLabelCapabilityStyleDescription_HideLabelByDefault() {
+ return (EAttribute) hideLabelCapabilityStyleDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getSide() {
+ return sideEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public StyleFactory getStyleFactory() {
+ return (StyleFactory) 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
+ borderedStyleDescriptionEClass = createEClass(StylePackage.BORDERED_STYLE_DESCRIPTION);
+ createEAttribute(borderedStyleDescriptionEClass, StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_SIZE_COMPUTATION_EXPRESSION);
+ createEReference(borderedStyleDescriptionEClass, StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_COLOR);
+ createEAttribute(borderedStyleDescriptionEClass, StylePackage.BORDERED_STYLE_DESCRIPTION__BORDER_LINE_STYLE);
+
+ nodeStyleDescriptionEClass = createEClass(StylePackage.NODE_STYLE_DESCRIPTION);
+ createEAttribute(nodeStyleDescriptionEClass, StylePackage.NODE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION);
+ createEAttribute(nodeStyleDescriptionEClass, StylePackage.NODE_STYLE_DESCRIPTION__LABEL_POSITION);
+ createEAttribute(nodeStyleDescriptionEClass, StylePackage.NODE_STYLE_DESCRIPTION__RESIZE_KIND);
+ createEAttribute(nodeStyleDescriptionEClass, StylePackage.NODE_STYLE_DESCRIPTION__FORBIDDEN_SIDES);
+
+ customStyleDescriptionEClass = createEClass(StylePackage.CUSTOM_STYLE_DESCRIPTION);
+ createEAttribute(customStyleDescriptionEClass, StylePackage.CUSTOM_STYLE_DESCRIPTION__ID);
+
+ squareDescriptionEClass = createEClass(StylePackage.SQUARE_DESCRIPTION);
+ createEAttribute(squareDescriptionEClass, StylePackage.SQUARE_DESCRIPTION__WIDTH);
+ createEAttribute(squareDescriptionEClass, StylePackage.SQUARE_DESCRIPTION__HEIGHT);
+ createEReference(squareDescriptionEClass, StylePackage.SQUARE_DESCRIPTION__COLOR);
+
+ lozengeNodeDescriptionEClass = createEClass(StylePackage.LOZENGE_NODE_DESCRIPTION);
+ createEAttribute(lozengeNodeDescriptionEClass, StylePackage.LOZENGE_NODE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION);
+ createEAttribute(lozengeNodeDescriptionEClass, StylePackage.LOZENGE_NODE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION);
+ createEReference(lozengeNodeDescriptionEClass, StylePackage.LOZENGE_NODE_DESCRIPTION__COLOR);
+
+ ellipseNodeDescriptionEClass = createEClass(StylePackage.ELLIPSE_NODE_DESCRIPTION);
+ createEReference(ellipseNodeDescriptionEClass, StylePackage.ELLIPSE_NODE_DESCRIPTION__COLOR);
+ createEAttribute(ellipseNodeDescriptionEClass, StylePackage.ELLIPSE_NODE_DESCRIPTION__HORIZONTAL_DIAMETER_COMPUTATION_EXPRESSION);
+ createEAttribute(ellipseNodeDescriptionEClass, StylePackage.ELLIPSE_NODE_DESCRIPTION__VERTICAL_DIAMETER_COMPUTATION_EXPRESSION);
+
+ bundledImageDescriptionEClass = createEClass(StylePackage.BUNDLED_IMAGE_DESCRIPTION);
+ createEAttribute(bundledImageDescriptionEClass, StylePackage.BUNDLED_IMAGE_DESCRIPTION__SHAPE);
+ createEReference(bundledImageDescriptionEClass, StylePackage.BUNDLED_IMAGE_DESCRIPTION__COLOR);
+ createEAttribute(bundledImageDescriptionEClass, StylePackage.BUNDLED_IMAGE_DESCRIPTION__PROVIDED_SHAPE_ID);
+
+ noteDescriptionEClass = createEClass(StylePackage.NOTE_DESCRIPTION);
+ createEReference(noteDescriptionEClass, StylePackage.NOTE_DESCRIPTION__COLOR);
+
+ dotDescriptionEClass = createEClass(StylePackage.DOT_DESCRIPTION);
+ createEReference(dotDescriptionEClass, StylePackage.DOT_DESCRIPTION__BACKGROUND_COLOR);
+ createEAttribute(dotDescriptionEClass, StylePackage.DOT_DESCRIPTION__STROKE_SIZE_COMPUTATION_EXPRESSION);
+
+ gaugeCompositeStyleDescriptionEClass = createEClass(StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION);
+ createEAttribute(gaugeCompositeStyleDescriptionEClass, StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__ALIGNMENT);
+ createEReference(gaugeCompositeStyleDescriptionEClass, StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION__SECTIONS);
+
+ gaugeSectionDescriptionEClass = createEClass(StylePackage.GAUGE_SECTION_DESCRIPTION);
+ createEAttribute(gaugeSectionDescriptionEClass, StylePackage.GAUGE_SECTION_DESCRIPTION__MIN_VALUE_EXPRESSION);
+ createEAttribute(gaugeSectionDescriptionEClass, StylePackage.GAUGE_SECTION_DESCRIPTION__MAX_VALUE_EXPRESSION);
+ createEAttribute(gaugeSectionDescriptionEClass, StylePackage.GAUGE_SECTION_DESCRIPTION__VALUE_EXPRESSION);
+ createEReference(gaugeSectionDescriptionEClass, StylePackage.GAUGE_SECTION_DESCRIPTION__BACKGROUND_COLOR);
+ createEReference(gaugeSectionDescriptionEClass, StylePackage.GAUGE_SECTION_DESCRIPTION__FOREGROUND_COLOR);
+ createEAttribute(gaugeSectionDescriptionEClass, StylePackage.GAUGE_SECTION_DESCRIPTION__LABEL);
+
+ sizeComputationContainerStyleDescriptionEClass = createEClass(StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION);
+ createEAttribute(sizeComputationContainerStyleDescriptionEClass, StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__WIDTH_COMPUTATION_EXPRESSION);
+ createEAttribute(sizeComputationContainerStyleDescriptionEClass, StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION__HEIGHT_COMPUTATION_EXPRESSION);
+
+ roundedCornerStyleDescriptionEClass = createEClass(StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION);
+ createEAttribute(roundedCornerStyleDescriptionEClass, StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH);
+ createEAttribute(roundedCornerStyleDescriptionEClass, StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT);
+
+ containerStyleDescriptionEClass = createEClass(StylePackage.CONTAINER_STYLE_DESCRIPTION);
+ createEAttribute(containerStyleDescriptionEClass, StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER);
+
+ flatContainerStyleDescriptionEClass = createEClass(StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION);
+ createEAttribute(flatContainerStyleDescriptionEClass, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_STYLE);
+ createEReference(flatContainerStyleDescriptionEClass, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR);
+ createEReference(flatContainerStyleDescriptionEClass, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__FOREGROUND_COLOR);
+ createEReference(flatContainerStyleDescriptionEClass, StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION__LABEL_BORDER_STYLE);
+
+ shapeContainerStyleDescriptionEClass = createEClass(StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION);
+ createEAttribute(shapeContainerStyleDescriptionEClass, StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__SHAPE);
+ createEReference(shapeContainerStyleDescriptionEClass, StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION__BACKGROUND_COLOR);
+
+ workspaceImageDescriptionEClass = createEClass(StylePackage.WORKSPACE_IMAGE_DESCRIPTION);
+ createEAttribute(workspaceImageDescriptionEClass, StylePackage.WORKSPACE_IMAGE_DESCRIPTION__WORKSPACE_PATH);
+
+ edgeStyleDescriptionEClass = createEClass(StylePackage.EDGE_STYLE_DESCRIPTION);
+ createEReference(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__STROKE_COLOR);
+ createEAttribute(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__LINE_STYLE);
+ createEAttribute(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__SOURCE_ARROW);
+ createEAttribute(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__TARGET_ARROW);
+ createEAttribute(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__SIZE_COMPUTATION_EXPRESSION);
+ createEAttribute(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__ROUTING_STYLE);
+ createEAttribute(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__FOLDING_STYLE);
+ createEReference(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__BEGIN_LABEL_STYLE_DESCRIPTION);
+ createEReference(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__CENTER_LABEL_STYLE_DESCRIPTION);
+ createEReference(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__END_LABEL_STYLE_DESCRIPTION);
+ createEAttribute(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__ENDS_CENTERING);
+ createEReference(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_SOURCE_MAPPINGS);
+ createEReference(edgeStyleDescriptionEClass, StylePackage.EDGE_STYLE_DESCRIPTION__CENTERED_TARGET_MAPPINGS);
+
+ beginLabelStyleDescriptionEClass = createEClass(StylePackage.BEGIN_LABEL_STYLE_DESCRIPTION);
+
+ centerLabelStyleDescriptionEClass = createEClass(StylePackage.CENTER_LABEL_STYLE_DESCRIPTION);
+
+ endLabelStyleDescriptionEClass = createEClass(StylePackage.END_LABEL_STYLE_DESCRIPTION);
+
+ bracketEdgeStyleDescriptionEClass = createEClass(StylePackage.BRACKET_EDGE_STYLE_DESCRIPTION);
+
+ hideLabelCapabilityStyleDescriptionEClass = createEClass(StylePackage.HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION);
+ createEAttribute(hideLabelCapabilityStyleDescriptionEClass, StylePackage.HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION__HIDE_LABEL_BY_DEFAULT);
+
+ // Create enums
+ sideEEnum = createEEnum(StylePackage.SIDE);
+ }
+
+ /**
+ * <!-- 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(StylePackage.eNAME);
+ setNsPrefix(StylePackage.eNS_PREFIX);
+ setNsURI(StylePackage.eNS_URI);
+
+ // Obtain other dependent packages
+ org.eclipse.sirius.viewpoint.description.style.StylePackage theStylePackage_1 = (org.eclipse.sirius.viewpoint.description.style.StylePackage) EPackage.Registry.INSTANCE
+ .getEPackage(org.eclipse.sirius.viewpoint.description.style.StylePackage.eNS_URI);
+ org.eclipse.sirius.viewpoint.description.DescriptionPackage theDescriptionPackage_1 = (org.eclipse.sirius.viewpoint.description.DescriptionPackage) EPackage.Registry.INSTANCE
+ .getEPackage(org.eclipse.sirius.viewpoint.description.DescriptionPackage.eNS_URI);
+ DiagramPackage theDiagramPackage = (DiagramPackage) EPackage.Registry.INSTANCE.getEPackage(DiagramPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ DescriptionPackage theDescriptionPackage = (DescriptionPackage) EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ borderedStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getStyleDescription());
+ nodeStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getStyleDescription());
+ nodeStyleDescriptionEClass.getESuperTypes().add(this.getBorderedStyleDescription());
+ nodeStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getLabelStyleDescription());
+ nodeStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getTooltipStyleDescription());
+ nodeStyleDescriptionEClass.getESuperTypes().add(this.getHideLabelCapabilityStyleDescription());
+ customStyleDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ squareDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ lozengeNodeDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ ellipseNodeDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ bundledImageDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ noteDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ dotDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ gaugeCompositeStyleDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ roundedCornerStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getStyleDescription());
+ containerStyleDescriptionEClass.getESuperTypes().add(this.getRoundedCornerStyleDescription());
+ containerStyleDescriptionEClass.getESuperTypes().add(this.getBorderedStyleDescription());
+ containerStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getLabelStyleDescription());
+ containerStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getTooltipStyleDescription());
+ containerStyleDescriptionEClass.getESuperTypes().add(this.getHideLabelCapabilityStyleDescription());
+ flatContainerStyleDescriptionEClass.getESuperTypes().add(this.getContainerStyleDescription());
+ flatContainerStyleDescriptionEClass.getESuperTypes().add(this.getSizeComputationContainerStyleDescription());
+ shapeContainerStyleDescriptionEClass.getESuperTypes().add(this.getContainerStyleDescription());
+ shapeContainerStyleDescriptionEClass.getESuperTypes().add(this.getSizeComputationContainerStyleDescription());
+ workspaceImageDescriptionEClass.getESuperTypes().add(this.getNodeStyleDescription());
+ workspaceImageDescriptionEClass.getESuperTypes().add(this.getContainerStyleDescription());
+ edgeStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getStyleDescription());
+ beginLabelStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getBasicLabelStyleDescription());
+ centerLabelStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getBasicLabelStyleDescription());
+ endLabelStyleDescriptionEClass.getESuperTypes().add(theStylePackage_1.getBasicLabelStyleDescription());
+ bracketEdgeStyleDescriptionEClass.getESuperTypes().add(this.getEdgeStyleDescription());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(borderedStyleDescriptionEClass, BorderedStyleDescription.class, "BorderedStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBorderedStyleDescription_BorderSizeComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "borderSizeComputationExpression", "0", 0, 1, //$NON-NLS-1$//$NON-NLS-2$
+ BorderedStyleDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getBorderedStyleDescription_BorderColor(), theDescriptionPackage_1.getColorDescription(), null, "borderColor", null, 1, 1, BorderedStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getBorderedStyleDescription_BorderLineStyle(), theDiagramPackage.getLineStyle(), "borderLineStyle", "solid", 0, 1, BorderedStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(nodeStyleDescriptionEClass, NodeStyleDescription.class, "NodeStyleDescription", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getNodeStyleDescription_SizeComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "sizeComputationExpression", "3", 0, 1, NodeStyleDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEAttribute(getNodeStyleDescription_LabelPosition(), theDiagramPackage.getLabelPosition(), "labelPosition", "border", 0, 1, NodeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getNodeStyleDescription_ResizeKind(), theDiagramPackage.getResizeKind(), "resizeKind", "NONE", 1, 1, NodeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getNodeStyleDescription_ForbiddenSides(), this.getSide(), "forbiddenSides", null, 0, -1, NodeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(customStyleDescriptionEClass, CustomStyleDescription.class, "CustomStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCustomStyleDescription_Id(), theEcorePackage.getEString(), "id", null, 0, 1, CustomStyleDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(squareDescriptionEClass, SquareDescription.class, "SquareDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getSquareDescription_Width(), theEcorePackage.getEIntegerObject(), "width", "0", 0, 1, SquareDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getSquareDescription_Height(), theEcorePackage.getEIntegerObject(), "height", "0", 0, 1, SquareDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getSquareDescription_Color(), theDescriptionPackage_1.getColorDescription(), null, "color", null, 1, 1, SquareDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(lozengeNodeDescriptionEClass, LozengeNodeDescription.class, "LozengeNodeDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLozengeNodeDescription_WidthComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "widthComputationExpression", null, 0, 1, //$NON-NLS-1$
+ LozengeNodeDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getLozengeNodeDescription_HeightComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "heightComputationExpression", null, 0, 1, //$NON-NLS-1$
+ LozengeNodeDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getLozengeNodeDescription_Color(), theDescriptionPackage_1.getColorDescription(), null, "color", null, 1, 1, LozengeNodeDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(ellipseNodeDescriptionEClass, EllipseNodeDescription.class, "EllipseNodeDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEllipseNodeDescription_Color(), theDescriptionPackage_1.getColorDescription(), null, "color", null, 1, 1, EllipseNodeDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEllipseNodeDescription_HorizontalDiameterComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "horizontalDiameterComputationExpression", "0", 0, 1, //$NON-NLS-1$//$NON-NLS-2$
+ EllipseNodeDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEllipseNodeDescription_VerticalDiameterComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "verticalDiameterComputationExpression", "0", 0, 1, //$NON-NLS-1$//$NON-NLS-2$
+ EllipseNodeDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(bundledImageDescriptionEClass, BundledImageDescription.class, "BundledImageDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBundledImageDescription_Shape(), theDiagramPackage.getBundledImageShape(), "shape", null, 1, 1, BundledImageDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getBundledImageDescription_Color(), theDescriptionPackage_1.getColorDescription(), null, "color", null, 1, 1, BundledImageDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getBundledImageDescription_ProvidedShapeID(), ecorePackage.getEString(), "providedShapeID", null, 0, 1, BundledImageDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(noteDescriptionEClass, NoteDescription.class, "NoteDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getNoteDescription_Color(), theDescriptionPackage_1.getColorDescription(), null, "color", null, 1, 1, NoteDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(dotDescriptionEClass, DotDescription.class, "DotDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getDotDescription_BackgroundColor(), theDescriptionPackage_1.getColorDescription(), null, "backgroundColor", null, 1, 1, DotDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDotDescription_StrokeSizeComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "strokeSizeComputationExpression", "2", 0, 1, DotDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(gaugeCompositeStyleDescriptionEClass, GaugeCompositeStyleDescription.class, "GaugeCompositeStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGaugeCompositeStyleDescription_Alignment(), theDiagramPackage.getAlignmentKind(), "alignment", "SQUARE", 0, 1, GaugeCompositeStyleDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getGaugeCompositeStyleDescription_Sections(), this.getGaugeSectionDescription(), null, "sections", null, 0, -1, GaugeCompositeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(gaugeSectionDescriptionEClass, GaugeSectionDescription.class, "GaugeSectionDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGaugeSectionDescription_MinValueExpression(), theDescriptionPackage_1.getInterpretedExpression(), "minValueExpression", "0", 0, 1, GaugeSectionDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEAttribute(getGaugeSectionDescription_MaxValueExpression(), theDescriptionPackage_1.getInterpretedExpression(), "maxValueExpression", "0", 0, 1, GaugeSectionDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEAttribute(getGaugeSectionDescription_ValueExpression(), theDescriptionPackage_1.getInterpretedExpression(), "valueExpression", "0", 0, 1, GaugeSectionDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getGaugeSectionDescription_BackgroundColor(), theDescriptionPackage_1.getColorDescription(), null, "backgroundColor", null, 1, 1, GaugeSectionDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getGaugeSectionDescription_ForegroundColor(), theDescriptionPackage_1.getColorDescription(), null, "foregroundColor", null, 1, 1, GaugeSectionDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getGaugeSectionDescription_Label(), theEcorePackage.getEString(), "label", null, 0, 1, GaugeSectionDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(sizeComputationContainerStyleDescriptionEClass, SizeComputationContainerStyleDescription.class, "SizeComputationContainerStyleDescription", EPackageImpl.IS_ABSTRACT, //$NON-NLS-1$
+ !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSizeComputationContainerStyleDescription_WidthComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "widthComputationExpression", "-1", 0, 1, //$NON-NLS-1$//$NON-NLS-2$
+ SizeComputationContainerStyleDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getSizeComputationContainerStyleDescription_HeightComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "heightComputationExpression", "-1", 0, 1, //$NON-NLS-1$//$NON-NLS-2$
+ SizeComputationContainerStyleDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(roundedCornerStyleDescriptionEClass, RoundedCornerStyleDescription.class, "RoundedCornerStyleDescription", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRoundedCornerStyleDescription_ArcWidth(), theEcorePackage.getEIntegerObject(), "arcWidth", "10", 0, 1, RoundedCornerStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getRoundedCornerStyleDescription_ArcHeight(), theEcorePackage.getEIntegerObject(), "arcHeight", "10", 0, 1, RoundedCornerStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(containerStyleDescriptionEClass, ContainerStyleDescription.class, "ContainerStyleDescription", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getContainerStyleDescription_RoundedCorner(), theEcorePackage.getEBoolean(), "roundedCorner", null, 0, 1, ContainerStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(flatContainerStyleDescriptionEClass, FlatContainerStyleDescription.class, "FlatContainerStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFlatContainerStyleDescription_BackgroundStyle(), theDiagramPackage.getBackgroundStyle(), "backgroundStyle", null, 1, 1, FlatContainerStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getFlatContainerStyleDescription_BackgroundColor(), theDescriptionPackage_1.getColorDescription(), null, "backgroundColor", null, 1, 1, FlatContainerStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getFlatContainerStyleDescription_ForegroundColor(), theDescriptionPackage_1.getColorDescription(), null, "foregroundColor", null, 1, 1, FlatContainerStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getFlatContainerStyleDescription_LabelBorderStyle(), theStylePackage_1.getLabelBorderStyleDescription(), null, "labelBorderStyle", null, 0, 1, //$NON-NLS-1$
+ FlatContainerStyleDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES,
+ !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(shapeContainerStyleDescriptionEClass, ShapeContainerStyleDescription.class, "ShapeContainerStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getShapeContainerStyleDescription_Shape(), theDiagramPackage.getContainerShape(), "shape", null, 1, 1, ShapeContainerStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getShapeContainerStyleDescription_BackgroundColor(), theDescriptionPackage_1.getColorDescription(), null, "backgroundColor", null, 1, 1, ShapeContainerStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(workspaceImageDescriptionEClass, WorkspaceImageDescription.class, "WorkspaceImageDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getWorkspaceImageDescription_WorkspacePath(), theDescriptionPackage_1.getImagePath(), "workspacePath", null, 1, 1, WorkspaceImageDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(edgeStyleDescriptionEClass, EdgeStyleDescription.class, "EdgeStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getEdgeStyleDescription_StrokeColor(), theDescriptionPackage_1.getColorDescription(), null, "strokeColor", null, 1, 1, EdgeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeStyleDescription_LineStyle(), theDiagramPackage.getLineStyle(), "lineStyle", null, 0, 1, EdgeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeStyleDescription_SourceArrow(), theDiagramPackage.getEdgeArrows(), "sourceArrow", "NoDecoration", 1, 1, EdgeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeStyleDescription_TargetArrow(), theDiagramPackage.getEdgeArrows(), "targetArrow", "InputArrow", 1, 1, EdgeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeStyleDescription_SizeComputationExpression(), theDescriptionPackage_1.getInterpretedExpression(), "sizeComputationExpression", "1", 1, 1, EdgeStyleDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeStyleDescription_RoutingStyle(), theDiagramPackage.getEdgeRouting(), "routingStyle", "straight", 1, 1, EdgeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeStyleDescription_FoldingStyle(), theDescriptionPackage.getFoldingStyle(), "foldingStyle", null, 0, 1, EdgeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeStyleDescription_BeginLabelStyleDescription(), this.getBeginLabelStyleDescription(), null, "beginLabelStyleDescription", null, 0, 1, EdgeStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeStyleDescription_CenterLabelStyleDescription(), this.getCenterLabelStyleDescription(), null, "centerLabelStyleDescription", null, 0, 1, EdgeStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeStyleDescription_EndLabelStyleDescription(), this.getEndLabelStyleDescription(), null, "endLabelStyleDescription", null, 0, 1, EdgeStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeStyleDescription_EndsCentering(), theDescriptionPackage.getCenteringStyle(), "endsCentering", "None", 0, 1, EdgeStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeStyleDescription_CenteredSourceMappings(), theDescriptionPackage.getDiagramElementMapping(), null, "centeredSourceMappings", null, 0, -1, EdgeStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeStyleDescription_CenteredTargetMappings(), theDescriptionPackage.getDiagramElementMapping(), null, "centeredTargetMappings", null, 0, -1, EdgeStyleDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(beginLabelStyleDescriptionEClass, BeginLabelStyleDescription.class, "BeginLabelStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(centerLabelStyleDescriptionEClass, CenterLabelStyleDescription.class, "CenterLabelStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(endLabelStyleDescriptionEClass, EndLabelStyleDescription.class, "EndLabelStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(bracketEdgeStyleDescriptionEClass, BracketEdgeStyleDescription.class, "BracketEdgeStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hideLabelCapabilityStyleDescriptionEClass, HideLabelCapabilityStyleDescription.class, "HideLabelCapabilityStyleDescription", EPackageImpl.IS_ABSTRACT, EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHideLabelCapabilityStyleDescription_HideLabelByDefault(), ecorePackage.getEBoolean(), "hideLabelByDefault", "false", 0, 1, HideLabelCapabilityStyleDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(sideEEnum, Side.class, "Side"); //$NON-NLS-1$
+ addEEnumLiteral(sideEEnum, Side.WEST);
+ addEEnumLiteral(sideEEnum, Side.SOUTH);
+ addEEnumLiteral(sideEEnum, Side.EAST);
+ addEEnumLiteral(sideEEnum, Side.NORTH);
+
+ // Create annotations
+ // http://www.eclipse.org/sirius/interpreted/expression/returnType
+ createReturnTypeAnnotations();
+ // http://www.eclipse.org/sirius/interpreted/expression/variables
+ createVariablesAnnotations();
+ // TagValues
+ createTagValuesAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/sirius/interpreted/expression/returnType</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createReturnTypeAnnotations() {
+ String source = "http://www.eclipse.org/sirius/interpreted/expression/returnType"; //$NON-NLS-1$
+ addAnnotation(getBorderedStyleDescription_BorderSizeComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getNodeStyleDescription_SizeComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getLozengeNodeDescription_WidthComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getLozengeNodeDescription_HeightComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEllipseNodeDescription_HorizontalDiameterComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEllipseNodeDescription_VerticalDiameterComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDotDescription_StrokeSizeComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getGaugeSectionDescription_MinValueExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getGaugeSectionDescription_MaxValueExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getGaugeSectionDescription_ValueExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getSizeComputationContainerStyleDescription_WidthComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getSizeComputationContainerStyleDescription_HeightComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeStyleDescription_SizeComputationExpression(), source, new String[] { "returnType", "an integer." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/sirius/interpreted/expression/variables</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createVariablesAnnotations() {
+ String source = "http://www.eclipse.org/sirius/interpreted/expression/variables"; //$NON-NLS-1$
+ addAnnotation(getBorderedStyleDescription_BorderSizeComputationExpression(), source, new String[] {});
+ addAnnotation(getNodeStyleDescription_SizeComputationExpression(), source, new String[] {});
+ addAnnotation(getLozengeNodeDescription_WidthComputationExpression(), source, new String[] {});
+ addAnnotation(getLozengeNodeDescription_HeightComputationExpression(), source, new String[] {});
+ addAnnotation(getEllipseNodeDescription_HorizontalDiameterComputationExpression(), source, new String[] {});
+ addAnnotation(getEllipseNodeDescription_VerticalDiameterComputationExpression(), source, new String[] {});
+ addAnnotation(getDotDescription_StrokeSizeComputationExpression(), source, new String[] {});
+ addAnnotation(getGaugeSectionDescription_MinValueExpression(), source, new String[] {});
+ addAnnotation(getGaugeSectionDescription_MaxValueExpression(), source, new String[] {});
+ addAnnotation(getGaugeSectionDescription_ValueExpression(), source, new String[] {});
+ addAnnotation(getSizeComputationContainerStyleDescription_WidthComputationExpression(), source, new String[] {});
+ addAnnotation(getSizeComputationContainerStyleDescription_HeightComputationExpression(), source, new String[] {});
+ addAnnotation(getEdgeStyleDescription_SizeComputationExpression(), source, new String[] { "diagram", "diagram.DSemanticDiagram | the current DSemanticDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "view", "diagram.DEdge | the current edge view for which the size is calculated.", //$NON-NLS-1$ //$NON-NLS-2$
+ "sourceView", "diagram.EdgeTarget | the source view of the current edge.", //$NON-NLS-1$ //$NON-NLS-2$
+ "targetView", "diagram.EdgeTarget | the target view of the current edge." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>TagValues</b>. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createTagValuesAnnotations() {
+ String source = "TagValues"; //$NON-NLS-1$
+ addAnnotation(getDotDescription_StrokeSizeComputationExpression(), source, new String[] {});
+ }
+
+} // StylePackageImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/WorkspaceImageDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/WorkspaceImageDescriptionImpl.java
new file mode 100644
index 0000000000..fdd380cc6c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/impl/WorkspaceImageDescriptionImpl.java
@@ -0,0 +1,407 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Workspace Image Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.WorkspaceImageDescriptionImpl#getArcWidth <em>Arc
+ * Width</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.WorkspaceImageDescriptionImpl#getArcHeight <em>Arc
+ * Height</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.WorkspaceImageDescriptionImpl#isRoundedCorner
+ * <em>Rounded Corner</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.style.impl.WorkspaceImageDescriptionImpl#getWorkspacePath
+ * <em>Workspace Path</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class WorkspaceImageDescriptionImpl extends NodeStyleDescriptionImpl implements WorkspaceImageDescription {
+ /**
+ * The default value of the '{@link #getArcWidth() <em>Arc Width</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getArcWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer ARC_WIDTH_EDEFAULT = new Integer(10);
+
+ /**
+ * The cached value of the '{@link #getArcWidth() <em>Arc Width</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getArcWidth()
+ * @generated
+ * @ordered
+ */
+ protected Integer arcWidth = WorkspaceImageDescriptionImpl.ARC_WIDTH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArcHeight() <em>Arc Height</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getArcHeight()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer ARC_HEIGHT_EDEFAULT = new Integer(10);
+
+ /**
+ * The cached value of the '{@link #getArcHeight() <em>Arc Height</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getArcHeight()
+ * @generated
+ * @ordered
+ */
+ protected Integer arcHeight = WorkspaceImageDescriptionImpl.ARC_HEIGHT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isRoundedCorner() <em>Rounded Corner</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isRoundedCorner()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ROUNDED_CORNER_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRoundedCorner() <em>Rounded Corner</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isRoundedCorner()
+ * @generated
+ * @ordered
+ */
+ protected boolean roundedCorner = WorkspaceImageDescriptionImpl.ROUNDED_CORNER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWorkspacePath() <em>Workspace Path</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getWorkspacePath()
+ * @generated
+ * @ordered
+ */
+ protected static final String WORKSPACE_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getWorkspacePath() <em>Workspace Path</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getWorkspacePath()
+ * @generated
+ * @ordered
+ */
+ protected String workspacePath = WorkspaceImageDescriptionImpl.WORKSPACE_PATH_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected WorkspaceImageDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.WORKSPACE_IMAGE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Integer getArcWidth() {
+ return arcWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setArcWidth(Integer newArcWidth) {
+ Integer oldArcWidth = arcWidth;
+ arcWidth = newArcWidth;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_WIDTH, oldArcWidth, arcWidth));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Integer getArcHeight() {
+ return arcHeight;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setArcHeight(Integer newArcHeight) {
+ Integer oldArcHeight = arcHeight;
+ arcHeight = newArcHeight;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_HEIGHT, oldArcHeight, arcHeight));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isRoundedCorner() {
+ return roundedCorner;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRoundedCorner(boolean newRoundedCorner) {
+ boolean oldRoundedCorner = roundedCorner;
+ roundedCorner = newRoundedCorner;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ROUNDED_CORNER, oldRoundedCorner, roundedCorner));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getWorkspacePath() {
+ return workspacePath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setWorkspacePath(String newWorkspacePath) {
+ String oldWorkspacePath = workspacePath;
+ workspacePath = newWorkspacePath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, StylePackage.WORKSPACE_IMAGE_DESCRIPTION__WORKSPACE_PATH, oldWorkspacePath, workspacePath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_WIDTH:
+ return getArcWidth();
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_HEIGHT:
+ return getArcHeight();
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ROUNDED_CORNER:
+ return isRoundedCorner();
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__WORKSPACE_PATH:
+ return getWorkspacePath();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_WIDTH:
+ setArcWidth((Integer) newValue);
+ return;
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_HEIGHT:
+ setArcHeight((Integer) newValue);
+ return;
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ROUNDED_CORNER:
+ setRoundedCorner((Boolean) newValue);
+ return;
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__WORKSPACE_PATH:
+ setWorkspacePath((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_WIDTH:
+ setArcWidth(WorkspaceImageDescriptionImpl.ARC_WIDTH_EDEFAULT);
+ return;
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_HEIGHT:
+ setArcHeight(WorkspaceImageDescriptionImpl.ARC_HEIGHT_EDEFAULT);
+ return;
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ROUNDED_CORNER:
+ setRoundedCorner(WorkspaceImageDescriptionImpl.ROUNDED_CORNER_EDEFAULT);
+ return;
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__WORKSPACE_PATH:
+ setWorkspacePath(WorkspaceImageDescriptionImpl.WORKSPACE_PATH_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_WIDTH:
+ return WorkspaceImageDescriptionImpl.ARC_WIDTH_EDEFAULT == null ? arcWidth != null : !WorkspaceImageDescriptionImpl.ARC_WIDTH_EDEFAULT.equals(arcWidth);
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_HEIGHT:
+ return WorkspaceImageDescriptionImpl.ARC_HEIGHT_EDEFAULT == null ? arcHeight != null : !WorkspaceImageDescriptionImpl.ARC_HEIGHT_EDEFAULT.equals(arcHeight);
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ROUNDED_CORNER:
+ return roundedCorner != WorkspaceImageDescriptionImpl.ROUNDED_CORNER_EDEFAULT;
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__WORKSPACE_PATH:
+ return WorkspaceImageDescriptionImpl.WORKSPACE_PATH_EDEFAULT == null ? workspacePath != null : !WorkspaceImageDescriptionImpl.WORKSPACE_PATH_EDEFAULT.equals(workspacePath);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == RoundedCornerStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_WIDTH:
+ return StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH;
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_HEIGHT:
+ return StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ContainerStyleDescription.class) {
+ switch (derivedFeatureID) {
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ROUNDED_CORNER:
+ return StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == RoundedCornerStyleDescription.class) {
+ switch (baseFeatureID) {
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_WIDTH:
+ return StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_WIDTH;
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION__ARC_HEIGHT:
+ return StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ARC_HEIGHT;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ContainerStyleDescription.class) {
+ switch (baseFeatureID) {
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION__ROUNDED_CORNER:
+ return StylePackage.WORKSPACE_IMAGE_DESCRIPTION__ROUNDED_CORNER;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (arcWidth: "); //$NON-NLS-1$
+ result.append(arcWidth);
+ result.append(", arcHeight: "); //$NON-NLS-1$
+ result.append(arcHeight);
+ result.append(", roundedCorner: "); //$NON-NLS-1$
+ result.append(roundedCorner);
+ result.append(", workspacePath: "); //$NON-NLS-1$
+ result.append(workspacePath);
+ result.append(')');
+ return result.toString();
+ }
+
+} // WorkspaceImageDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/util/StyleAdapterFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/util/StyleAdapterFactory.java
new file mode 100644
index 0000000000..df9326105b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/util/StyleAdapterFactory.java
@@ -0,0 +1,646 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.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.sirius.diagram.description.style.BeginLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BorderedStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BracketEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BundledImageDescription;
+import org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.CustomStyleDescription;
+import org.eclipse.sirius.diagram.description.style.DotDescription;
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.EllipseNodeDescription;
+import org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeSectionDescription;
+import org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription;
+import org.eclipse.sirius.diagram.description.style.LozengeNodeDescription;
+import org.eclipse.sirius.diagram.description.style.NodeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.NoteDescription;
+import org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.SquareDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription;
+import org.eclipse.sirius.viewpoint.description.style.BasicLabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.LabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.StyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.TooltipStyleDescription;
+
+/**
+ * <!-- 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.sirius.diagram.description.style.StylePackage
+ * @generated
+ */
+public class StyleAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static StylePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StyleAdapterFactory() {
+ if (StyleAdapterFactory.modelPackage == null) {
+ StyleAdapterFactory.modelPackage = StylePackage.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 == StyleAdapterFactory.modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == StyleAdapterFactory.modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StyleSwitch<Adapter> modelSwitch = new StyleSwitch<Adapter>() {
+ @Override
+ public Adapter caseBorderedStyleDescription(BorderedStyleDescription object) {
+ return createBorderedStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseNodeStyleDescription(NodeStyleDescription object) {
+ return createNodeStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseCustomStyleDescription(CustomStyleDescription object) {
+ return createCustomStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseSquareDescription(SquareDescription object) {
+ return createSquareDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseLozengeNodeDescription(LozengeNodeDescription object) {
+ return createLozengeNodeDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseEllipseNodeDescription(EllipseNodeDescription object) {
+ return createEllipseNodeDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseBundledImageDescription(BundledImageDescription object) {
+ return createBundledImageDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseNoteDescription(NoteDescription object) {
+ return createNoteDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDotDescription(DotDescription object) {
+ return createDotDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseGaugeCompositeStyleDescription(GaugeCompositeStyleDescription object) {
+ return createGaugeCompositeStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseGaugeSectionDescription(GaugeSectionDescription object) {
+ return createGaugeSectionDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseSizeComputationContainerStyleDescription(SizeComputationContainerStyleDescription object) {
+ return createSizeComputationContainerStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseRoundedCornerStyleDescription(RoundedCornerStyleDescription object) {
+ return createRoundedCornerStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseContainerStyleDescription(ContainerStyleDescription object) {
+ return createContainerStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseFlatContainerStyleDescription(FlatContainerStyleDescription object) {
+ return createFlatContainerStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseShapeContainerStyleDescription(ShapeContainerStyleDescription object) {
+ return createShapeContainerStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseWorkspaceImageDescription(WorkspaceImageDescription object) {
+ return createWorkspaceImageDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseEdgeStyleDescription(EdgeStyleDescription object) {
+ return createEdgeStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseBeginLabelStyleDescription(BeginLabelStyleDescription object) {
+ return createBeginLabelStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseCenterLabelStyleDescription(CenterLabelStyleDescription object) {
+ return createCenterLabelStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseEndLabelStyleDescription(EndLabelStyleDescription object) {
+ return createEndLabelStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseBracketEdgeStyleDescription(BracketEdgeStyleDescription object) {
+ return createBracketEdgeStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseHideLabelCapabilityStyleDescription(HideLabelCapabilityStyleDescription object) {
+ return createHideLabelCapabilityStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseStyleDescription(StyleDescription object) {
+ return createStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseBasicLabelStyleDescription(BasicLabelStyleDescription object) {
+ return createBasicLabelStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseLabelStyleDescription(LabelStyleDescription object) {
+ return createLabelStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseTooltipStyleDescription(TooltipStyleDescription object) {
+ return createTooltipStyleDescriptionAdapter();
+ }
+
+ @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.sirius.diagram.description.style.BorderedStyleDescription <em>Bordered Style
+ * Description</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.sirius.diagram.description.style.BorderedStyleDescription
+ * @generated
+ */
+ public Adapter createBorderedStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.style.NodeStyleDescription <em>Node Style Description</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.sirius.diagram.description.style.NodeStyleDescription
+ * @generated
+ */
+ public Adapter createNodeStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.CustomStyleDescription <em>Custom Style Description</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.sirius.diagram.description.style.CustomStyleDescription
+ * @generated
+ */
+ public Adapter createCustomStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.style.SquareDescription <em>Square Description</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.sirius.diagram.description.style.SquareDescription
+ * @generated
+ */
+ public Adapter createSquareDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.LozengeNodeDescription <em>Lozenge Node Description</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.sirius.diagram.description.style.LozengeNodeDescription
+ * @generated
+ */
+ public Adapter createLozengeNodeDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.EllipseNodeDescription <em>Ellipse Node Description</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.sirius.diagram.description.style.EllipseNodeDescription
+ * @generated
+ */
+ public Adapter createEllipseNodeDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.BundledImageDescription <em>Bundled Image
+ * Description</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.sirius.diagram.description.style.BundledImageDescription
+ * @generated
+ */
+ public Adapter createBundledImageDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.style.NoteDescription
+ * <em>Note Description</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.sirius.diagram.description.style.NoteDescription
+ * @generated
+ */
+ public Adapter createNoteDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.style.DotDescription
+ * <em>Dot Description</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.sirius.diagram.description.style.DotDescription
+ * @generated
+ */
+ public Adapter createDotDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription <em>Gauge Composite Style
+ * Description</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.sirius.diagram.description.style.GaugeCompositeStyleDescription
+ * @generated
+ */
+ public Adapter createGaugeCompositeStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.GaugeSectionDescription <em>Gauge Section
+ * Description</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.sirius.diagram.description.style.GaugeSectionDescription
+ * @generated
+ */
+ public Adapter createGaugeSectionDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription <em>Size
+ * Computation Container Style Description</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.sirius.diagram.description.style.SizeComputationContainerStyleDescription
+ * @generated
+ */
+ public Adapter createSizeComputationContainerStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription <em>Rounded Corner Style
+ * Description</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.sirius.diagram.description.style.RoundedCornerStyleDescription
+ * @generated
+ */
+ public Adapter createRoundedCornerStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.ContainerStyleDescription <em>Container Style
+ * Description</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.sirius.diagram.description.style.ContainerStyleDescription
+ * @generated
+ */
+ public Adapter createContainerStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription <em>Flat Container Style
+ * Description</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.sirius.diagram.description.style.FlatContainerStyleDescription
+ * @generated
+ */
+ public Adapter createFlatContainerStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription <em>Shape Container Style
+ * Description</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.sirius.diagram.description.style.ShapeContainerStyleDescription
+ * @generated
+ */
+ public Adapter createShapeContainerStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription <em>Workspace Image
+ * Description</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.sirius.diagram.description.style.WorkspaceImageDescription
+ * @generated
+ */
+ public Adapter createWorkspaceImageDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.style.EdgeStyleDescription <em>Edge Style Description</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.sirius.diagram.description.style.EdgeStyleDescription
+ * @generated
+ */
+ public Adapter createEdgeStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.BeginLabelStyleDescription <em>Begin Label Style
+ * Description</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.sirius.diagram.description.style.BeginLabelStyleDescription
+ * @generated
+ */
+ public Adapter createBeginLabelStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription <em>Center Label Style
+ * Description</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.sirius.diagram.description.style.CenterLabelStyleDescription
+ * @generated
+ */
+ public Adapter createCenterLabelStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription <em>End Label Style
+ * Description</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.sirius.diagram.description.style.EndLabelStyleDescription
+ * @generated
+ */
+ public Adapter createEndLabelStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.BracketEdgeStyleDescription <em>Bracket Edge Style
+ * Description</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.sirius.diagram.description.style.BracketEdgeStyleDescription
+ * @generated
+ */
+ public Adapter createBracketEdgeStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription <em>Hide Label
+ * Capability Style Description</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.sirius.diagram.description.style.HideLabelCapabilityStyleDescription
+ * @generated
+ */
+ public Adapter createHideLabelCapabilityStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.viewpoint.description.style.StyleDescription <em>Description</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.sirius.viewpoint.description.style.StyleDescription
+ * @generated
+ */
+ public Adapter createStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.style.BasicLabelStyleDescription <em>Basic Label Style
+ * Description</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.sirius.viewpoint.description.style.BasicLabelStyleDescription
+ * @generated
+ */
+ public Adapter createBasicLabelStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.style.LabelStyleDescription <em>Label Style Description</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.sirius.viewpoint.description.style.LabelStyleDescription
+ * @generated
+ */
+ public Adapter createLabelStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.style.TooltipStyleDescription <em>Tooltip Style
+ * Description</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.
+ *
+ * @since 0.9.0 <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.style.TooltipStyleDescription
+ * @generated
+ */
+ public Adapter createTooltipStyleDescriptionAdapter() {
+ 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;
+ }
+
+} // StyleAdapterFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/util/StyleSwitch.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/util/StyleSwitch.java
new file mode 100644
index 0000000000..3ab25a6f67
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/style/util/StyleSwitch.java
@@ -0,0 +1,1035 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.style.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.diagram.description.style.BeginLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BorderedStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BracketEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.BundledImageDescription;
+import org.eclipse.sirius.diagram.description.style.CenterLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.CustomStyleDescription;
+import org.eclipse.sirius.diagram.description.style.DotDescription;
+import org.eclipse.sirius.diagram.description.style.EdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.EllipseNodeDescription;
+import org.eclipse.sirius.diagram.description.style.EndLabelStyleDescription;
+import org.eclipse.sirius.diagram.description.style.FlatContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeCompositeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.GaugeSectionDescription;
+import org.eclipse.sirius.diagram.description.style.HideLabelCapabilityStyleDescription;
+import org.eclipse.sirius.diagram.description.style.LozengeNodeDescription;
+import org.eclipse.sirius.diagram.description.style.NodeStyleDescription;
+import org.eclipse.sirius.diagram.description.style.NoteDescription;
+import org.eclipse.sirius.diagram.description.style.RoundedCornerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.ShapeContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.SizeComputationContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.style.SquareDescription;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription;
+import org.eclipse.sirius.viewpoint.description.style.BasicLabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.LabelStyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.StyleDescription;
+import org.eclipse.sirius.viewpoint.description.style.TooltipStyleDescription;
+
+/**
+ * <!-- 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.sirius.diagram.description.style.StylePackage
+ * @generated
+ */
+public class StyleSwitch<T> {
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static StylePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StyleSwitch() {
+ if (StyleSwitch.modelPackage == null) {
+ StyleSwitch.modelPackage = StylePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == StyleSwitch.modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ } else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case StylePackage.BORDERED_STYLE_DESCRIPTION: {
+ BorderedStyleDescription borderedStyleDescription = (BorderedStyleDescription) theEObject;
+ T result = caseBorderedStyleDescription(borderedStyleDescription);
+ if (result == null) {
+ result = caseStyleDescription(borderedStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.NODE_STYLE_DESCRIPTION: {
+ NodeStyleDescription nodeStyleDescription = (NodeStyleDescription) theEObject;
+ T result = caseNodeStyleDescription(nodeStyleDescription);
+ if (result == null) {
+ result = caseBorderedStyleDescription(nodeStyleDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(nodeStyleDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(nodeStyleDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(nodeStyleDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(nodeStyleDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(nodeStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.CUSTOM_STYLE_DESCRIPTION: {
+ CustomStyleDescription customStyleDescription = (CustomStyleDescription) theEObject;
+ T result = caseCustomStyleDescription(customStyleDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(customStyleDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(customStyleDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(customStyleDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(customStyleDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(customStyleDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(customStyleDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(customStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.SQUARE_DESCRIPTION: {
+ SquareDescription squareDescription = (SquareDescription) theEObject;
+ T result = caseSquareDescription(squareDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(squareDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(squareDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(squareDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(squareDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(squareDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(squareDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(squareDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.LOZENGE_NODE_DESCRIPTION: {
+ LozengeNodeDescription lozengeNodeDescription = (LozengeNodeDescription) theEObject;
+ T result = caseLozengeNodeDescription(lozengeNodeDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(lozengeNodeDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(lozengeNodeDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(lozengeNodeDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(lozengeNodeDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(lozengeNodeDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(lozengeNodeDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(lozengeNodeDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.ELLIPSE_NODE_DESCRIPTION: {
+ EllipseNodeDescription ellipseNodeDescription = (EllipseNodeDescription) theEObject;
+ T result = caseEllipseNodeDescription(ellipseNodeDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(ellipseNodeDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(ellipseNodeDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(ellipseNodeDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(ellipseNodeDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(ellipseNodeDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(ellipseNodeDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(ellipseNodeDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.BUNDLED_IMAGE_DESCRIPTION: {
+ BundledImageDescription bundledImageDescription = (BundledImageDescription) theEObject;
+ T result = caseBundledImageDescription(bundledImageDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(bundledImageDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(bundledImageDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(bundledImageDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(bundledImageDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(bundledImageDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(bundledImageDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(bundledImageDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.NOTE_DESCRIPTION: {
+ NoteDescription noteDescription = (NoteDescription) theEObject;
+ T result = caseNoteDescription(noteDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(noteDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(noteDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(noteDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(noteDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(noteDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(noteDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(noteDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.DOT_DESCRIPTION: {
+ DotDescription dotDescription = (DotDescription) theEObject;
+ T result = caseDotDescription(dotDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(dotDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(dotDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(dotDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(dotDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(dotDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(dotDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(dotDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.GAUGE_COMPOSITE_STYLE_DESCRIPTION: {
+ GaugeCompositeStyleDescription gaugeCompositeStyleDescription = (GaugeCompositeStyleDescription) theEObject;
+ T result = caseGaugeCompositeStyleDescription(gaugeCompositeStyleDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(gaugeCompositeStyleDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(gaugeCompositeStyleDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(gaugeCompositeStyleDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(gaugeCompositeStyleDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(gaugeCompositeStyleDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(gaugeCompositeStyleDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(gaugeCompositeStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.GAUGE_SECTION_DESCRIPTION: {
+ GaugeSectionDescription gaugeSectionDescription = (GaugeSectionDescription) theEObject;
+ T result = caseGaugeSectionDescription(gaugeSectionDescription);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.SIZE_COMPUTATION_CONTAINER_STYLE_DESCRIPTION: {
+ SizeComputationContainerStyleDescription sizeComputationContainerStyleDescription = (SizeComputationContainerStyleDescription) theEObject;
+ T result = caseSizeComputationContainerStyleDescription(sizeComputationContainerStyleDescription);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.ROUNDED_CORNER_STYLE_DESCRIPTION: {
+ RoundedCornerStyleDescription roundedCornerStyleDescription = (RoundedCornerStyleDescription) theEObject;
+ T result = caseRoundedCornerStyleDescription(roundedCornerStyleDescription);
+ if (result == null) {
+ result = caseStyleDescription(roundedCornerStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.CONTAINER_STYLE_DESCRIPTION: {
+ ContainerStyleDescription containerStyleDescription = (ContainerStyleDescription) theEObject;
+ T result = caseContainerStyleDescription(containerStyleDescription);
+ if (result == null) {
+ result = caseRoundedCornerStyleDescription(containerStyleDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(containerStyleDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(containerStyleDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(containerStyleDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(containerStyleDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(containerStyleDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(containerStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.FLAT_CONTAINER_STYLE_DESCRIPTION: {
+ FlatContainerStyleDescription flatContainerStyleDescription = (FlatContainerStyleDescription) theEObject;
+ T result = caseFlatContainerStyleDescription(flatContainerStyleDescription);
+ if (result == null) {
+ result = caseContainerStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseSizeComputationContainerStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseRoundedCornerStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(flatContainerStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.SHAPE_CONTAINER_STYLE_DESCRIPTION: {
+ ShapeContainerStyleDescription shapeContainerStyleDescription = (ShapeContainerStyleDescription) theEObject;
+ T result = caseShapeContainerStyleDescription(shapeContainerStyleDescription);
+ if (result == null) {
+ result = caseContainerStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseSizeComputationContainerStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseRoundedCornerStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(shapeContainerStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.WORKSPACE_IMAGE_DESCRIPTION: {
+ WorkspaceImageDescription workspaceImageDescription = (WorkspaceImageDescription) theEObject;
+ T result = caseWorkspaceImageDescription(workspaceImageDescription);
+ if (result == null) {
+ result = caseNodeStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = caseContainerStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = caseBorderedStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = caseLabelStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = caseTooltipStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = caseHideLabelCapabilityStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = caseRoundedCornerStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(workspaceImageDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.EDGE_STYLE_DESCRIPTION: {
+ EdgeStyleDescription edgeStyleDescription = (EdgeStyleDescription) theEObject;
+ T result = caseEdgeStyleDescription(edgeStyleDescription);
+ if (result == null) {
+ result = caseStyleDescription(edgeStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.BEGIN_LABEL_STYLE_DESCRIPTION: {
+ BeginLabelStyleDescription beginLabelStyleDescription = (BeginLabelStyleDescription) theEObject;
+ T result = caseBeginLabelStyleDescription(beginLabelStyleDescription);
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(beginLabelStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.CENTER_LABEL_STYLE_DESCRIPTION: {
+ CenterLabelStyleDescription centerLabelStyleDescription = (CenterLabelStyleDescription) theEObject;
+ T result = caseCenterLabelStyleDescription(centerLabelStyleDescription);
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(centerLabelStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.END_LABEL_STYLE_DESCRIPTION: {
+ EndLabelStyleDescription endLabelStyleDescription = (EndLabelStyleDescription) theEObject;
+ T result = caseEndLabelStyleDescription(endLabelStyleDescription);
+ if (result == null) {
+ result = caseBasicLabelStyleDescription(endLabelStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.BRACKET_EDGE_STYLE_DESCRIPTION: {
+ BracketEdgeStyleDescription bracketEdgeStyleDescription = (BracketEdgeStyleDescription) theEObject;
+ T result = caseBracketEdgeStyleDescription(bracketEdgeStyleDescription);
+ if (result == null) {
+ result = caseEdgeStyleDescription(bracketEdgeStyleDescription);
+ }
+ if (result == null) {
+ result = caseStyleDescription(bracketEdgeStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case StylePackage.HIDE_LABEL_CAPABILITY_STYLE_DESCRIPTION: {
+ HideLabelCapabilityStyleDescription hideLabelCapabilityStyleDescription = (HideLabelCapabilityStyleDescription) theEObject;
+ T result = caseHideLabelCapabilityStyleDescription(hideLabelCapabilityStyleDescription);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Bordered Style Description</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>Bordered Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBorderedStyleDescription(BorderedStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node Style Description</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 Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeStyleDescription(NodeStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Custom Style Description</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>Custom Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCustomStyleDescription(CustomStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Square Description</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>Square Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSquareDescription(SquareDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lozenge Node Description</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>Lozenge Node Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLozengeNodeDescription(LozengeNodeDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ellipse Node Description</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>Ellipse Node Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEllipseNodeDescription(EllipseNodeDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Bundled Image Description</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>Bundled Image Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBundledImageDescription(BundledImageDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Note Description</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>Note Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNoteDescription(NoteDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Dot Description</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>Dot Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDotDescription(DotDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gauge Composite Style Description</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>Gauge Composite Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGaugeCompositeStyleDescription(GaugeCompositeStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gauge Section Description</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>Gauge Section Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGaugeSectionDescription(GaugeSectionDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Size Computation Container Style
+ * Description</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>Size Computation Container Style
+ * Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSizeComputationContainerStyleDescription(SizeComputationContainerStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rounded Corner Style Description</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>Rounded Corner Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRoundedCornerStyleDescription(RoundedCornerStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container Style Description</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>Container Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainerStyleDescription(ContainerStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Flat Container Style Description</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>Flat Container Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFlatContainerStyleDescription(FlatContainerStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Shape Container Style Description</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>Shape Container Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseShapeContainerStyleDescription(ShapeContainerStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Workspace Image Description</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>Workspace Image Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWorkspaceImageDescription(WorkspaceImageDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Edge Style Description</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>Edge Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEdgeStyleDescription(EdgeStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Begin Label Style Description</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>Begin Label Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBeginLabelStyleDescription(BeginLabelStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Center Label Style Description</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>Center Label Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCenterLabelStyleDescription(CenterLabelStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>End Label Style Description</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>End Label Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEndLabelStyleDescription(EndLabelStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Bracket Edge Style Description</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>Bracket Edge Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBracketEdgeStyleDescription(BracketEdgeStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hide Label Capability Style
+ * Description</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>Hide Label Capability Style
+ * Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHideLabelCapabilityStyleDescription(HideLabelCapabilityStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Description</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>Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyleDescription(StyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Basic Label Style Description</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>Basic Label Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBasicLabelStyleDescription(BasicLabelStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Label Style Description</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>Label Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLabelStyleDescription(LabelStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tooltip Style Description</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch.
+ *
+ * @since 0.9.0 <!-- end-user-doc -->
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tooltip Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTooltipStyleDescription(TooltipStyleDescription 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // StyleSwitch
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/BehaviorTool.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/BehaviorTool.java
new file mode 100644
index 0000000000..cc5fb2f0ff
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/BehaviorTool.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Behavior Tool</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A tool that can be launched by the user. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.BehaviorTool#getDomainClass <em>Domain Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.BehaviorTool#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getBehaviorTool()
+ * @model
+ * @generated
+ */
+public interface BehaviorTool extends AbstractToolDescription {
+ /**
+ * Returns the value of the '<em><b>Domain Class</b></em>' attribute. The default value is <code>"EObject"</code>.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The type of elements on which we want to
+ * appy the tool. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Domain Class</em>' attribute.
+ * @see #setDomainClass(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getBehaviorTool_DomainClass()
+ * @model default="EObject" dataType="org.eclipse.sirius.viewpoint.description.TypeName" required="true"
+ * @generated
+ */
+ String getDomainClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.BehaviorTool#getDomainClass <em>Domain
+ * Class</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Domain Class</em>' attribute.
+ * @see #getDomainClass()
+ * @generated
+ */
+ void setDomainClass(String value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getBehaviorTool_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialOperation getInitialOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.BehaviorTool#getInitialOperation
+ * <em>Initial Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialOperation value);
+
+} // BehaviorTool
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ContainerCreationDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ContainerCreationDescription.java
new file mode 100644
index 0000000000..07d2ed5fb1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ContainerCreationDescription.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialNodeCreationOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Container Creation Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Tool to create a Container (ViewNodeContainer or ViewNodeList). <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getContainerMappings
+ * <em>Container Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getVariable
+ * <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getViewVariable <em>View
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getIconPath <em>Icon
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getExtraMappings <em>Extra
+ * Mappings</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerCreationDescription()
+ * @model
+ * @generated
+ */
+public interface ContainerCreationDescription extends MappingBasedToolDescription {
+ /**
+ * Returns the value of the '<em><b>Container Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.ContainerMapping}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> The ContainerMapping to use. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Container Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerCreationDescription_ContainerMappings()
+ * @model required="true"
+ * @generated
+ */
+ EList<ContainerMapping> getContainerMappings();
+
+ /**
+ * Returns the value of the '<em><b>Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the cicked view. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Variable</em>' containment reference.
+ * @see #setVariable(NodeCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerCreationDescription_Variable()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='container'"
+ * @generated
+ */
+ NodeCreationVariable getVariable();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getVariable <em>Variable</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Variable</em>' containment reference.
+ * @see #getVariable()
+ * @generated
+ */
+ void setVariable(NodeCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>View Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The clicked view (instance of ViewPoint or ViewNodeContainer). <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>View Variable</em>' containment reference.
+ * @see #setViewVariable(ContainerViewVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerCreationDescription_ViewVariable()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='containerView'"
+ * @generated
+ */
+ ContainerViewVariable getViewVariable();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getViewVariable <em>View
+ * Variable</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>View Variable</em>' containment reference.
+ * @see #getViewVariable()
+ * @generated
+ */
+ void setViewVariable(ContainerViewVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialNodeCreationOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerCreationDescription_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialNodeCreationOperation getInitialOperation();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialNodeCreationOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Icon Path</b></em>' attribute. The default value is <code>""</code>. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The path of the icon to display in the palette.
+ * If unset, the icon corresponding to the semantic element associated with the mapping will be displayed. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Icon Path</em>' attribute.
+ * @see #setIconPath(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerCreationDescription_IconPath()
+ * @model default=""
+ * @generated
+ */
+ String getIconPath();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getIconPath <em>Icon Path</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Icon Path</em>' attribute.
+ * @see #getIconPath()
+ * @generated
+ */
+ void setIconPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extra Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.AbstractNodeMapping}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> All mappings that create views that are able to received a request to manage this
+ * creation
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Extra Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerCreationDescription_ExtraMappings()
+ * @model
+ * @generated
+ */
+ EList<AbstractNodeMapping> getExtraMappings();
+
+} // ContainerCreationDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ContainerDropDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ContainerDropDescription.java
new file mode 100644
index 0000000000..0592ca38c8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ContainerDropDescription.java
@@ -0,0 +1,250 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.DragSource;
+import org.eclipse.sirius.viewpoint.description.tool.DropContainerVariable;
+import org.eclipse.sirius.viewpoint.description.tool.ElementDropVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialContainerDropOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Container Drop Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Tool that describes a Drag & Drop operation. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getMappings <em>Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getOldContainer <em>Old
+ * Container</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getNewContainer <em>New
+ * Container</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getNewViewContainer <em>New View
+ * Container</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getDragSource <em>Drag
+ * Source</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#isMoveEdges <em>Move Edges</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription()
+ * @model
+ * @generated
+ */
+public interface ContainerDropDescription extends MappingBasedToolDescription {
+ /**
+ * Returns the value of the '<em><b>Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> All mapping that can create the target view. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription_Mappings()
+ * @model
+ * @generated
+ */
+ EList<DiagramElementMapping> getMappings();
+
+ /**
+ * Returns the value of the '<em><b>Old Container</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the old container view. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Old Container</em>' containment reference.
+ * @see #setOldContainer(DropContainerVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription_OldContainer()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='oldSemanticElement'"
+ * @generated
+ */
+ DropContainerVariable getOldContainer();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getOldContainer <em>Old
+ * Container</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Old Container</em>' containment reference.
+ * @see #getOldContainer()
+ * @generated
+ */
+ void setOldContainer(DropContainerVariable value);
+
+ /**
+ * Returns the value of the '<em><b>New Container</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the new container view. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>New Container</em>' containment reference.
+ * @see #setNewContainer(DropContainerVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription_NewContainer()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='newSemanticContainer'"
+ * @generated
+ */
+ DropContainerVariable getNewContainer();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getNewContainer <em>New
+ * Container</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>New Container</em>' containment reference.
+ * @see #getNewContainer()
+ * @generated
+ */
+ void setNewContainer(DropContainerVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element that is dragged and dropped. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Element</em>' containment reference.
+ * @see #setElement(ElementDropVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription_Element()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ ElementDropVariable getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getElement
+ * <em>Element</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Element</em>' containment reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(ElementDropVariable value);
+
+ /**
+ * Returns the value of the '<em><b>New View Container</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The new view container (instance of ViewPoint or ViewPointElement).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>New View Container</em>' containment reference.
+ * @see #setNewViewContainer(ContainerViewVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription_NewViewContainer()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='newContainerView'"
+ * @generated
+ */
+ ContainerViewVariable getNewViewContainer();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getNewViewContainer <em>New View
+ * Container</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>New View Container</em>' containment reference.
+ * @see #getNewViewContainer()
+ * @generated
+ */
+ void setNewViewContainer(ContainerViewVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialContainerDropOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialContainerDropOperation getInitialOperation();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getInitialOperation <em>Initial
+ * Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialContainerDropOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Drag Source</b></em>' attribute. The literals are from the enumeration
+ * {@link org.eclipse.sirius.viewpoint.description.tool.DragSource}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Authorized sources of the drag. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Drag Source</em>' attribute.
+ * @see org.eclipse.sirius.viewpoint.description.tool.DragSource
+ * @see #setDragSource(DragSource)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription_DragSource()
+ * @model required="true"
+ * @generated
+ */
+ DragSource getDragSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getDragSource
+ * <em>Drag Source</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Drag Source</em>' attribute.
+ * @see org.eclipse.sirius.viewpoint.description.tool.DragSource
+ * @see #getDragSource()
+ * @generated
+ */
+ void setDragSource(DragSource value);
+
+ /**
+ * Returns the value of the '<em><b>Move Edges</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Set to true if you want to automatically move the edges associated with a node. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Move Edges</em>' attribute.
+ * @see #setMoveEdges(boolean)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getContainerDropDescription_MoveEdges()
+ * @model required="true"
+ * @generated
+ */
+ boolean isMoveEdges();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#isMoveEdges
+ * <em>Move Edges</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Move Edges</em>' attribute.
+ * @see #isMoveEdges()
+ * @generated
+ */
+ void setMoveEdges(boolean value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ EList<DragAndDropTargetDescription> getContainers();
+
+} // ContainerDropDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/CreateEdgeView.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/CreateEdgeView.java
new file mode 100644
index 0000000000..35a0315070
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/CreateEdgeView.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Create Edge View</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.CreateEdgeView#getSourceExpression <em>Source Expression</em>}
+ * </li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.CreateEdgeView#getTargetExpression <em>Target Expression</em>}
+ * </li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getCreateEdgeView()
+ * @model
+ * @generated
+ */
+public interface CreateEdgeView extends CreateView {
+ /**
+ * Returns the value of the '<em><b>Source Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Source Expression</em>' attribute.
+ * @see #setSourceExpression(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getCreateEdgeView_SourceExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an EObject.'"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/variables"
+ * @generated
+ */
+ String getSourceExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.CreateEdgeView#getSourceExpression
+ * <em>Source Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source Expression</em>' attribute.
+ * @see #getSourceExpression()
+ * @generated
+ */
+ void setSourceExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Target Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Target Expression</em>' attribute.
+ * @see #setTargetExpression(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getCreateEdgeView_TargetExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='an EObject.'"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/variables"
+ * @generated
+ */
+ String getTargetExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.CreateEdgeView#getTargetExpression
+ * <em>Target Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target Expression</em>' attribute.
+ * @see #getTargetExpression()
+ * @generated
+ */
+ void setTargetExpression(String value);
+
+} // CreateEdgeView
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/CreateView.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/CreateView.java
new file mode 100644
index 0000000000..f9622e9234
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/CreateView.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerModelOperation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Create View</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> This operation allows to create a view. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.CreateView#getMapping <em>Mapping</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.CreateView#getContainerViewExpression <em>Container View
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.CreateView#getVariableName <em>Variable Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getCreateView()
+ * @model
+ * @generated
+ */
+public interface CreateView extends ContainerModelOperation {
+ /**
+ * Returns the value of the '<em><b>Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> Mapping to create a view from. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Mapping</em>' reference.
+ * @see #setMapping(DiagramElementMapping)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getCreateView_Mapping()
+ * @model required="true"
+ * @generated
+ */
+ DiagramElementMapping getMapping();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.CreateView#getMapping
+ * <em>Mapping</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Mapping</em>' reference.
+ * @see #getMapping()
+ * @generated
+ */
+ void setMapping(DiagramElementMapping value);
+
+ /**
+ * Returns the value of the '<em><b>Container View Expression</b></em>' attribute. The default value is
+ * <code>""</code>. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container View Expression</em>' attribute isn't clear, there really should be more of
+ * a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Container View Expression</em>' attribute.
+ * @see #setContainerViewExpression(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getCreateView_ContainerViewExpression()
+ * @model default="" dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a view (DNode,
+ * DEdge, DDiagram -&gt; any DSemanticDecorator).'"
+ * annotation="http://www.eclipse.org/sirius/interpreted/expression/variables"
+ * @generated
+ */
+ String getContainerViewExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.CreateView#getContainerViewExpression
+ * <em>Container View Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Container View Expression</em>' attribute.
+ * @see #getContainerViewExpression()
+ * @generated
+ */
+ void setContainerViewExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Variable Name</b></em>' attribute. The default value is
+ * <code>"createdView"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Once the view
+ * is created, a new variable will be bound with the name given here and will be available to any contained
+ * operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Variable Name</em>' attribute.
+ * @see #setVariableName(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getCreateView_VariableName()
+ * @model default="createdView"
+ * @generated
+ */
+ String getVariableName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.CreateView#getVariableName <em>Variable
+ * Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Variable Name</em>' attribute.
+ * @see #getVariableName()
+ * @generated
+ */
+ void setVariableName(String value);
+
+} // CreateView
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteElementDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteElementDescription.java
new file mode 100644
index 0000000000..f77c8adcd3
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteElementDescription.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.ElementDeleteVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Delete Element Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Tool that describes how to delete a ViewPointElement. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getElementView <em>Element
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getContainerView <em>Container
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getHook <em>Hook</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteElementDescription()
+ * @model
+ * @generated
+ */
+public interface DeleteElementDescription extends MappingBasedToolDescription {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the ViewPointElement to delete. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Element</em>' containment reference.
+ * @see #setElement(ElementDeleteVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteElementDescription_Element()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ ElementDeleteVariable getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getElement
+ * <em>Element</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Element</em>' containment reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(ElementDeleteVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Element View</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element View</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>Element View</em>' containment reference.
+ * @see #setElementView(ElementDeleteVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteElementDescription_ElementView()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ ElementDeleteVariable getElementView();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getElementView
+ * <em>Element View</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Element View</em>' containment reference.
+ * @see #getElementView()
+ * @generated
+ */
+ void setElementView(ElementDeleteVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Container View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The view that contains the ViewPointElement to delete. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Container View</em>' containment reference.
+ * @see #setContainerView(ContainerViewVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteElementDescription_ContainerView()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ ContainerViewVariable getContainerView();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getContainerView <em>Container
+ * View</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Container View</em>' containment reference.
+ * @see #getContainerView()
+ * @generated
+ */
+ void setContainerView(ContainerViewVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteElementDescription_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialOperation getInitialOperation();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getInitialOperation <em>Initial
+ * Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Hook</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hook</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>Hook</em>' containment reference.
+ * @see #setHook(DeleteHook)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteElementDescription_Hook()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ DeleteHook getHook();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getHook
+ * <em>Hook</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Hook</em>' containment reference.
+ * @see #getHook()
+ * @generated
+ */
+ void setHook(DeleteHook value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ EList<DiagramElementMapping> getMappings();
+
+} // DeleteElementDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteHook.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteHook.java
new file mode 100644
index 0000000000..c091fe4b64
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteHook.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Delete Hook</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteHook#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteHook#getParameters <em>Parameters</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteHook()
+ * @model
+ * @generated
+ */
+public interface DeleteHook extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteHook_Id()
+ * @model required="true"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DeleteHook#getId <em>Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Parameters</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameters</em>' containment reference list isn't clear, there really should be more
+ * of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Parameters</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteHook_Parameters()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<DeleteHookParameter> getParameters();
+
+} // DeleteHook
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteHookParameter.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteHookParameter.java
new file mode 100644
index 0000000000..1ed22f6260
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DeleteHookParameter.java
@@ -0,0 +1,83 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Delete Hook Parameter</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteHookParameter()
+ * @model
+ * @generated
+ */
+public interface DeleteHookParameter extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> Name of the parameter <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteHookParameter_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter#getName
+ * <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> Value of the parameter. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDeleteHookParameter_Value()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a Collection<EObject> or an
+ * EObject.'"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter#getValue
+ * <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // DeleteHookParameter
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DiagramCreationDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DiagramCreationDescription.java
new file mode 100644
index 0000000000..299a597dd5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DiagramCreationDescription.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Diagram Creation Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription#getDiagramDescription <em>Diagram
+ * Description</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDiagramCreationDescription()
+ * @model
+ * @generated
+ */
+public interface DiagramCreationDescription extends RepresentationCreationDescription {
+ /**
+ * Returns the value of the '<em><b>Diagram Description</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Diagram Description</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Diagram Description</em>' reference.
+ * @see #setDiagramDescription(DiagramDescription)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDiagramCreationDescription_DiagramDescription()
+ * @model required="true"
+ * @generated
+ */
+ DiagramDescription getDiagramDescription();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription#getDiagramDescription <em>Diagram
+ * Description</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Diagram Description</em>' reference.
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ void setDiagramDescription(DiagramDescription value);
+
+} // DiagramCreationDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DiagramNavigationDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DiagramNavigationDescription.java
new file mode 100644
index 0000000000..bc008e2579
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DiagramNavigationDescription.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationNavigationDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Diagram Navigation Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription#getDiagramDescription <em>Diagram
+ * Description</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDiagramNavigationDescription()
+ * @model
+ * @generated
+ */
+public interface DiagramNavigationDescription extends RepresentationNavigationDescription {
+ /**
+ * Returns the value of the '<em><b>Diagram Description</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Diagram Description</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Diagram Description</em>' reference.
+ * @see #setDiagramDescription(DiagramDescription)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDiagramNavigationDescription_DiagramDescription()
+ * @model required="true"
+ * @generated
+ */
+ DiagramDescription getDiagramDescription();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription#getDiagramDescription
+ * <em>Diagram Description</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Diagram Description</em>' reference.
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ void setDiagramDescription(DiagramDescription value);
+
+} // DiagramNavigationDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DirectEditLabel.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DirectEditLabel.java
new file mode 100644
index 0000000000..ec58407cfe
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DirectEditLabel.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.viewpoint.description.tool.EditMaskVariables;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Direct Edit Label</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <!-- begin-model-doc --> A tool that allows to edit the label of a ViewPointElement. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getMask <em>Mask</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getInitialOperation <em>Initial Operation</em>
+ * }</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getInputLabelExpression <em>Input Label
+ * Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDirectEditLabel()
+ * @model
+ * @generated
+ */
+public interface DirectEditLabel extends MappingBasedToolDescription {
+ /**
+ * Returns the value of the '<em><b>Mask</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The edit mask. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Mask</em>' containment reference.
+ * @see #setMask(EditMaskVariables)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDirectEditLabel_Mask()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ EditMaskVariables getMask();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getMask <em>Mask</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Mask</em>' containment reference.
+ * @see #getMask()
+ * @generated
+ */
+ void setMask(EditMaskVariables value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDirectEditLabel_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialOperation getInitialOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getInitialOperation
+ * <em>Initial Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Input Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> Expression that computes the name of a diagramElement to edit with
+ * direct edit tool. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Input Label Expression</em>' attribute.
+ * @see #setInputLabelExpression(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDirectEditLabel_InputLabelExpression()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a string.'" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/variables diagram='diagram.DSemanticDiagram | the
+ * current DSemanticDiagram.' view='diagram.DDiagramElement | the current view for which the label is
+ * calculated.'"
+ * @generated
+ */
+ String getInputLabelExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getInputLabelExpression
+ * <em>Input Label Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Input Label Expression</em>' attribute.
+ * @see #getInputLabelExpression()
+ * @generated
+ */
+ void setInputLabelExpression(String value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ EList<DiagramElementMapping> getMapping();
+
+} // DirectEditLabel
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DoubleClickDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DoubleClickDescription.java
new file mode 100644
index 0000000000..574cb93cf1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/DoubleClickDescription.java
@@ -0,0 +1,134 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Double Click Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Tool that describes double click behaviour. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getMappings <em>Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getElementView <em>Element
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDoubleClickDescription()
+ * @model
+ * @generated
+ */
+public interface DoubleClickDescription extends MappingBasedToolDescription {
+ /**
+ * Returns the value of the '<em><b>Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. It is bidirectional and its opposite is '
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping#getDoubleClickDescription <em>Double Click
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Mappings associated
+ * with this deletion behavior. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDoubleClickDescription_Mappings()
+ * @see org.eclipse.sirius.diagram.description.DiagramElementMapping#getDoubleClickDescription
+ * @model opposite="doubleClickDescription" required="true"
+ * @generated
+ */
+ EList<DiagramElementMapping> getMappings();
+
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the ViewPointElement to delete. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Element</em>' containment reference.
+ * @see #setElement(ElementDoubleClickVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDoubleClickDescription_Element()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ ElementDoubleClickVariable getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getElement
+ * <em>Element</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Element</em>' containment reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(ElementDoubleClickVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Element View</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element View</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>Element View</em>' containment reference.
+ * @see #setElementView(ElementDoubleClickVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDoubleClickDescription_ElementView()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ ElementDoubleClickVariable getElementView();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getElementView
+ * <em>Element View</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Element View</em>' containment reference.
+ * @see #getElementView()
+ * @generated
+ */
+ void setElementView(ElementDoubleClickVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getDoubleClickDescription_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialOperation getInitialOperation();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getInitialOperation <em>Initial
+ * Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialOperation value);
+
+} // DoubleClickDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/EdgeCreationDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/EdgeCreationDescription.java
new file mode 100644
index 0000000000..0dd74501e2
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/EdgeCreationDescription.java
@@ -0,0 +1,278 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.viewpoint.description.tool.InitEdgeCreationOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Edge Creation Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Tools to create a ViewEdge it appears in the palette. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getEdgeMappings <em>Edge
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getSourceVariable <em>Source
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getTargetVariable <em>Target
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getSourceViewVariable <em>Source View
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getTargetViewVariable <em>Target View
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getIconPath <em>Icon Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getExtraSourceMappings <em>Extra
+ * Source Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getExtraTargetMappings <em>Extra
+ * Target Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getConnectionStartPrecondition
+ * <em>Connection Start Precondition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription()
+ * @model
+ * @generated
+ */
+public interface EdgeCreationDescription extends MappingBasedToolDescription {
+ /**
+ * Returns the value of the '<em><b>Edge Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.EdgeMapping}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> All EdgeMappings used by this tool. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Edge Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_EdgeMappings()
+ * @model required="true"
+ * @generated
+ */
+ EList<EdgeMapping> getEdgeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Source Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the source view. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source Variable</em>' containment reference.
+ * @see #setSourceVariable(SourceEdgeCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_SourceVariable()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='source'"
+ * @generated
+ */
+ SourceEdgeCreationVariable getSourceVariable();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getSourceVariable <em>Source
+ * Variable</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source Variable</em>' containment reference.
+ * @see #getSourceVariable()
+ * @generated
+ */
+ void setSourceVariable(SourceEdgeCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Target Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the target view. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target Variable</em>' containment reference.
+ * @see #setTargetVariable(TargetEdgeCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_TargetVariable()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='target'"
+ * @generated
+ */
+ TargetEdgeCreationVariable getTargetVariable();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getTargetVariable <em>Target
+ * Variable</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target Variable</em>' containment reference.
+ * @see #getTargetVariable()
+ * @generated
+ */
+ void setTargetVariable(TargetEdgeCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Source View Variable</b></em>' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The source view (instance of EdgeTarget) <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source View Variable</em>' containment reference.
+ * @see #setSourceViewVariable(SourceEdgeViewCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_SourceViewVariable()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='sourceView'"
+ * @generated
+ */
+ SourceEdgeViewCreationVariable getSourceViewVariable();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getSourceViewVariable <em>Source View
+ * Variable</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source View Variable</em>' containment reference.
+ * @see #getSourceViewVariable()
+ * @generated
+ */
+ void setSourceViewVariable(SourceEdgeViewCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Target View Variable</b></em>' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The target view (instance of EdgeTarget) <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target View Variable</em>' containment reference.
+ * @see #setTargetViewVariable(TargetEdgeViewCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_TargetViewVariable()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='targetView'"
+ * @generated
+ */
+ TargetEdgeViewCreationVariable getTargetViewVariable();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getTargetViewVariable <em>Target View
+ * Variable</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target View Variable</em>' containment reference.
+ * @see #getTargetViewVariable()
+ * @generated
+ */
+ void setTargetViewVariable(TargetEdgeViewCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitEdgeCreationOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitEdgeCreationOperation getInitialOperation();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitEdgeCreationOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Icon Path</b></em>' attribute. The default value is <code>""</code>. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The path of the icon to display in the palette.
+ * If unset, the icon corresponding to the semantic element associated with the mapping will be displayed. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Icon Path</em>' attribute.
+ * @see #setIconPath(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_IconPath()
+ * @model default=""
+ * @generated
+ */
+ String getIconPath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getIconPath
+ * <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Icon Path</em>' attribute.
+ * @see #getIconPath()
+ * @generated
+ */
+ void setIconPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extra Source Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> All mappings that create views that are able to received a request to manage this
+ * creation
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Extra Source Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_ExtraSourceMappings()
+ * @model
+ * @generated
+ */
+ EList<DiagramElementMapping> getExtraSourceMappings();
+
+ /**
+ * Returns the value of the '<em><b>Extra Target Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.DiagramElementMapping}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> All mappings that create views that are able to received a request to manage this
+ * creation
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Extra Target Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_ExtraTargetMappings()
+ * @model
+ * @generated
+ */
+ EList<DiagramElementMapping> getExtraTargetMappings();
+
+ /**
+ * Returns the value of the '<em><b>Connection Start Precondition</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The start precondition of the tool. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Connection Start Precondition</em>' attribute.
+ * @see #setConnectionStartPrecondition(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getEdgeCreationDescription_ConnectionStartPrecondition()
+ * @model dataType= "org.eclipse.sirius.viewpoint.description.InterpretedExpression" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/variables container='ecore.EObject | the semantic
+ * element of diagram.' preSourceView='diagram.EdgeTarget | (edge only) the source view of the current
+ * potential edge.' preSource='ecore.EObject | (edge only) the semantic element of $preSourceView.'
+ * diagram='diagram.DSemanticDiagram | the diagram of the current potential edge'" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/returnType returnType='a boolean.'"
+ * @generated
+ */
+ String getConnectionStartPrecondition();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getConnectionStartPrecondition
+ * <em>Connection Start Precondition</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Connection Start Precondition</em>' attribute.
+ * @see #getConnectionStartPrecondition()
+ * @generated
+ */
+ void setConnectionStartPrecondition(String value);
+
+} // EdgeCreationDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ElementDoubleClickVariable.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ElementDoubleClickVariable.java
new file mode 100644
index 0000000000..21d1b151ea
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ElementDoubleClickVariable.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.viewpoint.description.AbstractVariable;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Element Double Click Variable</b></em>'. <!--
+ * end-user-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getElementDoubleClickVariable()
+ * @model
+ * @generated
+ */
+public interface ElementDoubleClickVariable extends AbstractVariable, VariableContainer {
+} // ElementDoubleClickVariable
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/Navigation.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/Navigation.java
new file mode 100644
index 0000000000..a62a400ee3
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/Navigation.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerModelOperation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Navigation</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Open or create a representation for the element. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.Navigation#isCreateIfNotExistent <em>Create If Not
+ * Existent</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.Navigation#getDiagramDescription <em>Diagram
+ * Description</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNavigation()
+ * @model
+ * @generated
+ */
+public interface Navigation extends ContainerModelOperation {
+ /**
+ * Returns the value of the '<em><b>Create If Not Existent</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Create If Not Existent</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Create If Not Existent</em>' attribute.
+ * @see #setCreateIfNotExistent(boolean)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNavigation_CreateIfNotExistent()
+ * @model
+ * @generated
+ */
+ boolean isCreateIfNotExistent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.Navigation#isCreateIfNotExistent
+ * <em>Create If Not Existent</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Create If Not Existent</em>' attribute.
+ * @see #isCreateIfNotExistent()
+ * @generated
+ */
+ void setCreateIfNotExistent(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Diagram Description</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Diagram Description</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Diagram Description</em>' reference.
+ * @see #setDiagramDescription(DiagramDescription)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNavigation_DiagramDescription()
+ * @model required="true"
+ * @generated
+ */
+ DiagramDescription getDiagramDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.Navigation#getDiagramDescription
+ * <em>Diagram Description</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Diagram Description</em>' reference.
+ * @see #getDiagramDescription()
+ * @generated
+ */
+ void setDiagramDescription(DiagramDescription value);
+
+} // Navigation
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/NodeCreationDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/NodeCreationDescription.java
new file mode 100644
index 0000000000..c5b638e7fe
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/NodeCreationDescription.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialNodeCreationOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Node Creation Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Tool to create a ViewNode. It appears in the palette. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getNodeMappings <em>Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getVariable <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getViewVariable <em>View
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getIconPath <em>Icon Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getExtraMappings <em>Extra
+ * Mappings</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNodeCreationDescription()
+ * @model
+ * @generated
+ */
+public interface NodeCreationDescription extends MappingBasedToolDescription {
+ /**
+ * Returns the value of the '<em><b>Node Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.NodeMapping}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> Node mappings used by this tool. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Node Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNodeCreationDescription_NodeMappings()
+ * @model required="true"
+ * @generated
+ */
+ EList<NodeMapping> getNodeMappings();
+
+ /**
+ * Returns the value of the '<em><b>Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The variable container that represents the semantic element of the
+ * clicked view. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Variable</em>' containment reference.
+ * @see #setVariable(NodeCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNodeCreationDescription_Variable()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='container'" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/variables type='ecore.EObject'"
+ * @generated
+ */
+ NodeCreationVariable getVariable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getVariable
+ * <em>Variable</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Variable</em>' containment reference.
+ * @see #getVariable()
+ * @generated
+ */
+ void setVariable(NodeCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>View Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The variable containerView that represents the clickedView (instance of
+ * ViewPoint or ViewPointElement). <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>View Variable</em>' containment reference.
+ * @see #setViewVariable(ContainerViewVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNodeCreationDescription_ViewVariable()
+ * @model containment="true" resolveProxies="true" required="true" annotation=
+ * "http://www.eclipse.org/emf/2002/GenModel documentedName='containerView'" annotation=
+ * "http://www.eclipse.org/sirius/interpreted/expression/variables type='diagram.DDiagramElementContainer'"
+ * @generated
+ */
+ ContainerViewVariable getViewVariable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getViewVariable
+ * <em>View Variable</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>View Variable</em>' containment reference.
+ * @see #getViewVariable()
+ * @generated
+ */
+ void setViewVariable(ContainerViewVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation to execute. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialNodeCreationOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNodeCreationDescription_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialNodeCreationOperation getInitialOperation();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialNodeCreationOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Icon Path</b></em>' attribute. The default value is <code>""</code>. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The path of the icon to display in the palette.
+ * If unset, the icon corresponding to the semantic element associated with the mapping will be displayed. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Icon Path</em>' attribute.
+ * @see #setIconPath(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNodeCreationDescription_IconPath()
+ * @model default=""
+ * @generated
+ */
+ String getIconPath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getIconPath
+ * <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Icon Path</em>' attribute.
+ * @see #getIconPath()
+ * @generated
+ */
+ void setIconPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extra Mappings</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.AbstractNodeMapping}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Add here any mapping in which you want to allow the tool execution. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Extra Mappings</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNodeCreationDescription_ExtraMappings()
+ * @model
+ * @generated
+ */
+ EList<AbstractNodeMapping> getExtraMappings();
+
+} // NodeCreationDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/NodeCreationVariable.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/NodeCreationVariable.java
new file mode 100644
index 0000000000..514c366e7d
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/NodeCreationVariable.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.viewpoint.description.AbstractVariable;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Node Creation Variable</b></em>'. <!--
+ * end-user-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getNodeCreationVariable()
+ * @model
+ * @generated
+ */
+public interface NodeCreationVariable extends AbstractVariable, VariableContainer {
+} // NodeCreationVariable
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ReconnectEdgeDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ReconnectEdgeDescription.java
new file mode 100644
index 0000000000..3dfed3ecf4
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ReconnectEdgeDescription.java
@@ -0,0 +1,258 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.viewpoint.description.tool.ElementSelectVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Reconnect Edge Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A tool that describes how to reconnect a ViewEdge. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getReconnectionKind <em>Reconnection
+ * Kind</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getSourceView <em>Source
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getTargetView <em>Target
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getEdgeView <em>Edge View</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription()
+ * @model
+ * @generated
+ */
+public interface ReconnectEdgeDescription extends MappingBasedToolDescription {
+ /**
+ * Returns the value of the '<em><b>Reconnection Kind</b></em>' attribute. The default value is
+ * <code>"RECONNECT_TARGET"</code>. The literals are from the enumeration
+ * {@link org.eclipse.sirius.diagram.description.tool.ReconnectionKind}. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The kind of reconnection : SOURCE : the source of the ViewEdge can be reconnected
+ * but not the target. TARGET : the target of the ViewEdge can be reconnected but not the source.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Reconnection Kind</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectionKind
+ * @see #setReconnectionKind(ReconnectionKind)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription_ReconnectionKind()
+ * @model default="RECONNECT_TARGET" required="true"
+ * @generated
+ */
+ ReconnectionKind getReconnectionKind();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getReconnectionKind <em>Reconnection
+ * Kind</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Reconnection Kind</em>' attribute.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectionKind
+ * @see #getReconnectionKind()
+ * @generated
+ */
+ void setReconnectionKind(ReconnectionKind value);
+
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the source view of the reconnection operation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source</em>' containment reference.
+ * @see #setSource(SourceEdgeCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription_Source()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ SourceEdgeCreationVariable getSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getSource
+ * <em>Source</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source</em>' containment reference.
+ * @see #getSource()
+ * @generated
+ */
+ void setSource(SourceEdgeCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the target view of the reconnection operation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target</em>' containment reference.
+ * @see #setTarget(TargetEdgeCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription_Target()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ TargetEdgeCreationVariable getTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getTarget
+ * <em>Target</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target</em>' containment reference.
+ * @see #getTarget()
+ * @generated
+ */
+ void setTarget(TargetEdgeCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Source View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The source view of the reconnection operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source View</em>' containment reference.
+ * @see #setSourceView(SourceEdgeViewCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription_SourceView()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ SourceEdgeViewCreationVariable getSourceView();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getSourceView
+ * <em>Source View</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source View</em>' containment reference.
+ * @see #getSourceView()
+ * @generated
+ */
+ void setSourceView(SourceEdgeViewCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Target View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The target view of the reconnection operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target View</em>' containment reference.
+ * @see #setTargetView(TargetEdgeViewCreationVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription_TargetView()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ TargetEdgeViewCreationVariable getTargetView();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getTargetView
+ * <em>Target View</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target View</em>' containment reference.
+ * @see #getTargetView()
+ * @generated
+ */
+ void setTargetView(TargetEdgeViewCreationVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The semantic element of the ViewEdge. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Element</em>' containment reference.
+ * @see #setElement(ElementSelectVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription_Element()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ ElementSelectVariable getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getElement
+ * <em>Element</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Element</em>' containment reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(ElementSelectVariable value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The first operation. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialOperation)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription_InitialOperation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialOperation getInitialOperation();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getInitialOperation <em>Initial
+ * Operation</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Edge View</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Edge View</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>Edge View</em>' containment reference.
+ * @see #setEdgeView(ElementSelectVariable)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectEdgeDescription_EdgeView()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ ElementSelectVariable getEdgeView();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getEdgeView
+ * <em>Edge View</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Edge View</em>' containment reference.
+ * @see #getEdgeView()
+ * @generated
+ */
+ void setEdgeView(ElementSelectVariable value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ EList<EdgeMapping> getMappings();
+
+} // ReconnectEdgeDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ReconnectionKind.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ReconnectionKind.java
new file mode 100644
index 0000000000..38078c1133
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ReconnectionKind.java
@@ -0,0 +1,249 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration ' <em><b>Reconnection Kind</b></em>', and
+ * utility methods for working with them. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getReconnectionKind()
+ * @model
+ * @generated
+ */
+public enum ReconnectionKind implements Enumerator {
+ /**
+ * The '<em><b>RECONNECT TARGET</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #RECONNECT_TARGET
+ * @generated
+ * @ordered
+ */
+ RECONNECT_TARGET_LITERAL(0, "RECONNECT_TARGET", "RECONNECT_TARGET"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>RECONNECT SOURCE</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #RECONNECT_SOURCE
+ * @generated
+ * @ordered
+ */
+ RECONNECT_SOURCE_LITERAL(1, "RECONNECT_SOURCE", "RECONNECT_SOURCE"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>RECONNECT BOTH</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #RECONNECT_BOTH
+ * @generated
+ * @ordered
+ */
+ RECONNECT_BOTH_LITERAL(2, "RECONNECT_BOTH", "RECONNECT_BOTH"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>RECONNECT TARGET</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>RECONNECT TARGET</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #RECONNECT_TARGET_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int RECONNECT_TARGET = 0;
+
+ /**
+ * The '<em><b>RECONNECT SOURCE</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>RECONNECT SOURCE</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #RECONNECT_SOURCE_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int RECONNECT_SOURCE = 1;
+
+ /**
+ * The '<em><b>RECONNECT BOTH</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>RECONNECT BOTH</b></em>' literal object isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #RECONNECT_BOTH_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int RECONNECT_BOTH = 2;
+
+ /**
+ * An array of all the '<em><b>Reconnection Kind</b></em>' enumerators. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ private static final ReconnectionKind[] VALUES_ARRAY = new ReconnectionKind[] { RECONNECT_TARGET_LITERAL, RECONNECT_SOURCE_LITERAL, RECONNECT_BOTH_LITERAL, };
+
+ /**
+ * A public read-only list of all the '<em><b>Reconnection Kind</b></em>' enumerators. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<ReconnectionKind> VALUES = Collections.unmodifiableList(Arrays.asList(ReconnectionKind.VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Reconnection Kind</b></em>' literal with the specified literal value. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param literal
+ * the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ReconnectionKind get(String literal) {
+ for (ReconnectionKind result : ReconnectionKind.VALUES_ARRAY) {
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Reconnection Kind</b></em>' literal with the specified name. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param name
+ * the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ReconnectionKind getByName(String name) {
+ for (ReconnectionKind result : ReconnectionKind.VALUES_ARRAY) {
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Reconnection Kind</b></em>' literal with the specified integer value. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ReconnectionKind get(int value) {
+ switch (value) {
+ case RECONNECT_TARGET:
+ return RECONNECT_TARGET_LITERAL;
+ case RECONNECT_SOURCE:
+ return RECONNECT_SOURCE_LITERAL;
+ case RECONNECT_BOTH:
+ return RECONNECT_BOTH_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private ReconnectionKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // ReconnectionKind
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/RequestDescription.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/RequestDescription.java
new file mode 100644
index 0000000000..6995854826
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/RequestDescription.java
@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Request Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.RequestDescription#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getRequestDescription()
+ * @model
+ * @generated
+ */
+public interface RequestDescription extends AbstractToolDescription {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> An Identifier for your request. This request will be send through GEF and any EditPolicy
+ * handling this request will then be able to perform commands. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getRequestDescription_Type()
+ * @model required="true"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.RequestDescription#getType
+ * <em>Type</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+} // RequestDescription
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/SourceEdgeCreationVariable.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/SourceEdgeCreationVariable.java
new file mode 100644
index 0000000000..bd728125c6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/SourceEdgeCreationVariable.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.viewpoint.description.AbstractVariable;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Source Edge Creation Variable</b></em>'. <!--
+ * end-user-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getSourceEdgeCreationVariable()
+ * @model
+ * @generated
+ */
+public interface SourceEdgeCreationVariable extends AbstractVariable, VariableContainer {
+} // SourceEdgeCreationVariable
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/SourceEdgeViewCreationVariable.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/SourceEdgeViewCreationVariable.java
new file mode 100644
index 0000000000..1a63a93b0e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/SourceEdgeViewCreationVariable.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.viewpoint.description.AbstractVariable;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Source Edge View Creation Variable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getSourceEdgeViewCreationVariable()
+ * @model
+ * @generated
+ */
+public interface SourceEdgeViewCreationVariable extends AbstractVariable, VariableContainer {
+} // SourceEdgeViewCreationVariable
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/TargetEdgeCreationVariable.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/TargetEdgeCreationVariable.java
new file mode 100644
index 0000000000..c5ba95b527
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/TargetEdgeCreationVariable.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.viewpoint.description.AbstractVariable;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Target Edge Creation Variable</b></em>'. <!--
+ * end-user-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getTargetEdgeCreationVariable()
+ * @model
+ * @generated
+ */
+public interface TargetEdgeCreationVariable extends AbstractVariable, VariableContainer {
+} // TargetEdgeCreationVariable
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/TargetEdgeViewCreationVariable.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/TargetEdgeViewCreationVariable.java
new file mode 100644
index 0000000000..a4ced912e7
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/TargetEdgeViewCreationVariable.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.sirius.viewpoint.description.AbstractVariable;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Target Edge View Creation Variable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getTargetEdgeViewCreationVariable()
+ * @model
+ * @generated
+ */
+public interface TargetEdgeViewCreationVariable extends AbstractVariable, VariableContainer {
+} // TargetEdgeViewCreationVariable
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolFactory.java
new file mode 100644
index 0000000000..232169dfac
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolFactory.java
@@ -0,0 +1,260 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+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.sirius.diagram.description.tool.ToolPackage
+ * @generated
+ */
+public interface ToolFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ ToolFactory eINSTANCE = org.eclipse.sirius.diagram.description.tool.impl.ToolFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Section</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Section</em>'.
+ * @generated
+ */
+ ToolSection createToolSection();
+
+ /**
+ * Returns a new object of class '<em>Group</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Group</em>'.
+ * @generated
+ */
+ ToolGroup createToolGroup();
+
+ /**
+ * Returns a new object of class '<em>Group Extension</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Group Extension</em>'.
+ * @generated
+ */
+ ToolGroupExtension createToolGroupExtension();
+
+ /**
+ * Returns a new object of class '<em>Node Creation Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Node Creation Description</em>'.
+ * @generated
+ */
+ NodeCreationDescription createNodeCreationDescription();
+
+ /**
+ * Returns a new object of class '<em>Edge Creation Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Edge Creation Description</em>'.
+ * @generated
+ */
+ EdgeCreationDescription createEdgeCreationDescription();
+
+ /**
+ * Returns a new object of class '<em>Container Creation Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Container Creation Description</em>'.
+ * @generated
+ */
+ ContainerCreationDescription createContainerCreationDescription();
+
+ /**
+ * Returns a new object of class '<em>Delete Element Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Delete Element Description</em>'.
+ * @generated
+ */
+ DeleteElementDescription createDeleteElementDescription();
+
+ /**
+ * Returns a new object of class '<em>Double Click Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Double Click Description</em>'.
+ * @generated
+ */
+ DoubleClickDescription createDoubleClickDescription();
+
+ /**
+ * Returns a new object of class '<em>Delete Hook</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Delete Hook</em>'.
+ * @generated
+ */
+ DeleteHook createDeleteHook();
+
+ /**
+ * Returns a new object of class '<em>Delete Hook Parameter</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Delete Hook Parameter</em>'.
+ * @generated
+ */
+ DeleteHookParameter createDeleteHookParameter();
+
+ /**
+ * Returns a new object of class '<em>Reconnect Edge Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Reconnect Edge Description</em>'.
+ * @generated
+ */
+ ReconnectEdgeDescription createReconnectEdgeDescription();
+
+ /**
+ * Returns a new object of class '<em>Request Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Request Description</em>'.
+ * @generated
+ */
+ RequestDescription createRequestDescription();
+
+ /**
+ * Returns a new object of class '<em>Direct Edit Label</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Direct Edit Label</em>'.
+ * @generated
+ */
+ DirectEditLabel createDirectEditLabel();
+
+ /**
+ * Returns a new object of class '<em>Behavior Tool</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Behavior Tool</em>'.
+ * @generated
+ */
+ BehaviorTool createBehaviorTool();
+
+ /**
+ * Returns a new object of class '<em>Source Edge Creation Variable</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Source Edge Creation Variable</em>'.
+ * @generated
+ */
+ SourceEdgeCreationVariable createSourceEdgeCreationVariable();
+
+ /**
+ * Returns a new object of class '<em>Source Edge View Creation Variable</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Source Edge View Creation Variable</em>'.
+ * @generated
+ */
+ SourceEdgeViewCreationVariable createSourceEdgeViewCreationVariable();
+
+ /**
+ * Returns a new object of class '<em>Target Edge Creation Variable</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Target Edge Creation Variable</em>'.
+ * @generated
+ */
+ TargetEdgeCreationVariable createTargetEdgeCreationVariable();
+
+ /**
+ * Returns a new object of class '<em>Target Edge View Creation Variable</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Target Edge View Creation Variable</em>'.
+ * @generated
+ */
+ TargetEdgeViewCreationVariable createTargetEdgeViewCreationVariable();
+
+ /**
+ * Returns a new object of class '<em>Element Double Click Variable</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Element Double Click Variable</em>'.
+ * @generated
+ */
+ ElementDoubleClickVariable createElementDoubleClickVariable();
+
+ /**
+ * Returns a new object of class '<em>Node Creation Variable</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Node Creation Variable</em>'.
+ * @generated
+ */
+ NodeCreationVariable createNodeCreationVariable();
+
+ /**
+ * Returns a new object of class '<em>Create View</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Create View</em>'.
+ * @generated
+ */
+ CreateView createCreateView();
+
+ /**
+ * Returns a new object of class '<em>Create Edge View</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Create Edge View</em>'.
+ * @generated
+ */
+ CreateEdgeView createCreateEdgeView();
+
+ /**
+ * Returns a new object of class '<em>Navigation</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Navigation</em>'.
+ * @generated
+ */
+ Navigation createNavigation();
+
+ /**
+ * Returns a new object of class '<em>Diagram Creation Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Diagram Creation Description</em>'.
+ * @generated
+ */
+ DiagramCreationDescription createDiagramCreationDescription();
+
+ /**
+ * Returns a new object of class '<em>Diagram Navigation Description</em>'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return a new object of class '<em>Diagram Navigation Description</em>'.
+ * @generated
+ */
+ DiagramNavigationDescription createDiagramNavigationDescription();
+
+ /**
+ * Returns a new object of class '<em>Container Drop Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Container Drop Description</em>'.
+ * @generated
+ */
+ ContainerDropDescription createContainerDropDescription();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ToolPackage getToolPackage();
+
+} // ToolFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolGroup.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolGroup.java
new file mode 100644
index 0000000000..3a19eaa00c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolGroup.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ToolEntry;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Group</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolGroup#getTools <em>Tools</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolGroup()
+ * @model
+ * @generated
+ */
+public interface ToolGroup extends ToolEntry {
+ /**
+ * Returns the value of the '<em><b>Tools</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tools</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>Tools</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolGroup_Tools()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<AbstractToolDescription> getTools();
+
+} // ToolGroup
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolGroupExtension.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolGroupExtension.java
new file mode 100644
index 0000000000..ea3d3d9599
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolGroupExtension.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Group Extension</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolGroupExtension#getGroup <em>Group</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolGroupExtension#getTools <em>Tools</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolGroupExtension()
+ * @model
+ * @generated
+ */
+public interface ToolGroupExtension extends EObject {
+ /**
+ * Returns the value of the '<em><b>Group</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Group</em>' reference isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Group</em>' reference.
+ * @see #setGroup(ToolGroup)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolGroupExtension_Group()
+ * @model required="true"
+ * @generated
+ */
+ ToolGroup getGroup();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ToolGroupExtension#getGroup
+ * <em>Group</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Group</em>' reference.
+ * @see #getGroup()
+ * @generated
+ */
+ void setGroup(ToolGroup value);
+
+ /**
+ * Returns the value of the '<em><b>Tools</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tools</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>Tools</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolGroupExtension_Tools()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<AbstractToolDescription> getTools();
+
+} // ToolGroupExtension
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolPackage.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolPackage.java
new file mode 100644
index 0000000000..41e748b253
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolPackage.java
@@ -0,0 +1,4460 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+
+/**
+ * <!-- 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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ToolPackage extends EPackage {
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "tool"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/sirius/diagram/description/tool/1.1.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "tool"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ ToolPackage eINSTANCE = org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl
+ * <em>Section</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getToolSection()
+ * @generated
+ */
+ int TOOL_SECTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__DOCUMENTATION = DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__NAME = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__LABEL = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__ICON = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Owned Tools</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__OWNED_TOOLS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Sub Sections</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__SUB_SECTIONS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Popup Menus</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__POPUP_MENUS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Reused Tools</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__REUSED_TOOLS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Group Extensions</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__GROUP_EXTENSIONS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Groups</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION__GROUPS = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Section</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_SECTION_FEATURE_COUNT = DescriptionPackage.DOCUMENTED_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupImpl
+ * <em>Group</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolGroupImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getToolGroup()
+ * @generated
+ */
+ int TOOL_GROUP = 1;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.TOOL_ENTRY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.TOOL_ENTRY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.TOOL_ENTRY__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Tools</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__TOOLS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.TOOL_ENTRY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Group</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.TOOL_ENTRY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupExtensionImpl
+ * <em>Group Extension</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolGroupExtensionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getToolGroupExtension()
+ * @generated
+ */
+ int TOOL_GROUP_EXTENSION = 2;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP_EXTENSION__GROUP = 0;
+
+ /**
+ * The feature id for the '<em><b>Tools</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP_EXTENSION__TOOLS = 1;
+
+ /**
+ * The number of structural features of the '<em>Group Extension</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP_EXTENSION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl
+ * <em>Node Creation Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getNodeCreationDescription()
+ * @generated
+ */
+ int NODE_CREATION_DESCRIPTION = 3;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Node Mappings</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__NODE_MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>View Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__VIEW_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__ICON_PATH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Extra Mappings</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION__EXTRA_MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Node Creation Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl
+ * <em>Edge Creation Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getEdgeCreationDescription()
+ * @generated
+ */
+ int EDGE_CREATION_DESCRIPTION = 4;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Edge Mappings</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__EDGE_MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Source Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Source View Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Target View Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__ICON_PATH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Extra Source Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__EXTRA_SOURCE_MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Extra Target Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__EXTRA_TARGET_MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Connection Start Precondition</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION__CONNECTION_START_PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>Edge Creation Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_CREATION_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 10;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl <em>Container Creation
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getContainerCreationDescription()
+ * @generated
+ */
+ int CONTAINER_CREATION_DESCRIPTION = 5;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Container Mappings</b></em>' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__CONTAINER_MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>View Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Icon Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__ICON_PATH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Extra Mappings</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION__EXTRA_MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Container Creation Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CREATION_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl
+ * <em>Delete Element Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDeleteElementDescription()
+ * @generated
+ */
+ int DELETE_ELEMENT_DESCRIPTION = 6;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__ELEMENT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Element View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Container View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Hook</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION__HOOK = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Delete Element Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_ELEMENT_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.DoubleClickDescriptionImpl
+ * <em>Double Click Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DoubleClickDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDoubleClickDescription()
+ * @generated
+ */
+ int DOUBLE_CLICK_DESCRIPTION = 7;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Mappings</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__ELEMENT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Element View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Double Click Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_CLICK_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteHookImpl <em>Delete
+ * Hook</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DeleteHookImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDeleteHook()
+ * @generated
+ */
+ int DELETE_HOOK = 8;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_HOOK__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_HOOK__PARAMETERS = 1;
+
+ /**
+ * The number of structural features of the '<em>Delete Hook</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_HOOK_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteHookParameterImpl
+ * <em>Delete Hook Parameter</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DeleteHookParameterImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDeleteHookParameter()
+ * @generated
+ */
+ int DELETE_HOOK_PARAMETER = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_HOOK_PARAMETER__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_HOOK_PARAMETER__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Delete Hook Parameter</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DELETE_HOOK_PARAMETER_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl
+ * <em>Reconnect Edge Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getReconnectEdgeDescription()
+ * @generated
+ */
+ int RECONNECT_EDGE_DESCRIPTION = 10;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Reconnection Kind</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__RECONNECTION_KIND = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__SOURCE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__TARGET = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Source View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Target View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__ELEMENT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Edge View</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Reconnect Edge Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECONNECT_EDGE_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.RequestDescriptionImpl
+ * <em>Request Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.RequestDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getRequestDescription()
+ * @generated
+ */
+ int REQUEST_DESCRIPTION = 11;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION__TYPE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Request Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.DirectEditLabelImpl
+ * <em>Direct Edit Label</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DirectEditLabelImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDirectEditLabel()
+ * @generated
+ */
+ int DIRECT_EDIT_LABEL = 12;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Mask</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__MASK = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Input Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL__INPUT_LABEL_EXPRESSION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Direct Edit Label</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIRECT_EDIT_LABEL_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.BehaviorToolImpl <em>Behavior
+ * Tool</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.BehaviorToolImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getBehaviorTool()
+ * @generated
+ */
+ int BEHAVIOR_TOOL = 13;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Domain Class</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__DOMAIN_CLASS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Behavior Tool</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_TOOL_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.ABSTRACT_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeCreationVariableImpl <em>Source Edge Creation
+ * Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getSourceEdgeCreationVariable()
+ * @generated
+ */
+ int SOURCE_EDGE_CREATION_VARIABLE = 14;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SOURCE_EDGE_CREATION_VARIABLE__NAME = DescriptionPackage.ABSTRACT_VARIABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Sub Variables</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Source Edge Creation Variable</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SOURCE_EDGE_CREATION_VARIABLE_FEATURE_COUNT = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeViewCreationVariableImpl <em>Source Edge View
+ * Creation Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeViewCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getSourceEdgeViewCreationVariable()
+ * @generated
+ */
+ int SOURCE_EDGE_VIEW_CREATION_VARIABLE = 15;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SOURCE_EDGE_VIEW_CREATION_VARIABLE__NAME = DescriptionPackage.ABSTRACT_VARIABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Sub Variables</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Source Edge View Creation Variable</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SOURCE_EDGE_VIEW_CREATION_VARIABLE_FEATURE_COUNT = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeCreationVariableImpl <em>Target Edge Creation
+ * Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getTargetEdgeCreationVariable()
+ * @generated
+ */
+ int TARGET_EDGE_CREATION_VARIABLE = 16;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TARGET_EDGE_CREATION_VARIABLE__NAME = DescriptionPackage.ABSTRACT_VARIABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Sub Variables</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Target Edge Creation Variable</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TARGET_EDGE_CREATION_VARIABLE_FEATURE_COUNT = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeViewCreationVariableImpl <em>Target Edge View
+ * Creation Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeViewCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getTargetEdgeViewCreationVariable()
+ * @generated
+ */
+ int TARGET_EDGE_VIEW_CREATION_VARIABLE = 17;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TARGET_EDGE_VIEW_CREATION_VARIABLE__NAME = DescriptionPackage.ABSTRACT_VARIABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Sub Variables</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Target Edge View Creation Variable</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TARGET_EDGE_VIEW_CREATION_VARIABLE_FEATURE_COUNT = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.ElementDoubleClickVariableImpl <em>Element Double Click
+ * Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ElementDoubleClickVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getElementDoubleClickVariable()
+ * @generated
+ */
+ int ELEMENT_DOUBLE_CLICK_VARIABLE = 18;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_DOUBLE_CLICK_VARIABLE__NAME = DescriptionPackage.ABSTRACT_VARIABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Sub Variables</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Element Double Click Variable</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_DOUBLE_CLICK_VARIABLE_FEATURE_COUNT = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationVariableImpl
+ * <em>Node Creation Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.NodeCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getNodeCreationVariable()
+ * @generated
+ */
+ int NODE_CREATION_VARIABLE = 19;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_VARIABLE__NAME = DescriptionPackage.ABSTRACT_VARIABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Sub Variables</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_VARIABLE__SUB_VARIABLES = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Node Creation Variable</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_CREATION_VARIABLE_FEATURE_COUNT = DescriptionPackage.ABSTRACT_VARIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.CreateViewImpl <em>Create
+ * View</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.CreateViewImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getCreateView()
+ * @generated
+ */
+ int CREATE_VIEW = 20;
+
+ /**
+ * The feature id for the '<em><b>Sub Model Operations</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_VIEW__SUB_MODEL_OPERATIONS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION__SUB_MODEL_OPERATIONS;
+
+ /**
+ * The feature id for the '<em><b>Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_VIEW__MAPPING = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Container View Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_VIEW__CONTAINER_VIEW_EXPRESSION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Variable Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_VIEW__VARIABLE_NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Create View</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_VIEW_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.CreateEdgeViewImpl <em>Create
+ * Edge View</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.CreateEdgeViewImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getCreateEdgeView()
+ * @generated
+ */
+ int CREATE_EDGE_VIEW = 21;
+
+ /**
+ * The feature id for the '<em><b>Sub Model Operations</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_EDGE_VIEW__SUB_MODEL_OPERATIONS = ToolPackage.CREATE_VIEW__SUB_MODEL_OPERATIONS;
+
+ /**
+ * The feature id for the '<em><b>Mapping</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_EDGE_VIEW__MAPPING = ToolPackage.CREATE_VIEW__MAPPING;
+
+ /**
+ * The feature id for the '<em><b>Container View Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_EDGE_VIEW__CONTAINER_VIEW_EXPRESSION = ToolPackage.CREATE_VIEW__CONTAINER_VIEW_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Variable Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_EDGE_VIEW__VARIABLE_NAME = ToolPackage.CREATE_VIEW__VARIABLE_NAME;
+
+ /**
+ * The feature id for the '<em><b>Source Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_EDGE_VIEW__SOURCE_EXPRESSION = ToolPackage.CREATE_VIEW_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Target Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_EDGE_VIEW__TARGET_EXPRESSION = ToolPackage.CREATE_VIEW_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Create Edge View</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CREATE_EDGE_VIEW_FEATURE_COUNT = ToolPackage.CREATE_VIEW_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.NavigationImpl
+ * <em>Navigation</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.NavigationImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getNavigation()
+ * @generated
+ */
+ int NAVIGATION = 22;
+
+ /**
+ * The feature id for the '<em><b>Sub Model Operations</b></em>' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION__SUB_MODEL_OPERATIONS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION__SUB_MODEL_OPERATIONS;
+
+ /**
+ * The feature id for the '<em><b>Create If Not Existent</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION__CREATE_IF_NOT_EXISTENT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Diagram Description</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION__DIAGRAM_DESCRIPTION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Navigation</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.CONTAINER_MODEL_OPERATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.DiagramCreationDescriptionImpl <em>Diagram Creation
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DiagramCreationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDiagramCreationDescription()
+ * @generated
+ */
+ int DIAGRAM_CREATION_DESCRIPTION = 23;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Title Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__TITLE_EXPRESSION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__TITLE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Browse Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__BROWSE_EXPRESSION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__BROWSE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Representation Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__REPRESENTATION_DESCRIPTION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__REPRESENTATION_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__INITIAL_OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Container View Variable</b></em>' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__CONTAINER_VIEW_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__CONTAINER_VIEW_VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Representation Name Variable</b></em>' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__REPRESENTATION_NAME_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION__REPRESENTATION_NAME_VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Diagram Description</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Diagram Creation Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_CREATION_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_CREATION_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.DiagramNavigationDescriptionImpl <em>Diagram Navigation
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DiagramNavigationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDiagramNavigationDescription()
+ * @generated
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION = 24;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Browse Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__BROWSE_EXPRESSION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__BROWSE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Navigation Name Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__NAVIGATION_NAME_EXPRESSION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__NAVIGATION_NAME_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Representation Description</b></em>' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__REPRESENTATION_DESCRIPTION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__REPRESENTATION_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Container View Variable</b></em>' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__CONTAINER_VIEW_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__CONTAINER_VIEW_VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Container Variable</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__CONTAINER_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__CONTAINER_VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Representation Name Variable</b></em>' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__REPRESENTATION_NAME_VARIABLE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION__REPRESENTATION_NAME_VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Diagram Description</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Diagram Navigation Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_NAVIGATION_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.REPRESENTATION_NAVIGATION_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl
+ * <em>Container Drop Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getContainerDropDescription()
+ * @generated
+ */
+ int CONTAINER_DROP_DESCRIPTION = 25;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__DOCUMENTATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__NAME = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__LABEL = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__PRECONDITION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__PRECONDITION;
+
+ /**
+ * The feature id for the '<em><b>Force Refresh</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__FORCE_REFRESH = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FORCE_REFRESH;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__FILTERS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Elements To Select</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__ELEMENTS_TO_SELECT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__ELEMENTS_TO_SELECT;
+
+ /**
+ * The feature id for the '<em><b>Inverse Selection Order</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__INVERSE_SELECTION_ORDER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION__INVERSE_SELECTION_ORDER;
+
+ /**
+ * The feature id for the '<em><b>Mappings</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__MAPPINGS = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Old Container</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>New Container</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__ELEMENT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>New View Container</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Drag Source</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__DRAG_SOURCE = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Move Edges</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION__MOVE_EDGES = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Container Drop Description</em>' class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_DROP_DESCRIPTION_FEATURE_COUNT = org.eclipse.sirius.viewpoint.description.tool.ToolPackage.MAPPING_BASED_TOOL_DESCRIPTION_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.diagram.description.tool.ReconnectionKind <em>Reconnection
+ * Kind</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectionKind
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getReconnectionKind()
+ * @generated
+ */
+ int RECONNECTION_KIND = 26;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.ToolSection
+ * <em>Section</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Section</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolSection
+ * @generated
+ */
+ EClass getToolSection();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getIcon
+ * <em>Icon</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Icon</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolSection#getIcon()
+ * @see #getToolSection()
+ * @generated
+ */
+ EAttribute getToolSection_Icon();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.tool.ToolSection#getOwnedTools <em>Owned Tools</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Owned Tools</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolSection#getOwnedTools()
+ * @see #getToolSection()
+ * @generated
+ */
+ EReference getToolSection_OwnedTools();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.tool.ToolSection#getSubSections <em>Sub Sections</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Sub Sections</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolSection#getSubSections()
+ * @see #getToolSection()
+ * @generated
+ */
+ EReference getToolSection_SubSections();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.tool.ToolSection#getPopupMenus <em>Popup Menus</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Popup Menus</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolSection#getPopupMenus()
+ * @see #getToolSection()
+ * @generated
+ */
+ EReference getToolSection_PopupMenus();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.tool.ToolSection#getReusedTools <em>Reused Tools</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Reused Tools</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolSection#getReusedTools()
+ * @see #getToolSection()
+ * @generated
+ */
+ EReference getToolSection_ReusedTools();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getGroupExtensions <em>Group Extensions</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Group Extensions</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolSection#getGroupExtensions()
+ * @see #getToolSection()
+ * @generated
+ */
+ EReference getToolSection_GroupExtensions();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getGroups <em>Groups</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Groups</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolSection#getGroups()
+ * @see #getToolSection()
+ * @generated
+ */
+ EReference getToolSection_Groups();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.ToolGroup <em>Group</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Group</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolGroup
+ * @generated
+ */
+ EClass getToolGroup();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.ToolGroup#getTools <em>Tools</em>}'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Tools</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolGroup#getTools()
+ * @see #getToolGroup()
+ * @generated
+ */
+ EReference getToolGroup_Tools();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.ToolGroupExtension
+ * <em>Group Extension</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Group Extension</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolGroupExtension
+ * @generated
+ */
+ EClass getToolGroupExtension();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.ToolGroupExtension#getGroup <em>Group</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Group</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolGroupExtension#getGroup()
+ * @see #getToolGroupExtension()
+ * @generated
+ */
+ EReference getToolGroupExtension_Group();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.tool.ToolGroupExtension#getTools <em>Tools</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Tools</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolGroupExtension#getTools()
+ * @see #getToolGroupExtension()
+ * @generated
+ */
+ EReference getToolGroupExtension_Tools();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription
+ * <em>Node Creation Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node Creation Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.NodeCreationDescription
+ * @generated
+ */
+ EClass getNodeCreationDescription();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getNodeMappings <em>Node
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Node Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getNodeMappings()
+ * @see #getNodeCreationDescription()
+ * @generated
+ */
+ EReference getNodeCreationDescription_NodeMappings();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getVariable <em>Variable</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getVariable()
+ * @see #getNodeCreationDescription()
+ * @generated
+ */
+ EReference getNodeCreationDescription_Variable();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getViewVariable <em>View
+ * Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>View Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getViewVariable()
+ * @see #getNodeCreationDescription()
+ * @generated
+ */
+ EReference getNodeCreationDescription_ViewVariable();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getInitialOperation()
+ * @see #getNodeCreationDescription()
+ * @generated
+ */
+ EReference getNodeCreationDescription_InitialOperation();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getIconPath <em>Icon Path</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Icon Path</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getIconPath()
+ * @see #getNodeCreationDescription()
+ * @generated
+ */
+ EAttribute getNodeCreationDescription_IconPath();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getExtraMappings <em>Extra
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Extra Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.NodeCreationDescription#getExtraMappings()
+ * @see #getNodeCreationDescription()
+ * @generated
+ */
+ EReference getNodeCreationDescription_ExtraMappings();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription
+ * <em>Edge Creation Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Edge Creation Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription
+ * @generated
+ */
+ EClass getEdgeCreationDescription();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getEdgeMappings <em>Edge
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Edge Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getEdgeMappings()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EReference getEdgeCreationDescription_EdgeMappings();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getSourceVariable <em>Source
+ * Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Source Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getSourceVariable()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EReference getEdgeCreationDescription_SourceVariable();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getTargetVariable <em>Target
+ * Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Target Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getTargetVariable()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EReference getEdgeCreationDescription_TargetVariable();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getSourceViewVariable <em>Source View
+ * Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Source View Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getSourceViewVariable()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EReference getEdgeCreationDescription_SourceViewVariable();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getTargetViewVariable <em>Target View
+ * Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Target View Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getTargetViewVariable()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EReference getEdgeCreationDescription_TargetViewVariable();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getInitialOperation()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EReference getEdgeCreationDescription_InitialOperation();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getIconPath <em>Icon Path</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Icon Path</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getIconPath()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EAttribute getEdgeCreationDescription_IconPath();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getExtraSourceMappings <em>Extra
+ * Source Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Extra Source Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getExtraSourceMappings()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EReference getEdgeCreationDescription_ExtraSourceMappings();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getExtraTargetMappings <em>Extra
+ * Target Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Extra Target Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getExtraTargetMappings()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EReference getEdgeCreationDescription_ExtraTargetMappings();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getConnectionStartPrecondition
+ * <em>Connection Start Precondition</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Connection Start Precondition</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription#getConnectionStartPrecondition()
+ * @see #getEdgeCreationDescription()
+ * @generated
+ */
+ EAttribute getEdgeCreationDescription_ConnectionStartPrecondition();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription <em>Container Creation
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Container Creation Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription
+ * @generated
+ */
+ EClass getContainerCreationDescription();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getContainerMappings
+ * <em>Container Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Container Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getContainerMappings()
+ * @see #getContainerCreationDescription()
+ * @generated
+ */
+ EReference getContainerCreationDescription_ContainerMappings();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getVariable <em>Variable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getVariable()
+ * @see #getContainerCreationDescription()
+ * @generated
+ */
+ EReference getContainerCreationDescription_Variable();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getViewVariable <em>View
+ * Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>View Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getViewVariable()
+ * @see #getContainerCreationDescription()
+ * @generated
+ */
+ EReference getContainerCreationDescription_ViewVariable();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getInitialOperation()
+ * @see #getContainerCreationDescription()
+ * @generated
+ */
+ EReference getContainerCreationDescription_InitialOperation();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getIconPath <em>Icon
+ * Path</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Icon Path</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getIconPath()
+ * @see #getContainerCreationDescription()
+ * @generated
+ */
+ EAttribute getContainerCreationDescription_IconPath();
+
+ /**
+ * Returns the meta object for the reference list
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getExtraMappings <em>Extra
+ * Mappings</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Extra Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription#getExtraMappings()
+ * @see #getContainerCreationDescription()
+ * @generated
+ */
+ EReference getContainerCreationDescription_ExtraMappings();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription
+ * <em>Delete Element Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Delete Element Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteElementDescription
+ * @generated
+ */
+ EClass getDeleteElementDescription();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getElement()
+ * @see #getDeleteElementDescription()
+ * @generated
+ */
+ EReference getDeleteElementDescription_Element();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getElementView <em>Element
+ * View</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element View</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getElementView()
+ * @see #getDeleteElementDescription()
+ * @generated
+ */
+ EReference getDeleteElementDescription_ElementView();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getContainerView <em>Container
+ * View</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Container View</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getContainerView()
+ * @see #getDeleteElementDescription()
+ * @generated
+ */
+ EReference getDeleteElementDescription_ContainerView();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getInitialOperation()
+ * @see #getDeleteElementDescription()
+ * @generated
+ */
+ EReference getDeleteElementDescription_InitialOperation();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getHook <em>Hook</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Hook</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteElementDescription#getHook()
+ * @see #getDeleteElementDescription()
+ * @generated
+ */
+ EReference getDeleteElementDescription_Hook();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription
+ * <em>Double Click Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Double Click Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DoubleClickDescription
+ * @generated
+ */
+ EClass getDoubleClickDescription();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getMappings <em>Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getMappings()
+ * @see #getDoubleClickDescription()
+ * @generated
+ */
+ EReference getDoubleClickDescription_Mappings();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getElement()
+ * @see #getDoubleClickDescription()
+ * @generated
+ */
+ EReference getDoubleClickDescription_Element();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getElementView <em>Element
+ * View</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element View</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getElementView()
+ * @see #getDoubleClickDescription()
+ * @generated
+ */
+ EReference getDoubleClickDescription_ElementView();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DoubleClickDescription#getInitialOperation()
+ * @see #getDoubleClickDescription()
+ * @generated
+ */
+ EReference getDoubleClickDescription_InitialOperation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.DeleteHook <em>Delete
+ * Hook</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Delete Hook</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteHook
+ * @generated
+ */
+ EClass getDeleteHook();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.diagram.description.tool.DeleteHook#getId
+ * <em>Id</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteHook#getId()
+ * @see #getDeleteHook()
+ * @generated
+ */
+ EAttribute getDeleteHook_Id();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.sirius.diagram.description.tool.DeleteHook#getParameters <em>Parameters</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Parameters</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteHook#getParameters()
+ * @see #getDeleteHook()
+ * @generated
+ */
+ EReference getDeleteHook_Parameters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter
+ * <em>Delete Hook Parameter</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Delete Hook Parameter</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteHookParameter
+ * @generated
+ */
+ EClass getDeleteHookParameter();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteHookParameter#getName()
+ * @see #getDeleteHookParameter()
+ * @generated
+ */
+ EAttribute getDeleteHookParameter_Name();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter#getValue <em>Value</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteHookParameter#getValue()
+ * @see #getDeleteHookParameter()
+ * @generated
+ */
+ EAttribute getDeleteHookParameter_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription
+ * <em>Reconnect Edge Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Reconnect Edge Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription
+ * @generated
+ */
+ EClass getReconnectEdgeDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getReconnectionKind <em>Reconnection
+ * Kind</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Reconnection Kind</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getReconnectionKind()
+ * @see #getReconnectEdgeDescription()
+ * @generated
+ */
+ EAttribute getReconnectEdgeDescription_ReconnectionKind();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getSource <em>Source</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Source</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getSource()
+ * @see #getReconnectEdgeDescription()
+ * @generated
+ */
+ EReference getReconnectEdgeDescription_Source();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getTarget <em>Target</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Target</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getTarget()
+ * @see #getReconnectEdgeDescription()
+ * @generated
+ */
+ EReference getReconnectEdgeDescription_Target();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getSourceView <em>Source
+ * View</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Source View</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getSourceView()
+ * @see #getReconnectEdgeDescription()
+ * @generated
+ */
+ EReference getReconnectEdgeDescription_SourceView();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getTargetView <em>Target
+ * View</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Target View</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getTargetView()
+ * @see #getReconnectEdgeDescription()
+ * @generated
+ */
+ EReference getReconnectEdgeDescription_TargetView();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getElement()
+ * @see #getReconnectEdgeDescription()
+ * @generated
+ */
+ EReference getReconnectEdgeDescription_Element();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getInitialOperation()
+ * @see #getReconnectEdgeDescription()
+ * @generated
+ */
+ EReference getReconnectEdgeDescription_InitialOperation();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getEdgeView <em>Edge View</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Edge View</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription#getEdgeView()
+ * @see #getReconnectEdgeDescription()
+ * @generated
+ */
+ EReference getReconnectEdgeDescription_EdgeView();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.RequestDescription
+ * <em>Request Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Request Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.RequestDescription
+ * @generated
+ */
+ EClass getRequestDescription();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.tool.RequestDescription#getType <em>Type</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.RequestDescription#getType()
+ * @see #getRequestDescription()
+ * @generated
+ */
+ EAttribute getRequestDescription_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel <em>Direct
+ * Edit Label</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Direct Edit Label</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DirectEditLabel
+ * @generated
+ */
+ EClass getDirectEditLabel();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getMask <em>Mask</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Mask</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getMask()
+ * @see #getDirectEditLabel()
+ * @generated
+ */
+ EReference getDirectEditLabel_Mask();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getInitialOperation()
+ * @see #getDirectEditLabel()
+ * @generated
+ */
+ EReference getDirectEditLabel_InitialOperation();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getInputLabelExpression <em>Input Label
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Input Label Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DirectEditLabel#getInputLabelExpression()
+ * @see #getDirectEditLabel()
+ * @generated
+ */
+ EAttribute getDirectEditLabel_InputLabelExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.BehaviorTool <em>Behavior
+ * Tool</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Behavior Tool</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.BehaviorTool
+ * @generated
+ */
+ EClass getBehaviorTool();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.tool.BehaviorTool#getDomainClass <em>Domain Class</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Domain Class</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.BehaviorTool#getDomainClass()
+ * @see #getBehaviorTool()
+ * @generated
+ */
+ EAttribute getBehaviorTool_DomainClass();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.BehaviorTool#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.BehaviorTool#getInitialOperation()
+ * @see #getBehaviorTool()
+ * @generated
+ */
+ EReference getBehaviorTool_InitialOperation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable
+ * <em>Source Edge Creation Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Source Edge Creation Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable
+ * @generated
+ */
+ EClass getSourceEdgeCreationVariable();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable <em>Source Edge View Creation
+ * Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Source Edge View Creation Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable
+ * @generated
+ */
+ EClass getSourceEdgeViewCreationVariable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable
+ * <em>Target Edge Creation Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Target Edge Creation Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable
+ * @generated
+ */
+ EClass getTargetEdgeCreationVariable();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable <em>Target Edge View Creation
+ * Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Target Edge View Creation Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable
+ * @generated
+ */
+ EClass getTargetEdgeViewCreationVariable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable
+ * <em>Element Double Click Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Element Double Click Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable
+ * @generated
+ */
+ EClass getElementDoubleClickVariable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationVariable
+ * <em>Node Creation Variable</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Node Creation Variable</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.NodeCreationVariable
+ * @generated
+ */
+ EClass getNodeCreationVariable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.CreateView <em>Create
+ * View</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Create View</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.CreateView
+ * @generated
+ */
+ EClass getCreateView();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.CreateView#getMapping <em>Mapping</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Mapping</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.CreateView#getMapping()
+ * @see #getCreateView()
+ * @generated
+ */
+ EReference getCreateView_Mapping();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.CreateView#getContainerViewExpression <em>Container View
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Container View Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.CreateView#getContainerViewExpression()
+ * @see #getCreateView()
+ * @generated
+ */
+ EAttribute getCreateView_ContainerViewExpression();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.sirius.diagram.description.tool.CreateView#getVariableName <em>Variable Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Variable Name</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.CreateView#getVariableName()
+ * @see #getCreateView()
+ * @generated
+ */
+ EAttribute getCreateView_VariableName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.CreateEdgeView <em>Create
+ * Edge View</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Create Edge View</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.CreateEdgeView
+ * @generated
+ */
+ EClass getCreateEdgeView();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.CreateEdgeView#getSourceExpression <em>Source
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Source Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.CreateEdgeView#getSourceExpression()
+ * @see #getCreateEdgeView()
+ * @generated
+ */
+ EAttribute getCreateEdgeView_SourceExpression();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.CreateEdgeView#getTargetExpression <em>Target
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Target Expression</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.CreateEdgeView#getTargetExpression()
+ * @see #getCreateEdgeView()
+ * @generated
+ */
+ EAttribute getCreateEdgeView_TargetExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.Navigation
+ * <em>Navigation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Navigation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.Navigation
+ * @generated
+ */
+ EClass getNavigation();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.Navigation#isCreateIfNotExistent <em>Create If Not
+ * Existent</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Create If Not Existent</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.Navigation#isCreateIfNotExistent()
+ * @see #getNavigation()
+ * @generated
+ */
+ EAttribute getNavigation_CreateIfNotExistent();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.Navigation#getDiagramDescription <em>Diagram
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Diagram Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.Navigation#getDiagramDescription()
+ * @see #getNavigation()
+ * @generated
+ */
+ EReference getNavigation_DiagramDescription();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription
+ * <em>Diagram Creation Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Diagram Creation Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription
+ * @generated
+ */
+ EClass getDiagramCreationDescription();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription#getDiagramDescription <em>Diagram
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Diagram Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription#getDiagramDescription()
+ * @see #getDiagramCreationDescription()
+ * @generated
+ */
+ EReference getDiagramCreationDescription_DiagramDescription();
+
+ /**
+ * Returns the meta object for class
+ * '{@link org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription <em>Diagram Navigation
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Diagram Navigation Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription
+ * @generated
+ */
+ EClass getDiagramNavigationDescription();
+
+ /**
+ * Returns the meta object for the reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription#getDiagramDescription
+ * <em>Diagram Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Diagram Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription#getDiagramDescription()
+ * @see #getDiagramNavigationDescription()
+ * @generated
+ */
+ EReference getDiagramNavigationDescription_DiagramDescription();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription
+ * <em>Container Drop Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Container Drop Description</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription
+ * @generated
+ */
+ EClass getContainerDropDescription();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getMappings <em>Mappings</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Mappings</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getMappings()
+ * @see #getContainerDropDescription()
+ * @generated
+ */
+ EReference getContainerDropDescription_Mappings();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getOldContainer <em>Old
+ * Container</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Old Container</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getOldContainer()
+ * @see #getContainerDropDescription()
+ * @generated
+ */
+ EReference getContainerDropDescription_OldContainer();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getNewContainer <em>New
+ * Container</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>New Container</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getNewContainer()
+ * @see #getContainerDropDescription()
+ * @generated
+ */
+ EReference getContainerDropDescription_NewContainer();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getElement <em>Element</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getElement()
+ * @see #getContainerDropDescription()
+ * @generated
+ */
+ EReference getContainerDropDescription_Element();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getNewViewContainer <em>New View
+ * Container</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>New View Container</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getNewViewContainer()
+ * @see #getContainerDropDescription()
+ * @generated
+ */
+ EReference getContainerDropDescription_NewViewContainer();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getInitialOperation <em>Initial
+ * Operation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getInitialOperation()
+ * @see #getContainerDropDescription()
+ * @generated
+ */
+ EReference getContainerDropDescription_InitialOperation();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getDragSource <em>Drag
+ * Source</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Drag Source</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#getDragSource()
+ * @see #getContainerDropDescription()
+ * @generated
+ */
+ EAttribute getContainerDropDescription_DragSource();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#isMoveEdges <em>Move Edges</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Move Edges</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ContainerDropDescription#isMoveEdges()
+ * @see #getContainerDropDescription()
+ * @generated
+ */
+ EAttribute getContainerDropDescription_MoveEdges();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.sirius.diagram.description.tool.ReconnectionKind
+ * <em>Reconnection Kind</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Reconnection Kind</em>'.
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectionKind
+ * @generated
+ */
+ EEnum getReconnectionKind();
+
+ /**
+ * 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
+ */
+ ToolFactory getToolFactory();
+
+ /**
+ * <!-- 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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl
+ * <em>Section</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getToolSection()
+ * @generated
+ */
+ EClass TOOL_SECTION = ToolPackage.eINSTANCE.getToolSection();
+
+ /**
+ * The meta object literal for the '<em><b>Icon</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute TOOL_SECTION__ICON = ToolPackage.eINSTANCE.getToolSection_Icon();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Tools</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_SECTION__OWNED_TOOLS = ToolPackage.eINSTANCE.getToolSection_OwnedTools();
+
+ /**
+ * The meta object literal for the '<em><b>Sub Sections</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_SECTION__SUB_SECTIONS = ToolPackage.eINSTANCE.getToolSection_SubSections();
+
+ /**
+ * The meta object literal for the '<em><b>Popup Menus</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_SECTION__POPUP_MENUS = ToolPackage.eINSTANCE.getToolSection_PopupMenus();
+
+ /**
+ * The meta object literal for the '<em><b>Reused Tools</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_SECTION__REUSED_TOOLS = ToolPackage.eINSTANCE.getToolSection_ReusedTools();
+
+ /**
+ * The meta object literal for the '<em><b>Group Extensions</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_SECTION__GROUP_EXTENSIONS = ToolPackage.eINSTANCE.getToolSection_GroupExtensions();
+
+ /**
+ * The meta object literal for the '<em><b>Groups</b></em>' reference list feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_SECTION__GROUPS = ToolPackage.eINSTANCE.getToolSection_Groups();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupImpl
+ * <em>Group</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolGroupImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getToolGroup()
+ * @generated
+ */
+ EClass TOOL_GROUP = ToolPackage.eINSTANCE.getToolGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Tools</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_GROUP__TOOLS = ToolPackage.eINSTANCE.getToolGroup_Tools();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupExtensionImpl <em>Group Extension</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolGroupExtensionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getToolGroupExtension()
+ * @generated
+ */
+ EClass TOOL_GROUP_EXTENSION = ToolPackage.eINSTANCE.getToolGroupExtension();
+
+ /**
+ * The meta object literal for the '<em><b>Group</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_GROUP_EXTENSION__GROUP = ToolPackage.eINSTANCE.getToolGroupExtension_Group();
+
+ /**
+ * The meta object literal for the '<em><b>Tools</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TOOL_GROUP_EXTENSION__TOOLS = ToolPackage.eINSTANCE.getToolGroupExtension_Tools();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl <em>Node Creation
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getNodeCreationDescription()
+ * @generated
+ */
+ EClass NODE_CREATION_DESCRIPTION = ToolPackage.eINSTANCE.getNodeCreationDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Node Mappings</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_CREATION_DESCRIPTION__NODE_MAPPINGS = ToolPackage.eINSTANCE.getNodeCreationDescription_NodeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Variable</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_CREATION_DESCRIPTION__VARIABLE = ToolPackage.eINSTANCE.getNodeCreationDescription_Variable();
+
+ /**
+ * The meta object literal for the '<em><b>View Variable</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_CREATION_DESCRIPTION__VIEW_VARIABLE = ToolPackage.eINSTANCE.getNodeCreationDescription_ViewVariable();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_CREATION_DESCRIPTION__INITIAL_OPERATION = ToolPackage.eINSTANCE.getNodeCreationDescription_InitialOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Icon Path</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NODE_CREATION_DESCRIPTION__ICON_PATH = ToolPackage.eINSTANCE.getNodeCreationDescription_IconPath();
+
+ /**
+ * The meta object literal for the '<em><b>Extra Mappings</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NODE_CREATION_DESCRIPTION__EXTRA_MAPPINGS = ToolPackage.eINSTANCE.getNodeCreationDescription_ExtraMappings();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl <em>Edge Creation
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getEdgeCreationDescription()
+ * @generated
+ */
+ EClass EDGE_CREATION_DESCRIPTION = ToolPackage.eINSTANCE.getEdgeCreationDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Edge Mappings</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_CREATION_DESCRIPTION__EDGE_MAPPINGS = ToolPackage.eINSTANCE.getEdgeCreationDescription_EdgeMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Source Variable</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE = ToolPackage.eINSTANCE.getEdgeCreationDescription_SourceVariable();
+
+ /**
+ * The meta object literal for the '<em><b>Target Variable</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE = ToolPackage.eINSTANCE.getEdgeCreationDescription_TargetVariable();
+
+ /**
+ * The meta object literal for the '<em><b>Source View Variable</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE = ToolPackage.eINSTANCE.getEdgeCreationDescription_SourceViewVariable();
+
+ /**
+ * The meta object literal for the '<em><b>Target View Variable</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE = ToolPackage.eINSTANCE.getEdgeCreationDescription_TargetViewVariable();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION = ToolPackage.eINSTANCE.getEdgeCreationDescription_InitialOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Icon Path</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_CREATION_DESCRIPTION__ICON_PATH = ToolPackage.eINSTANCE.getEdgeCreationDescription_IconPath();
+
+ /**
+ * The meta object literal for the ' <em><b>Extra Source Mappings</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_CREATION_DESCRIPTION__EXTRA_SOURCE_MAPPINGS = ToolPackage.eINSTANCE.getEdgeCreationDescription_ExtraSourceMappings();
+
+ /**
+ * The meta object literal for the ' <em><b>Extra Target Mappings</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE_CREATION_DESCRIPTION__EXTRA_TARGET_MAPPINGS = ToolPackage.eINSTANCE.getEdgeCreationDescription_ExtraTargetMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Connection Start Precondition</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EDGE_CREATION_DESCRIPTION__CONNECTION_START_PRECONDITION = ToolPackage.eINSTANCE.getEdgeCreationDescription_ConnectionStartPrecondition();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl <em>Container
+ * Creation Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getContainerCreationDescription()
+ * @generated
+ */
+ EClass CONTAINER_CREATION_DESCRIPTION = ToolPackage.eINSTANCE.getContainerCreationDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Container Mappings</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_CREATION_DESCRIPTION__CONTAINER_MAPPINGS = ToolPackage.eINSTANCE.getContainerCreationDescription_ContainerMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Variable</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_CREATION_DESCRIPTION__VARIABLE = ToolPackage.eINSTANCE.getContainerCreationDescription_Variable();
+
+ /**
+ * The meta object literal for the '<em><b>View Variable</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE = ToolPackage.eINSTANCE.getContainerCreationDescription_ViewVariable();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION = ToolPackage.eINSTANCE.getContainerCreationDescription_InitialOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Icon Path</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CONTAINER_CREATION_DESCRIPTION__ICON_PATH = ToolPackage.eINSTANCE.getContainerCreationDescription_IconPath();
+
+ /**
+ * The meta object literal for the '<em><b>Extra Mappings</b></em>' reference list feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_CREATION_DESCRIPTION__EXTRA_MAPPINGS = ToolPackage.eINSTANCE.getContainerCreationDescription_ExtraMappings();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl <em>Delete Element
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDeleteElementDescription()
+ * @generated
+ */
+ EClass DELETE_ELEMENT_DESCRIPTION = ToolPackage.eINSTANCE.getDeleteElementDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DELETE_ELEMENT_DESCRIPTION__ELEMENT = ToolPackage.eINSTANCE.getDeleteElementDescription_Element();
+
+ /**
+ * The meta object literal for the '<em><b>Element View</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW = ToolPackage.eINSTANCE.getDeleteElementDescription_ElementView();
+
+ /**
+ * The meta object literal for the '<em><b>Container View</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW = ToolPackage.eINSTANCE.getDeleteElementDescription_ContainerView();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION = ToolPackage.eINSTANCE.getDeleteElementDescription_InitialOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Hook</b></em>' containment reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DELETE_ELEMENT_DESCRIPTION__HOOK = ToolPackage.eINSTANCE.getDeleteElementDescription_Hook();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.DoubleClickDescriptionImpl <em>Double Click
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DoubleClickDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDoubleClickDescription()
+ * @generated
+ */
+ EClass DOUBLE_CLICK_DESCRIPTION = ToolPackage.eINSTANCE.getDoubleClickDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Mappings</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DOUBLE_CLICK_DESCRIPTION__MAPPINGS = ToolPackage.eINSTANCE.getDoubleClickDescription_Mappings();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DOUBLE_CLICK_DESCRIPTION__ELEMENT = ToolPackage.eINSTANCE.getDoubleClickDescription_Element();
+
+ /**
+ * The meta object literal for the '<em><b>Element View</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW = ToolPackage.eINSTANCE.getDoubleClickDescription_ElementView();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION = ToolPackage.eINSTANCE.getDoubleClickDescription_InitialOperation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteHookImpl
+ * <em>Delete Hook</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DeleteHookImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDeleteHook()
+ * @generated
+ */
+ EClass DELETE_HOOK = ToolPackage.eINSTANCE.getDeleteHook();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DELETE_HOOK__ID = ToolPackage.eINSTANCE.getDeleteHook_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DELETE_HOOK__PARAMETERS = ToolPackage.eINSTANCE.getDeleteHook_Parameters();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteHookParameterImpl <em>Delete Hook
+ * Parameter</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DeleteHookParameterImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDeleteHookParameter()
+ * @generated
+ */
+ EClass DELETE_HOOK_PARAMETER = ToolPackage.eINSTANCE.getDeleteHookParameter();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DELETE_HOOK_PARAMETER__NAME = ToolPackage.eINSTANCE.getDeleteHookParameter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DELETE_HOOK_PARAMETER__VALUE = ToolPackage.eINSTANCE.getDeleteHookParameter_Value();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl <em>Reconnect Edge
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getReconnectEdgeDescription()
+ * @generated
+ */
+ EClass RECONNECT_EDGE_DESCRIPTION = ToolPackage.eINSTANCE.getReconnectEdgeDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Reconnection Kind</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RECONNECT_EDGE_DESCRIPTION__RECONNECTION_KIND = ToolPackage.eINSTANCE.getReconnectEdgeDescription_ReconnectionKind();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RECONNECT_EDGE_DESCRIPTION__SOURCE = ToolPackage.eINSTANCE.getReconnectEdgeDescription_Source();
+
+ /**
+ * The meta object literal for the '<em><b>Target</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RECONNECT_EDGE_DESCRIPTION__TARGET = ToolPackage.eINSTANCE.getReconnectEdgeDescription_Target();
+
+ /**
+ * The meta object literal for the '<em><b>Source View</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW = ToolPackage.eINSTANCE.getReconnectEdgeDescription_SourceView();
+
+ /**
+ * The meta object literal for the '<em><b>Target View</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW = ToolPackage.eINSTANCE.getReconnectEdgeDescription_TargetView();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RECONNECT_EDGE_DESCRIPTION__ELEMENT = ToolPackage.eINSTANCE.getReconnectEdgeDescription_Element();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION = ToolPackage.eINSTANCE.getReconnectEdgeDescription_InitialOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Edge View</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW = ToolPackage.eINSTANCE.getReconnectEdgeDescription_EdgeView();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.RequestDescriptionImpl <em>Request
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.RequestDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getRequestDescription()
+ * @generated
+ */
+ EClass REQUEST_DESCRIPTION = ToolPackage.eINSTANCE.getRequestDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute REQUEST_DESCRIPTION__TYPE = ToolPackage.eINSTANCE.getRequestDescription_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.impl.DirectEditLabelImpl
+ * <em>Direct Edit Label</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DirectEditLabelImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDirectEditLabel()
+ * @generated
+ */
+ EClass DIRECT_EDIT_LABEL = ToolPackage.eINSTANCE.getDirectEditLabel();
+
+ /**
+ * The meta object literal for the '<em><b>Mask</b></em>' containment reference feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIRECT_EDIT_LABEL__MASK = ToolPackage.eINSTANCE.getDirectEditLabel_Mask();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIRECT_EDIT_LABEL__INITIAL_OPERATION = ToolPackage.eINSTANCE.getDirectEditLabel_InitialOperation();
+
+ /**
+ * The meta object literal for the ' <em><b>Input Label Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIRECT_EDIT_LABEL__INPUT_LABEL_EXPRESSION = ToolPackage.eINSTANCE.getDirectEditLabel_InputLabelExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.impl.BehaviorToolImpl
+ * <em>Behavior Tool</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.BehaviorToolImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getBehaviorTool()
+ * @generated
+ */
+ EClass BEHAVIOR_TOOL = ToolPackage.eINSTANCE.getBehaviorTool();
+
+ /**
+ * The meta object literal for the '<em><b>Domain Class</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BEHAVIOR_TOOL__DOMAIN_CLASS = ToolPackage.eINSTANCE.getBehaviorTool_DomainClass();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference BEHAVIOR_TOOL__INITIAL_OPERATION = ToolPackage.eINSTANCE.getBehaviorTool_InitialOperation();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeCreationVariableImpl <em>Source Edge
+ * Creation Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getSourceEdgeCreationVariable()
+ * @generated
+ */
+ EClass SOURCE_EDGE_CREATION_VARIABLE = ToolPackage.eINSTANCE.getSourceEdgeCreationVariable();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeViewCreationVariableImpl <em>Source Edge
+ * View Creation Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeViewCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getSourceEdgeViewCreationVariable()
+ * @generated
+ */
+ EClass SOURCE_EDGE_VIEW_CREATION_VARIABLE = ToolPackage.eINSTANCE.getSourceEdgeViewCreationVariable();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeCreationVariableImpl <em>Target Edge
+ * Creation Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getTargetEdgeCreationVariable()
+ * @generated
+ */
+ EClass TARGET_EDGE_CREATION_VARIABLE = ToolPackage.eINSTANCE.getTargetEdgeCreationVariable();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeViewCreationVariableImpl <em>Target Edge
+ * View Creation Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeViewCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getTargetEdgeViewCreationVariable()
+ * @generated
+ */
+ EClass TARGET_EDGE_VIEW_CREATION_VARIABLE = ToolPackage.eINSTANCE.getTargetEdgeViewCreationVariable();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.ElementDoubleClickVariableImpl <em>Element Double
+ * Click Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ElementDoubleClickVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getElementDoubleClickVariable()
+ * @generated
+ */
+ EClass ELEMENT_DOUBLE_CLICK_VARIABLE = ToolPackage.eINSTANCE.getElementDoubleClickVariable();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationVariableImpl <em>Node Creation
+ * Variable</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.NodeCreationVariableImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getNodeCreationVariable()
+ * @generated
+ */
+ EClass NODE_CREATION_VARIABLE = ToolPackage.eINSTANCE.getNodeCreationVariable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.impl.CreateViewImpl
+ * <em>Create View</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.CreateViewImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getCreateView()
+ * @generated
+ */
+ EClass CREATE_VIEW = ToolPackage.eINSTANCE.getCreateView();
+
+ /**
+ * The meta object literal for the '<em><b>Mapping</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CREATE_VIEW__MAPPING = ToolPackage.eINSTANCE.getCreateView_Mapping();
+
+ /**
+ * The meta object literal for the ' <em><b>Container View Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CREATE_VIEW__CONTAINER_VIEW_EXPRESSION = ToolPackage.eINSTANCE.getCreateView_ContainerViewExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Variable Name</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CREATE_VIEW__VARIABLE_NAME = ToolPackage.eINSTANCE.getCreateView_VariableName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.impl.CreateEdgeViewImpl
+ * <em>Create Edge View</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.CreateEdgeViewImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getCreateEdgeView()
+ * @generated
+ */
+ EClass CREATE_EDGE_VIEW = ToolPackage.eINSTANCE.getCreateEdgeView();
+
+ /**
+ * The meta object literal for the '<em><b>Source Expression</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CREATE_EDGE_VIEW__SOURCE_EXPRESSION = ToolPackage.eINSTANCE.getCreateEdgeView_SourceExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Target Expression</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CREATE_EDGE_VIEW__TARGET_EXPRESSION = ToolPackage.eINSTANCE.getCreateEdgeView_TargetExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.impl.NavigationImpl
+ * <em>Navigation</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.NavigationImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getNavigation()
+ * @generated
+ */
+ EClass NAVIGATION = ToolPackage.eINSTANCE.getNavigation();
+
+ /**
+ * The meta object literal for the ' <em><b>Create If Not Existent</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute NAVIGATION__CREATE_IF_NOT_EXISTENT = ToolPackage.eINSTANCE.getNavigation_CreateIfNotExistent();
+
+ /**
+ * The meta object literal for the '<em><b>Diagram Description</b></em>' reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference NAVIGATION__DIAGRAM_DESCRIPTION = ToolPackage.eINSTANCE.getNavigation_DiagramDescription();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.DiagramCreationDescriptionImpl <em>Diagram Creation
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DiagramCreationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDiagramCreationDescription()
+ * @generated
+ */
+ EClass DIAGRAM_CREATION_DESCRIPTION = ToolPackage.eINSTANCE.getDiagramCreationDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Diagram Description</b></em>' reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION = ToolPackage.eINSTANCE.getDiagramCreationDescription_DiagramDescription();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.DiagramNavigationDescriptionImpl <em>Diagram
+ * Navigation Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.DiagramNavigationDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getDiagramNavigationDescription()
+ * @generated
+ */
+ EClass DIAGRAM_NAVIGATION_DESCRIPTION = ToolPackage.eINSTANCE.getDiagramNavigationDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Diagram Description</b></em>' reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION = ToolPackage.eINSTANCE.getDiagramNavigationDescription_DiagramDescription();
+
+ /**
+ * The meta object literal for the
+ * '{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl <em>Container Drop
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getContainerDropDescription()
+ * @generated
+ */
+ EClass CONTAINER_DROP_DESCRIPTION = ToolPackage.eINSTANCE.getContainerDropDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Mappings</b></em>' reference list feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_DROP_DESCRIPTION__MAPPINGS = ToolPackage.eINSTANCE.getContainerDropDescription_Mappings();
+
+ /**
+ * The meta object literal for the '<em><b>Old Container</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER = ToolPackage.eINSTANCE.getContainerDropDescription_OldContainer();
+
+ /**
+ * The meta object literal for the '<em><b>New Container</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER = ToolPackage.eINSTANCE.getContainerDropDescription_NewContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_DROP_DESCRIPTION__ELEMENT = ToolPackage.eINSTANCE.getContainerDropDescription_Element();
+
+ /**
+ * The meta object literal for the '<em><b>New View Container</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER = ToolPackage.eINSTANCE.getContainerDropDescription_NewViewContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION = ToolPackage.eINSTANCE.getContainerDropDescription_InitialOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Drag Source</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CONTAINER_DROP_DESCRIPTION__DRAG_SOURCE = ToolPackage.eINSTANCE.getContainerDropDescription_DragSource();
+
+ /**
+ * The meta object literal for the '<em><b>Move Edges</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CONTAINER_DROP_DESCRIPTION__MOVE_EDGES = ToolPackage.eINSTANCE.getContainerDropDescription_MoveEdges();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.diagram.description.tool.ReconnectionKind
+ * <em>Reconnection Kind</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ReconnectionKind
+ * @see org.eclipse.sirius.diagram.description.tool.impl.ToolPackageImpl#getReconnectionKind()
+ * @generated
+ */
+ EEnum RECONNECTION_KIND = ToolPackage.eINSTANCE.getReconnectionKind();
+
+ }
+
+} // ToolPackage
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolSection.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolSection.java
new file mode 100644
index 0000000000..b11e77ec9e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/ToolSection.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.tool.GroupMenu;
+import org.eclipse.sirius.viewpoint.description.tool.PopupMenu;
+import org.eclipse.sirius.viewpoint.description.tool.ToolEntry;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Section</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A tool section enclosed some tools. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getIcon <em>Icon</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getOwnedTools <em>Owned Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getSubSections <em>Sub Sections</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getPopupMenus <em>Popup Menus</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getReusedTools <em>Reused Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getGroupExtensions <em>Group Extensions</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getGroups <em>Groups</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolSection()
+ * @model
+ * @generated
+ */
+public interface ToolSection extends DocumentedElement, IdentifiedElement {
+ /**
+ * Returns the value of the '<em><b>Icon</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> image path used for presenting the section with this icon in the palette <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Icon</em>' attribute.
+ * @see #setIcon(String)
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolSection_Icon()
+ * @model
+ * @generated
+ */
+ String getIcon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.diagram.description.tool.ToolSection#getIcon <em>Icon</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Icon</em>' attribute.
+ * @see #getIcon()
+ * @generated
+ */
+ void setIcon(String value);
+
+ /**
+ * Returns the value of the '<em><b>Owned Tools</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.ToolEntry}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> All tools of the section. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Owned Tools</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolSection_OwnedTools()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<ToolEntry> getOwnedTools();
+
+ /**
+ * Returns the value of the '<em><b>Sub Sections</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.diagram.description.tool.ToolSection}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> All sub sections <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Sub Sections</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolSection_SubSections()
+ * @model containment="true" resolveProxies="true" keys="name"
+ * @generated
+ */
+ EList<ToolSection> getSubSections();
+
+ /**
+ * Returns the value of the '<em><b>Popup Menus</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.PopupMenu}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Popup menus available on this layer. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Popup Menus</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolSection_PopupMenus()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ EList<PopupMenu> getPopupMenus();
+
+ /**
+ * Returns the value of the '<em><b>Reused Tools</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.ToolEntry}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> Tools that are reused by this viewpoint. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Reused Tools</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolSection_ReusedTools()
+ * @model
+ * @generated
+ */
+ EList<ToolEntry> getReusedTools();
+
+ /**
+ * Returns the value of the '<em><b>Group Extensions</b></em>' containment reference list. The list contents are of
+ * type {@link org.eclipse.sirius.diagram.description.tool.ToolGroupExtension}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Group Extensions</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>Group Extensions</em>' containment reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolSection_GroupExtensions()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<ToolGroupExtension> getGroupExtensions();
+
+ /**
+ * Returns the value of the '<em><b>Groups</b></em>' reference list. The list contents are of type
+ * {@link org.eclipse.sirius.viewpoint.description.tool.Group}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> Groups available on this layer. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Groups</em>' reference list.
+ * @see org.eclipse.sirius.diagram.description.tool.ToolPackage#getToolSection_Groups()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ EList<GroupMenu> getGroups();
+
+} // ToolSection
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/BehaviorToolImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/BehaviorToolImpl.java
new file mode 100644
index 0000000000..e959c42508
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/BehaviorToolImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.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.sirius.diagram.description.tool.BehaviorTool;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.AbstractToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Behavior Tool</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.BehaviorToolImpl#getDomainClass <em>Domain
+ * Class</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.BehaviorToolImpl#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BehaviorToolImpl extends AbstractToolDescriptionImpl implements BehaviorTool {
+ /**
+ * The default value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOMAIN_CLASS_EDEFAULT = "EObject"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getDomainClass() <em>Domain Class</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDomainClass()
+ * @generated
+ * @ordered
+ */
+ protected String domainClass = BehaviorToolImpl.DOMAIN_CLASS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation initialOperation;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BehaviorToolImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.BEHAVIOR_TOOL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDomainClass() {
+ return domainClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDomainClass(String newDomainClass) {
+ String oldDomainClass = domainClass;
+ domainClass = newDomainClass;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.BEHAVIOR_TOOL__DOMAIN_CLASS, oldDomainClass, domainClass));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitialOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialOperation newInitialOperation, NotificationChain msgs) {
+ InitialOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitialOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION:
+ return basicSetInitialOperation(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 ToolPackage.BEHAVIOR_TOOL__DOMAIN_CLASS:
+ return getDomainClass();
+ case ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.BEHAVIOR_TOOL__DOMAIN_CLASS:
+ setDomainClass((String) newValue);
+ return;
+ case ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.BEHAVIOR_TOOL__DOMAIN_CLASS:
+ setDomainClass(BehaviorToolImpl.DOMAIN_CLASS_EDEFAULT);
+ return;
+ case ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.BEHAVIOR_TOOL__DOMAIN_CLASS:
+ return BehaviorToolImpl.DOMAIN_CLASS_EDEFAULT == null ? domainClass != null : !BehaviorToolImpl.DOMAIN_CLASS_EDEFAULT.equals(domainClass);
+ case ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION:
+ return initialOperation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (domainClass: "); //$NON-NLS-1$
+ result.append(domainClass);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BehaviorToolImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ContainerCreationDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ContainerCreationDescriptionImpl.java
new file mode 100644
index 0000000000..3400674c25
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ContainerCreationDescriptionImpl.java
@@ -0,0 +1,590 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialNodeCreationOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.MappingBasedToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Container Creation Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl#getContainerMappings
+ * <em>Container Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl#getVariable
+ * <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl#getViewVariable <em>View
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl#getInitialOperation
+ * <em>Initial Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl#getIconPath <em>Icon
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerCreationDescriptionImpl#getExtraMappings
+ * <em>Extra Mappings</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ContainerCreationDescriptionImpl extends MappingBasedToolDescriptionImpl implements ContainerCreationDescription {
+ /**
+ * The cached value of the '{@link #getContainerMappings() <em>Container Mappings</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getContainerMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<ContainerMapping> containerMappings;
+
+ /**
+ * The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getVariable()
+ * @generated
+ * @ordered
+ */
+ protected NodeCreationVariable variable;
+
+ /**
+ * The cached value of the '{@link #getViewVariable() <em>View Variable</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getViewVariable()
+ * @generated
+ * @ordered
+ */
+ protected ContainerViewVariable viewVariable;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialNodeCreationOperation initialOperation;
+
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected String iconPath = ContainerCreationDescriptionImpl.ICON_PATH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtraMappings() <em>Extra Mappings</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getExtraMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractNodeMapping> extraMappings;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ContainerCreationDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.CONTAINER_CREATION_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ContainerMapping> getContainerMappings() {
+ if (containerMappings == null) {
+ containerMappings = new EObjectResolvingEList<>(ContainerMapping.class, this, ToolPackage.CONTAINER_CREATION_DESCRIPTION__CONTAINER_MAPPINGS);
+ }
+ return containerMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NodeCreationVariable getVariable() {
+ if (variable != null && variable.eIsProxy()) {
+ InternalEObject oldVariable = (InternalEObject) variable;
+ variable = (NodeCreationVariable) eResolveProxy(oldVariable);
+ if (variable != oldVariable) {
+ InternalEObject newVariable = (InternalEObject) variable;
+ NotificationChain msgs = oldVariable.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE, null, null);
+ if (newVariable.eInternalContainer() == null) {
+ msgs = newVariable.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE, oldVariable, variable));
+ }
+ }
+ }
+ return variable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeCreationVariable basicGetVariable() {
+ return variable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetVariable(NodeCreationVariable newVariable, NotificationChain msgs) {
+ NodeCreationVariable oldVariable = variable;
+ variable = newVariable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE, oldVariable, newVariable);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setVariable(NodeCreationVariable newVariable) {
+ if (newVariable != variable) {
+ NotificationChain msgs = null;
+ if (variable != null) {
+ msgs = ((InternalEObject) variable).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE, null, msgs);
+ }
+ if (newVariable != null) {
+ msgs = ((InternalEObject) newVariable).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE, null, msgs);
+ }
+ msgs = basicSetVariable(newVariable, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE, newVariable, newVariable));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerViewVariable getViewVariable() {
+ if (viewVariable != null && viewVariable.eIsProxy()) {
+ InternalEObject oldViewVariable = (InternalEObject) viewVariable;
+ viewVariable = (ContainerViewVariable) eResolveProxy(oldViewVariable);
+ if (viewVariable != oldViewVariable) {
+ InternalEObject newViewVariable = (InternalEObject) viewVariable;
+ NotificationChain msgs = oldViewVariable.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE, null, null);
+ if (newViewVariable.eInternalContainer() == null) {
+ msgs = newViewVariable.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE, oldViewVariable, viewVariable));
+ }
+ }
+ }
+ return viewVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ContainerViewVariable basicGetViewVariable() {
+ return viewVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetViewVariable(ContainerViewVariable newViewVariable, NotificationChain msgs) {
+ ContainerViewVariable oldViewVariable = viewVariable;
+ viewVariable = newViewVariable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE, oldViewVariable, newViewVariable);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setViewVariable(ContainerViewVariable newViewVariable) {
+ if (newViewVariable != viewVariable) {
+ NotificationChain msgs = null;
+ if (viewVariable != null) {
+ msgs = ((InternalEObject) viewVariable).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE, null, msgs);
+ }
+ if (newViewVariable != null) {
+ msgs = ((InternalEObject) newViewVariable).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE, null, msgs);
+ }
+ msgs = basicSetViewVariable(newViewVariable, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE, newViewVariable, newViewVariable));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialNodeCreationOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitialNodeCreationOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialNodeCreationOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialNodeCreationOperation newInitialOperation, NotificationChain msgs) {
+ InitialNodeCreationOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitialNodeCreationOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getIconPath() {
+ return iconPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIconPath(String newIconPath) {
+ String oldIconPath = iconPath;
+ iconPath = newIconPath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_CREATION_DESCRIPTION__ICON_PATH, oldIconPath, iconPath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractNodeMapping> getExtraMappings() {
+ if (extraMappings == null) {
+ extraMappings = new EObjectResolvingEList<>(AbstractNodeMapping.class, this, ToolPackage.CONTAINER_CREATION_DESCRIPTION__EXTRA_MAPPINGS);
+ }
+ return extraMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE:
+ return basicSetVariable(null, msgs);
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ return basicSetViewVariable(null, msgs);
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ return basicSetInitialOperation(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 ToolPackage.CONTAINER_CREATION_DESCRIPTION__CONTAINER_MAPPINGS:
+ return getContainerMappings();
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE:
+ if (resolve) {
+ return getVariable();
+ }
+ return basicGetVariable();
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ if (resolve) {
+ return getViewVariable();
+ }
+ return basicGetViewVariable();
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__ICON_PATH:
+ return getIconPath();
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__EXTRA_MAPPINGS:
+ return getExtraMappings();
+ }
+ 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 ToolPackage.CONTAINER_CREATION_DESCRIPTION__CONTAINER_MAPPINGS:
+ getContainerMappings().clear();
+ getContainerMappings().addAll((Collection<? extends ContainerMapping>) newValue);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE:
+ setVariable((NodeCreationVariable) newValue);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ setViewVariable((ContainerViewVariable) newValue);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialNodeCreationOperation) newValue);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__ICON_PATH:
+ setIconPath((String) newValue);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__EXTRA_MAPPINGS:
+ getExtraMappings().clear();
+ getExtraMappings().addAll((Collection<? extends AbstractNodeMapping>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__CONTAINER_MAPPINGS:
+ getContainerMappings().clear();
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE:
+ setVariable((NodeCreationVariable) null);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ setViewVariable((ContainerViewVariable) null);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialNodeCreationOperation) null);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__ICON_PATH:
+ setIconPath(ContainerCreationDescriptionImpl.ICON_PATH_EDEFAULT);
+ return;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__EXTRA_MAPPINGS:
+ getExtraMappings().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__CONTAINER_MAPPINGS:
+ return containerMappings != null && !containerMappings.isEmpty();
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE:
+ return variable != null;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ return viewVariable != null;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ return initialOperation != null;
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__ICON_PATH:
+ return ContainerCreationDescriptionImpl.ICON_PATH_EDEFAULT == null ? iconPath != null : !ContainerCreationDescriptionImpl.ICON_PATH_EDEFAULT.equals(iconPath);
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION__EXTRA_MAPPINGS:
+ return extraMappings != null && !extraMappings.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (iconPath: "); //$NON-NLS-1$
+ result.append(iconPath);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ContainerCreationDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ContainerDropDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ContainerDropDescriptionImpl.java
new file mode 100644
index 0000000000..f016e514db
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ContainerDropDescriptionImpl.java
@@ -0,0 +1,838 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.DragSource;
+import org.eclipse.sirius.viewpoint.description.tool.DropContainerVariable;
+import org.eclipse.sirius.viewpoint.description.tool.ElementDropVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialContainerDropOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.MappingBasedToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Container Drop Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl#getMappings
+ * <em>Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl#getOldContainer <em>Old
+ * Container</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl#getNewContainer <em>New
+ * Container</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl#getElement
+ * <em>Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl#getNewViewContainer <em>New
+ * View Container</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl#getInitialOperation
+ * <em>Initial Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl#getDragSource <em>Drag
+ * Source</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ContainerDropDescriptionImpl#isMoveEdges <em>Move
+ * Edges</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ContainerDropDescriptionImpl extends MappingBasedToolDescriptionImpl implements ContainerDropDescription {
+ /**
+ * The cached value of the '{@link #getMappings() <em>Mappings</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> mappings;
+
+ /**
+ * The cached value of the '{@link #getOldContainer() <em>Old Container</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOldContainer()
+ * @generated
+ * @ordered
+ */
+ protected DropContainerVariable oldContainer;
+
+ /**
+ * The cached value of the '{@link #getNewContainer() <em>New Container</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getNewContainer()
+ * @generated
+ * @ordered
+ */
+ protected DropContainerVariable newContainer;
+
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected ElementDropVariable element;
+
+ /**
+ * The cached value of the '{@link #getNewViewContainer() <em>New View Container</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getNewViewContainer()
+ * @generated
+ * @ordered
+ */
+ protected ContainerViewVariable newViewContainer;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialContainerDropOperation initialOperation;
+
+ /**
+ * The default value of the '{@link #getDragSource() <em>Drag Source</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDragSource()
+ * @generated
+ * @ordered
+ */
+ protected static final DragSource DRAG_SOURCE_EDEFAULT = DragSource.DIAGRAM_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getDragSource() <em>Drag Source</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDragSource()
+ * @generated
+ * @ordered
+ */
+ protected DragSource dragSource = ContainerDropDescriptionImpl.DRAG_SOURCE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isMoveEdges() <em>Move Edges</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isMoveEdges()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MOVE_EDGES_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMoveEdges() <em>Move Edges</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isMoveEdges()
+ * @generated
+ * @ordered
+ */
+ protected boolean moveEdges = ContainerDropDescriptionImpl.MOVE_EDGES_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ContainerDropDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.CONTAINER_DROP_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getMappings() {
+ if (mappings == null) {
+ mappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, ToolPackage.CONTAINER_DROP_DESCRIPTION__MAPPINGS);
+ }
+ return mappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DropContainerVariable getOldContainer() {
+ if (oldContainer != null && oldContainer.eIsProxy()) {
+ InternalEObject oldOldContainer = (InternalEObject) oldContainer;
+ oldContainer = (DropContainerVariable) eResolveProxy(oldOldContainer);
+ if (oldContainer != oldOldContainer) {
+ InternalEObject newOldContainer = (InternalEObject) oldContainer;
+ NotificationChain msgs = oldOldContainer.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER, null, null);
+ if (newOldContainer.eInternalContainer() == null) {
+ msgs = newOldContainer.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER, oldOldContainer, oldContainer));
+ }
+ }
+ }
+ return oldContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DropContainerVariable basicGetOldContainer() {
+ return oldContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetOldContainer(DropContainerVariable newOldContainer, NotificationChain msgs) {
+ DropContainerVariable oldOldContainer = oldContainer;
+ oldContainer = newOldContainer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER, oldOldContainer, newOldContainer);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOldContainer(DropContainerVariable newOldContainer) {
+ if (newOldContainer != oldContainer) {
+ NotificationChain msgs = null;
+ if (oldContainer != null) {
+ msgs = ((InternalEObject) oldContainer).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER, null, msgs);
+ }
+ if (newOldContainer != null) {
+ msgs = ((InternalEObject) newOldContainer).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER, null, msgs);
+ }
+ msgs = basicSetOldContainer(newOldContainer, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER, newOldContainer, newOldContainer));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DropContainerVariable getNewContainer() {
+ if (newContainer != null && newContainer.eIsProxy()) {
+ InternalEObject oldNewContainer = (InternalEObject) newContainer;
+ newContainer = (DropContainerVariable) eResolveProxy(oldNewContainer);
+ if (newContainer != oldNewContainer) {
+ InternalEObject newNewContainer = (InternalEObject) newContainer;
+ NotificationChain msgs = oldNewContainer.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER, null, null);
+ if (newNewContainer.eInternalContainer() == null) {
+ msgs = newNewContainer.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER, oldNewContainer, newContainer));
+ }
+ }
+ }
+ return newContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DropContainerVariable basicGetNewContainer() {
+ return newContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetNewContainer(DropContainerVariable newNewContainer, NotificationChain msgs) {
+ DropContainerVariable oldNewContainer = newContainer;
+ newContainer = newNewContainer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER, oldNewContainer, newNewContainer);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setNewContainer(DropContainerVariable newNewContainer) {
+ if (newNewContainer != newContainer) {
+ NotificationChain msgs = null;
+ if (newContainer != null) {
+ msgs = ((InternalEObject) newContainer).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER, null, msgs);
+ }
+ if (newNewContainer != null) {
+ msgs = ((InternalEObject) newNewContainer).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER, null, msgs);
+ }
+ msgs = basicSetNewContainer(newNewContainer, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER, newNewContainer, newNewContainer));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementDropVariable getElement() {
+ if (element != null && element.eIsProxy()) {
+ InternalEObject oldElement = (InternalEObject) element;
+ element = (ElementDropVariable) eResolveProxy(oldElement);
+ if (element != oldElement) {
+ InternalEObject newElement = (InternalEObject) element;
+ NotificationChain msgs = oldElement.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT, null, null);
+ if (newElement.eInternalContainer() == null) {
+ msgs = newElement.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT, oldElement, element));
+ }
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementDropVariable basicGetElement() {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetElement(ElementDropVariable newElement, NotificationChain msgs) {
+ ElementDropVariable oldElement = element;
+ element = newElement;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT, oldElement, newElement);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setElement(ElementDropVariable newElement) {
+ if (newElement != element) {
+ NotificationChain msgs = null;
+ if (element != null) {
+ msgs = ((InternalEObject) element).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ if (newElement != null) {
+ msgs = ((InternalEObject) newElement).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT, newElement, newElement));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerViewVariable getNewViewContainer() {
+ if (newViewContainer != null && newViewContainer.eIsProxy()) {
+ InternalEObject oldNewViewContainer = (InternalEObject) newViewContainer;
+ newViewContainer = (ContainerViewVariable) eResolveProxy(oldNewViewContainer);
+ if (newViewContainer != oldNewViewContainer) {
+ InternalEObject newNewViewContainer = (InternalEObject) newViewContainer;
+ NotificationChain msgs = oldNewViewContainer.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER, null, null);
+ if (newNewViewContainer.eInternalContainer() == null) {
+ msgs = newNewViewContainer.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER, oldNewViewContainer, newViewContainer));
+ }
+ }
+ }
+ return newViewContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ContainerViewVariable basicGetNewViewContainer() {
+ return newViewContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetNewViewContainer(ContainerViewVariable newNewViewContainer, NotificationChain msgs) {
+ ContainerViewVariable oldNewViewContainer = newViewContainer;
+ newViewContainer = newNewViewContainer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER, oldNewViewContainer, newNewViewContainer);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setNewViewContainer(ContainerViewVariable newNewViewContainer) {
+ if (newNewViewContainer != newViewContainer) {
+ NotificationChain msgs = null;
+ if (newViewContainer != null) {
+ msgs = ((InternalEObject) newViewContainer).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER, null, msgs);
+ }
+ if (newNewViewContainer != null) {
+ msgs = ((InternalEObject) newNewViewContainer).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER, null, msgs);
+ }
+ msgs = basicSetNewViewContainer(newNewViewContainer, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER, newNewViewContainer, newNewViewContainer));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialContainerDropOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitialContainerDropOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialContainerDropOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialContainerDropOperation newInitialOperation, NotificationChain msgs) {
+ InitialContainerDropOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitialContainerDropOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DragSource getDragSource() {
+ return dragSource;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDragSource(DragSource newDragSource) {
+ DragSource oldDragSource = dragSource;
+ dragSource = newDragSource == null ? ContainerDropDescriptionImpl.DRAG_SOURCE_EDEFAULT : newDragSource;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__DRAG_SOURCE, oldDragSource, dragSource));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isMoveEdges() {
+ return moveEdges;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setMoveEdges(boolean newMoveEdges) {
+ boolean oldMoveEdges = moveEdges;
+ moveEdges = newMoveEdges;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CONTAINER_DROP_DESCRIPTION__MOVE_EDGES, oldMoveEdges, moveEdges));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DragAndDropTargetDescription> getContainers() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER:
+ return basicSetOldContainer(null, msgs);
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER:
+ return basicSetNewContainer(null, msgs);
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT:
+ return basicSetElement(null, msgs);
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER:
+ return basicSetNewViewContainer(null, msgs);
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION:
+ return basicSetInitialOperation(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 ToolPackage.CONTAINER_DROP_DESCRIPTION__MAPPINGS:
+ return getMappings();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER:
+ if (resolve) {
+ return getOldContainer();
+ }
+ return basicGetOldContainer();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER:
+ if (resolve) {
+ return getNewContainer();
+ }
+ return basicGetNewContainer();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT:
+ if (resolve) {
+ return getElement();
+ }
+ return basicGetElement();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER:
+ if (resolve) {
+ return getNewViewContainer();
+ }
+ return basicGetNewViewContainer();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__DRAG_SOURCE:
+ return getDragSource();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__MOVE_EDGES:
+ return isMoveEdges();
+ }
+ 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 ToolPackage.CONTAINER_DROP_DESCRIPTION__MAPPINGS:
+ getMappings().clear();
+ getMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER:
+ setOldContainer((DropContainerVariable) newValue);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER:
+ setNewContainer((DropContainerVariable) newValue);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT:
+ setElement((ElementDropVariable) newValue);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER:
+ setNewViewContainer((ContainerViewVariable) newValue);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialContainerDropOperation) newValue);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__DRAG_SOURCE:
+ setDragSource((DragSource) newValue);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__MOVE_EDGES:
+ setMoveEdges((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__MAPPINGS:
+ getMappings().clear();
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER:
+ setOldContainer((DropContainerVariable) null);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER:
+ setNewContainer((DropContainerVariable) null);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT:
+ setElement((ElementDropVariable) null);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER:
+ setNewViewContainer((ContainerViewVariable) null);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialContainerDropOperation) null);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__DRAG_SOURCE:
+ setDragSource(ContainerDropDescriptionImpl.DRAG_SOURCE_EDEFAULT);
+ return;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__MOVE_EDGES:
+ setMoveEdges(ContainerDropDescriptionImpl.MOVE_EDGES_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__MAPPINGS:
+ return mappings != null && !mappings.isEmpty();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER:
+ return oldContainer != null;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER:
+ return newContainer != null;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT:
+ return element != null;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER:
+ return newViewContainer != null;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION:
+ return initialOperation != null;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__DRAG_SOURCE:
+ return dragSource != ContainerDropDescriptionImpl.DRAG_SOURCE_EDEFAULT;
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION__MOVE_EDGES:
+ return moveEdges != ContainerDropDescriptionImpl.MOVE_EDGES_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (dragSource: "); //$NON-NLS-1$
+ result.append(dragSource);
+ result.append(", moveEdges: "); //$NON-NLS-1$
+ result.append(moveEdges);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ContainerDropDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/CreateEdgeViewImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/CreateEdgeViewImpl.java
new file mode 100644
index 0000000000..1a3c2207f6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/CreateEdgeViewImpl.java
@@ -0,0 +1,233 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.tool.CreateEdgeView;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Create Edge View</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.CreateEdgeViewImpl#getSourceExpression <em>Source
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.CreateEdgeViewImpl#getTargetExpression <em>Target
+ * Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CreateEdgeViewImpl extends CreateViewImpl implements CreateEdgeView {
+ /**
+ * The default value of the '{@link #getSourceExpression() <em>Source Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSourceExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String SOURCE_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSourceExpression() <em>Source Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSourceExpression()
+ * @generated
+ * @ordered
+ */
+ protected String sourceExpression = CreateEdgeViewImpl.SOURCE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTargetExpression() <em>Target Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetExpression() <em>Target Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetExpression()
+ * @generated
+ * @ordered
+ */
+ protected String targetExpression = CreateEdgeViewImpl.TARGET_EXPRESSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CreateEdgeViewImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.CREATE_EDGE_VIEW;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSourceExpression() {
+ return sourceExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSourceExpression(String newSourceExpression) {
+ String oldSourceExpression = sourceExpression;
+ sourceExpression = newSourceExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CREATE_EDGE_VIEW__SOURCE_EXPRESSION, oldSourceExpression, sourceExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTargetExpression() {
+ return targetExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTargetExpression(String newTargetExpression) {
+ String oldTargetExpression = targetExpression;
+ targetExpression = newTargetExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CREATE_EDGE_VIEW__TARGET_EXPRESSION, oldTargetExpression, targetExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ToolPackage.CREATE_EDGE_VIEW__SOURCE_EXPRESSION:
+ return getSourceExpression();
+ case ToolPackage.CREATE_EDGE_VIEW__TARGET_EXPRESSION:
+ return getTargetExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.CREATE_EDGE_VIEW__SOURCE_EXPRESSION:
+ setSourceExpression((String) newValue);
+ return;
+ case ToolPackage.CREATE_EDGE_VIEW__TARGET_EXPRESSION:
+ setTargetExpression((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.CREATE_EDGE_VIEW__SOURCE_EXPRESSION:
+ setSourceExpression(CreateEdgeViewImpl.SOURCE_EXPRESSION_EDEFAULT);
+ return;
+ case ToolPackage.CREATE_EDGE_VIEW__TARGET_EXPRESSION:
+ setTargetExpression(CreateEdgeViewImpl.TARGET_EXPRESSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.CREATE_EDGE_VIEW__SOURCE_EXPRESSION:
+ return CreateEdgeViewImpl.SOURCE_EXPRESSION_EDEFAULT == null ? sourceExpression != null : !CreateEdgeViewImpl.SOURCE_EXPRESSION_EDEFAULT.equals(sourceExpression);
+ case ToolPackage.CREATE_EDGE_VIEW__TARGET_EXPRESSION:
+ return CreateEdgeViewImpl.TARGET_EXPRESSION_EDEFAULT == null ? targetExpression != null : !CreateEdgeViewImpl.TARGET_EXPRESSION_EDEFAULT.equals(targetExpression);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (sourceExpression: "); //$NON-NLS-1$
+ result.append(sourceExpression);
+ result.append(", targetExpression: "); //$NON-NLS-1$
+ result.append(targetExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // CreateEdgeViewImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/CreateViewImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/CreateViewImpl.java
new file mode 100644
index 0000000000..8d416baa83
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/CreateViewImpl.java
@@ -0,0 +1,301 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.tool.CreateView;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.impl.ContainerModelOperationImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Create View</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.CreateViewImpl#getMapping <em>Mapping</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.CreateViewImpl#getContainerViewExpression <em>Container
+ * View Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.CreateViewImpl#getVariableName <em>Variable
+ * Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CreateViewImpl extends ContainerModelOperationImpl implements CreateView {
+ /**
+ * The cached value of the '{@link #getMapping() <em>Mapping</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMapping()
+ * @generated
+ * @ordered
+ */
+ protected DiagramElementMapping mapping;
+
+ /**
+ * The default value of the '{@link #getContainerViewExpression() <em>Container View Expression</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getContainerViewExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTAINER_VIEW_EXPRESSION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getContainerViewExpression() <em>Container View Expression</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getContainerViewExpression()
+ * @generated
+ * @ordered
+ */
+ protected String containerViewExpression = CreateViewImpl.CONTAINER_VIEW_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVariableName() <em>Variable Name</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getVariableName()
+ * @generated
+ * @ordered
+ */
+ protected static final String VARIABLE_NAME_EDEFAULT = "createdView"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getVariableName() <em>Variable Name</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getVariableName()
+ * @generated
+ * @ordered
+ */
+ protected String variableName = CreateViewImpl.VARIABLE_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CreateViewImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.CREATE_VIEW;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DiagramElementMapping getMapping() {
+ if (mapping != null && mapping.eIsProxy()) {
+ InternalEObject oldMapping = (InternalEObject) mapping;
+ mapping = (DiagramElementMapping) eResolveProxy(oldMapping);
+ if (mapping != oldMapping) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.CREATE_VIEW__MAPPING, oldMapping, mapping));
+ }
+ }
+ }
+ return mapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramElementMapping basicGetMapping() {
+ return mapping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setMapping(DiagramElementMapping newMapping) {
+ DiagramElementMapping oldMapping = mapping;
+ mapping = newMapping;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CREATE_VIEW__MAPPING, oldMapping, mapping));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getContainerViewExpression() {
+ return containerViewExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setContainerViewExpression(String newContainerViewExpression) {
+ String oldContainerViewExpression = containerViewExpression;
+ containerViewExpression = newContainerViewExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CREATE_VIEW__CONTAINER_VIEW_EXPRESSION, oldContainerViewExpression, containerViewExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getVariableName() {
+ return variableName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setVariableName(String newVariableName) {
+ String oldVariableName = variableName;
+ variableName = newVariableName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.CREATE_VIEW__VARIABLE_NAME, oldVariableName, variableName));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ToolPackage.CREATE_VIEW__MAPPING:
+ if (resolve) {
+ return getMapping();
+ }
+ return basicGetMapping();
+ case ToolPackage.CREATE_VIEW__CONTAINER_VIEW_EXPRESSION:
+ return getContainerViewExpression();
+ case ToolPackage.CREATE_VIEW__VARIABLE_NAME:
+ return getVariableName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.CREATE_VIEW__MAPPING:
+ setMapping((DiagramElementMapping) newValue);
+ return;
+ case ToolPackage.CREATE_VIEW__CONTAINER_VIEW_EXPRESSION:
+ setContainerViewExpression((String) newValue);
+ return;
+ case ToolPackage.CREATE_VIEW__VARIABLE_NAME:
+ setVariableName((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.CREATE_VIEW__MAPPING:
+ setMapping((DiagramElementMapping) null);
+ return;
+ case ToolPackage.CREATE_VIEW__CONTAINER_VIEW_EXPRESSION:
+ setContainerViewExpression(CreateViewImpl.CONTAINER_VIEW_EXPRESSION_EDEFAULT);
+ return;
+ case ToolPackage.CREATE_VIEW__VARIABLE_NAME:
+ setVariableName(CreateViewImpl.VARIABLE_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.CREATE_VIEW__MAPPING:
+ return mapping != null;
+ case ToolPackage.CREATE_VIEW__CONTAINER_VIEW_EXPRESSION:
+ return CreateViewImpl.CONTAINER_VIEW_EXPRESSION_EDEFAULT == null ? containerViewExpression != null : !CreateViewImpl.CONTAINER_VIEW_EXPRESSION_EDEFAULT.equals(containerViewExpression);
+ case ToolPackage.CREATE_VIEW__VARIABLE_NAME:
+ return CreateViewImpl.VARIABLE_NAME_EDEFAULT == null ? variableName != null : !CreateViewImpl.VARIABLE_NAME_EDEFAULT.equals(variableName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (containerViewExpression: "); //$NON-NLS-1$
+ result.append(containerViewExpression);
+ result.append(", variableName: "); //$NON-NLS-1$
+ result.append(variableName);
+ result.append(')');
+ return result.toString();
+ }
+
+} // CreateViewImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteElementDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteElementDescriptionImpl.java
new file mode 100644
index 0000000000..3ec2106d4c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteElementDescriptionImpl.java
@@ -0,0 +1,663 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+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.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.tool.DeleteElementDescription;
+import org.eclipse.sirius.diagram.description.tool.DeleteHook;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.ElementDeleteVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.MappingBasedToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Delete Element Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl#getElement
+ * <em>Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl#getElementView <em>Element
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl#getContainerView
+ * <em>Container View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl#getInitialOperation
+ * <em>Initial Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteElementDescriptionImpl#getHook <em>Hook</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DeleteElementDescriptionImpl extends MappingBasedToolDescriptionImpl implements DeleteElementDescription {
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected ElementDeleteVariable element;
+
+ /**
+ * The cached value of the '{@link #getElementView() <em>Element View</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getElementView()
+ * @generated
+ * @ordered
+ */
+ protected ElementDeleteVariable elementView;
+
+ /**
+ * The cached value of the '{@link #getContainerView() <em>Container View</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getContainerView()
+ * @generated
+ * @ordered
+ */
+ protected ContainerViewVariable containerView;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation initialOperation;
+
+ /**
+ * The cached value of the '{@link #getHook() <em>Hook</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getHook()
+ * @generated
+ * @ordered
+ */
+ protected DeleteHook hook;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DeleteElementDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.DELETE_ELEMENT_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementDeleteVariable getElement() {
+ if (element != null && element.eIsProxy()) {
+ InternalEObject oldElement = (InternalEObject) element;
+ element = (ElementDeleteVariable) eResolveProxy(oldElement);
+ if (element != oldElement) {
+ InternalEObject newElement = (InternalEObject) element;
+ NotificationChain msgs = oldElement.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT, null, null);
+ if (newElement.eInternalContainer() == null) {
+ msgs = newElement.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT, oldElement, element));
+ }
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementDeleteVariable basicGetElement() {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetElement(ElementDeleteVariable newElement, NotificationChain msgs) {
+ ElementDeleteVariable oldElement = element;
+ element = newElement;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT, oldElement, newElement);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setElement(ElementDeleteVariable newElement) {
+ if (newElement != element) {
+ NotificationChain msgs = null;
+ if (element != null) {
+ msgs = ((InternalEObject) element).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ if (newElement != null) {
+ msgs = ((InternalEObject) newElement).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT, newElement, newElement));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementDeleteVariable getElementView() {
+ if (elementView != null && elementView.eIsProxy()) {
+ InternalEObject oldElementView = (InternalEObject) elementView;
+ elementView = (ElementDeleteVariable) eResolveProxy(oldElementView);
+ if (elementView != oldElementView) {
+ InternalEObject newElementView = (InternalEObject) elementView;
+ NotificationChain msgs = oldElementView.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW, null, null);
+ if (newElementView.eInternalContainer() == null) {
+ msgs = newElementView.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW, oldElementView, elementView));
+ }
+ }
+ }
+ return elementView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementDeleteVariable basicGetElementView() {
+ return elementView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetElementView(ElementDeleteVariable newElementView, NotificationChain msgs) {
+ ElementDeleteVariable oldElementView = elementView;
+ elementView = newElementView;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW, oldElementView, newElementView);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setElementView(ElementDeleteVariable newElementView) {
+ if (newElementView != elementView) {
+ NotificationChain msgs = null;
+ if (elementView != null) {
+ msgs = ((InternalEObject) elementView).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW, null, msgs);
+ }
+ if (newElementView != null) {
+ msgs = ((InternalEObject) newElementView).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW, null, msgs);
+ }
+ msgs = basicSetElementView(newElementView, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW, newElementView, newElementView));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerViewVariable getContainerView() {
+ if (containerView != null && containerView.eIsProxy()) {
+ InternalEObject oldContainerView = (InternalEObject) containerView;
+ containerView = (ContainerViewVariable) eResolveProxy(oldContainerView);
+ if (containerView != oldContainerView) {
+ InternalEObject newContainerView = (InternalEObject) containerView;
+ NotificationChain msgs = oldContainerView.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW, null, null);
+ if (newContainerView.eInternalContainer() == null) {
+ msgs = newContainerView.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW, oldContainerView, containerView));
+ }
+ }
+ }
+ return containerView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ContainerViewVariable basicGetContainerView() {
+ return containerView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetContainerView(ContainerViewVariable newContainerView, NotificationChain msgs) {
+ ContainerViewVariable oldContainerView = containerView;
+ containerView = newContainerView;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW, oldContainerView, newContainerView);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setContainerView(ContainerViewVariable newContainerView) {
+ if (newContainerView != containerView) {
+ NotificationChain msgs = null;
+ if (containerView != null) {
+ msgs = ((InternalEObject) containerView).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW, null, msgs);
+ }
+ if (newContainerView != null) {
+ msgs = ((InternalEObject) newContainerView).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW, null, msgs);
+ }
+ msgs = basicSetContainerView(newContainerView, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW, newContainerView, newContainerView));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitialOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialOperation newInitialOperation, NotificationChain msgs) {
+ InitialOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitialOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DeleteHook getHook() {
+ if (hook != null && hook.eIsProxy()) {
+ InternalEObject oldHook = (InternalEObject) hook;
+ hook = (DeleteHook) eResolveProxy(oldHook);
+ if (hook != oldHook) {
+ InternalEObject newHook = (InternalEObject) hook;
+ NotificationChain msgs = oldHook.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK, null, null);
+ if (newHook.eInternalContainer() == null) {
+ msgs = newHook.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK, oldHook, hook));
+ }
+ }
+ }
+ return hook;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DeleteHook basicGetHook() {
+ return hook;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetHook(DeleteHook newHook, NotificationChain msgs) {
+ DeleteHook oldHook = hook;
+ hook = newHook;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK, oldHook, newHook);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHook(DeleteHook newHook) {
+ if (newHook != hook) {
+ NotificationChain msgs = null;
+ if (hook != null) {
+ msgs = ((InternalEObject) hook).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK, null, msgs);
+ }
+ if (newHook != null) {
+ msgs = ((InternalEObject) newHook).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK, null, msgs);
+ }
+ msgs = basicSetHook(newHook, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK, newHook, newHook));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getMappings() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT:
+ return basicSetElement(null, msgs);
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW:
+ return basicSetElementView(null, msgs);
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW:
+ return basicSetContainerView(null, msgs);
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION:
+ return basicSetInitialOperation(null, msgs);
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK:
+ return basicSetHook(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 ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT:
+ if (resolve) {
+ return getElement();
+ }
+ return basicGetElement();
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW:
+ if (resolve) {
+ return getElementView();
+ }
+ return basicGetElementView();
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW:
+ if (resolve) {
+ return getContainerView();
+ }
+ return basicGetContainerView();
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK:
+ if (resolve) {
+ return getHook();
+ }
+ return basicGetHook();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT:
+ setElement((ElementDeleteVariable) newValue);
+ return;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW:
+ setElementView((ElementDeleteVariable) newValue);
+ return;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW:
+ setContainerView((ContainerViewVariable) newValue);
+ return;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) newValue);
+ return;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK:
+ setHook((DeleteHook) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT:
+ setElement((ElementDeleteVariable) null);
+ return;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW:
+ setElementView((ElementDeleteVariable) null);
+ return;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW:
+ setContainerView((ContainerViewVariable) null);
+ return;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) null);
+ return;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK:
+ setHook((DeleteHook) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT:
+ return element != null;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW:
+ return elementView != null;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW:
+ return containerView != null;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION:
+ return initialOperation != null;
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK:
+ return hook != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DeleteElementDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteHookImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteHookImpl.java
new file mode 100644
index 0000000000..6c335806bc
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteHookImpl.java
@@ -0,0 +1,230 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.DeleteHook;
+import org.eclipse.sirius.diagram.description.tool.DeleteHookParameter;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Delete Hook</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteHookImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteHookImpl#getParameters <em>Parameters</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DeleteHookImpl extends MinimalEObjectImpl.Container implements DeleteHook {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = DeleteHookImpl.ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getParameters()
+ * @generated
+ * @ordered
+ */
+ protected EList<DeleteHookParameter> parameters;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DeleteHookImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.DELETE_HOOK;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_HOOK__ID, oldId, id));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DeleteHookParameter> getParameters() {
+ if (parameters == null) {
+ parameters = new EObjectContainmentEList.Resolving<>(DeleteHookParameter.class, this, ToolPackage.DELETE_HOOK__PARAMETERS);
+ }
+ return parameters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.DELETE_HOOK__PARAMETERS:
+ return ((InternalEList<?>) getParameters()).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 ToolPackage.DELETE_HOOK__ID:
+ return getId();
+ case ToolPackage.DELETE_HOOK__PARAMETERS:
+ return getParameters();
+ }
+ 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 ToolPackage.DELETE_HOOK__ID:
+ setId((String) newValue);
+ return;
+ case ToolPackage.DELETE_HOOK__PARAMETERS:
+ getParameters().clear();
+ getParameters().addAll((Collection<? extends DeleteHookParameter>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DELETE_HOOK__ID:
+ setId(DeleteHookImpl.ID_EDEFAULT);
+ return;
+ case ToolPackage.DELETE_HOOK__PARAMETERS:
+ getParameters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DELETE_HOOK__ID:
+ return DeleteHookImpl.ID_EDEFAULT == null ? id != null : !DeleteHookImpl.ID_EDEFAULT.equals(id);
+ case ToolPackage.DELETE_HOOK__PARAMETERS:
+ return parameters != null && !parameters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DeleteHookImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteHookParameterImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteHookParameterImpl.java
new file mode 100644
index 0000000000..63472176d8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DeleteHookParameterImpl.java
@@ -0,0 +1,232 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.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.sirius.diagram.description.tool.DeleteHookParameter;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Delete Hook Parameter</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteHookParameterImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DeleteHookParameterImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DeleteHookParameterImpl extends MinimalEObjectImpl.Container implements DeleteHookParameter {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = DeleteHookParameterImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = DeleteHookParameterImpl.VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DeleteHookParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.DELETE_HOOK_PARAMETER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_HOOK_PARAMETER__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DELETE_HOOK_PARAMETER__VALUE, oldValue, value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ToolPackage.DELETE_HOOK_PARAMETER__NAME:
+ return getName();
+ case ToolPackage.DELETE_HOOK_PARAMETER__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.DELETE_HOOK_PARAMETER__NAME:
+ setName((String) newValue);
+ return;
+ case ToolPackage.DELETE_HOOK_PARAMETER__VALUE:
+ setValue((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DELETE_HOOK_PARAMETER__NAME:
+ setName(DeleteHookParameterImpl.NAME_EDEFAULT);
+ return;
+ case ToolPackage.DELETE_HOOK_PARAMETER__VALUE:
+ setValue(DeleteHookParameterImpl.VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DELETE_HOOK_PARAMETER__NAME:
+ return DeleteHookParameterImpl.NAME_EDEFAULT == null ? name != null : !DeleteHookParameterImpl.NAME_EDEFAULT.equals(name);
+ case ToolPackage.DELETE_HOOK_PARAMETER__VALUE:
+ return DeleteHookParameterImpl.VALUE_EDEFAULT == null ? value != null : !DeleteHookParameterImpl.VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DeleteHookParameterImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DiagramCreationDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DiagramCreationDescriptionImpl.java
new file mode 100644
index 0000000000..d61f3418b6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DiagramCreationDescriptionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.impl.RepresentationCreationDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Diagram Creation Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DiagramCreationDescriptionImpl#getDiagramDescription
+ * <em>Diagram Description</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DiagramCreationDescriptionImpl extends RepresentationCreationDescriptionImpl implements DiagramCreationDescription {
+ /**
+ * The cached value of the '{@link #getDiagramDescription() <em>Diagram Description</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDiagramDescription()
+ * @generated
+ * @ordered
+ */
+ protected DiagramDescription diagramDescription;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiagramCreationDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.DIAGRAM_CREATION_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DiagramDescription getDiagramDescription() {
+ if (diagramDescription != null && diagramDescription.eIsProxy()) {
+ InternalEObject oldDiagramDescription = (InternalEObject) diagramDescription;
+ diagramDescription = (DiagramDescription) eResolveProxy(oldDiagramDescription);
+ if (diagramDescription != oldDiagramDescription) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION, oldDiagramDescription, diagramDescription));
+ }
+ }
+ }
+ return diagramDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramDescription basicGetDiagramDescription() {
+ return diagramDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDiagramDescription(DiagramDescription newDiagramDescription) {
+ DiagramDescription oldDiagramDescription = diagramDescription;
+ diagramDescription = newDiagramDescription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION, oldDiagramDescription, diagramDescription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ToolPackage.DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION:
+ if (resolve) {
+ return getDiagramDescription();
+ }
+ return basicGetDiagramDescription();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION:
+ setDiagramDescription((DiagramDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION:
+ setDiagramDescription((DiagramDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION:
+ return diagramDescription != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DiagramCreationDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DiagramNavigationDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DiagramNavigationDescriptionImpl.java
new file mode 100644
index 0000000000..5b52771704
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DiagramNavigationDescriptionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.impl.RepresentationNavigationDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Diagram Navigation Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DiagramNavigationDescriptionImpl#getDiagramDescription
+ * <em>Diagram Description</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DiagramNavigationDescriptionImpl extends RepresentationNavigationDescriptionImpl implements DiagramNavigationDescription {
+ /**
+ * The cached value of the '{@link #getDiagramDescription() <em>Diagram Description</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDiagramDescription()
+ * @generated
+ * @ordered
+ */
+ protected DiagramDescription diagramDescription;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiagramNavigationDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.DIAGRAM_NAVIGATION_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DiagramDescription getDiagramDescription() {
+ if (diagramDescription != null && diagramDescription.eIsProxy()) {
+ InternalEObject oldDiagramDescription = (InternalEObject) diagramDescription;
+ diagramDescription = (DiagramDescription) eResolveProxy(oldDiagramDescription);
+ if (diagramDescription != oldDiagramDescription) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION, oldDiagramDescription, diagramDescription));
+ }
+ }
+ }
+ return diagramDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramDescription basicGetDiagramDescription() {
+ return diagramDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDiagramDescription(DiagramDescription newDiagramDescription) {
+ DiagramDescription oldDiagramDescription = diagramDescription;
+ diagramDescription = newDiagramDescription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION, oldDiagramDescription, diagramDescription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION:
+ if (resolve) {
+ return getDiagramDescription();
+ }
+ return basicGetDiagramDescription();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION:
+ setDiagramDescription((DiagramDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION:
+ setDiagramDescription((DiagramDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION:
+ return diagramDescription != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DiagramNavigationDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DirectEditLabelImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DirectEditLabelImpl.java
new file mode 100644
index 0000000000..4f3392aaa1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DirectEditLabelImpl.java
@@ -0,0 +1,417 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+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.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.tool.DirectEditLabel;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.EditMaskVariables;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.MappingBasedToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Direct Edit Label</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DirectEditLabelImpl#getMask <em>Mask</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DirectEditLabelImpl#getInitialOperation <em>Initial
+ * Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DirectEditLabelImpl#getInputLabelExpression <em>Input
+ * Label Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DirectEditLabelImpl extends MappingBasedToolDescriptionImpl implements DirectEditLabel {
+ /**
+ * The cached value of the '{@link #getMask() <em>Mask</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMask()
+ * @generated
+ * @ordered
+ */
+ protected EditMaskVariables mask;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation initialOperation;
+
+ /**
+ * The default value of the '{@link #getInputLabelExpression() <em>Input Label Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInputLabelExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String INPUT_LABEL_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInputLabelExpression() <em>Input Label Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInputLabelExpression()
+ * @generated
+ * @ordered
+ */
+ protected String inputLabelExpression = DirectEditLabelImpl.INPUT_LABEL_EXPRESSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DirectEditLabelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.DIRECT_EDIT_LABEL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EditMaskVariables getMask() {
+ if (mask != null && mask.eIsProxy()) {
+ InternalEObject oldMask = (InternalEObject) mask;
+ mask = (EditMaskVariables) eResolveProxy(oldMask);
+ if (mask != oldMask) {
+ InternalEObject newMask = (InternalEObject) mask;
+ NotificationChain msgs = oldMask.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DIRECT_EDIT_LABEL__MASK, null, null);
+ if (newMask.eInternalContainer() == null) {
+ msgs = newMask.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DIRECT_EDIT_LABEL__MASK, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DIRECT_EDIT_LABEL__MASK, oldMask, mask));
+ }
+ }
+ }
+ return mask;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EditMaskVariables basicGetMask() {
+ return mask;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetMask(EditMaskVariables newMask, NotificationChain msgs) {
+ EditMaskVariables oldMask = mask;
+ mask = newMask;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DIRECT_EDIT_LABEL__MASK, oldMask, newMask);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setMask(EditMaskVariables newMask) {
+ if (newMask != mask) {
+ NotificationChain msgs = null;
+ if (mask != null) {
+ msgs = ((InternalEObject) mask).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DIRECT_EDIT_LABEL__MASK, null, msgs);
+ }
+ if (newMask != null) {
+ msgs = ((InternalEObject) newMask).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DIRECT_EDIT_LABEL__MASK, null, msgs);
+ }
+ msgs = basicSetMask(newMask, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DIRECT_EDIT_LABEL__MASK, newMask, newMask));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitialOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialOperation newInitialOperation, NotificationChain msgs) {
+ InitialOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitialOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getInputLabelExpression() {
+ return inputLabelExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInputLabelExpression(String newInputLabelExpression) {
+ String oldInputLabelExpression = inputLabelExpression;
+ inputLabelExpression = newInputLabelExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DIRECT_EDIT_LABEL__INPUT_LABEL_EXPRESSION, oldInputLabelExpression, inputLabelExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getMapping() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.DIRECT_EDIT_LABEL__MASK:
+ return basicSetMask(null, msgs);
+ case ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION:
+ return basicSetInitialOperation(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 ToolPackage.DIRECT_EDIT_LABEL__MASK:
+ if (resolve) {
+ return getMask();
+ }
+ return basicGetMask();
+ case ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ case ToolPackage.DIRECT_EDIT_LABEL__INPUT_LABEL_EXPRESSION:
+ return getInputLabelExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.DIRECT_EDIT_LABEL__MASK:
+ setMask((EditMaskVariables) newValue);
+ return;
+ case ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) newValue);
+ return;
+ case ToolPackage.DIRECT_EDIT_LABEL__INPUT_LABEL_EXPRESSION:
+ setInputLabelExpression((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DIRECT_EDIT_LABEL__MASK:
+ setMask((EditMaskVariables) null);
+ return;
+ case ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) null);
+ return;
+ case ToolPackage.DIRECT_EDIT_LABEL__INPUT_LABEL_EXPRESSION:
+ setInputLabelExpression(DirectEditLabelImpl.INPUT_LABEL_EXPRESSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DIRECT_EDIT_LABEL__MASK:
+ return mask != null;
+ case ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION:
+ return initialOperation != null;
+ case ToolPackage.DIRECT_EDIT_LABEL__INPUT_LABEL_EXPRESSION:
+ return DirectEditLabelImpl.INPUT_LABEL_EXPRESSION_EDEFAULT == null ? inputLabelExpression != null : !DirectEditLabelImpl.INPUT_LABEL_EXPRESSION_EDEFAULT.equals(inputLabelExpression);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (inputLabelExpression: "); //$NON-NLS-1$
+ result.append(inputLabelExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DirectEditLabelImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DoubleClickDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DoubleClickDescriptionImpl.java
new file mode 100644
index 0000000000..4e47a83252
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/DoubleClickDescriptionImpl.java
@@ -0,0 +1,498 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.tool.DoubleClickDescription;
+import org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.MappingBasedToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Double Click Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DoubleClickDescriptionImpl#getMappings
+ * <em>Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DoubleClickDescriptionImpl#getElement
+ * <em>Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DoubleClickDescriptionImpl#getElementView <em>Element
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.DoubleClickDescriptionImpl#getInitialOperation
+ * <em>Initial Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DoubleClickDescriptionImpl extends MappingBasedToolDescriptionImpl implements DoubleClickDescription {
+ /**
+ * The cached value of the '{@link #getMappings() <em>Mappings</em>}' reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> mappings;
+
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected ElementDoubleClickVariable element;
+
+ /**
+ * The cached value of the '{@link #getElementView() <em>Element View</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getElementView()
+ * @generated
+ * @ordered
+ */
+ protected ElementDoubleClickVariable elementView;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation initialOperation;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DoubleClickDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.DOUBLE_CLICK_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getMappings() {
+ if (mappings == null) {
+ mappings = new EObjectWithInverseResolvingEList<>(DiagramElementMapping.class, this, ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS,
+ DescriptionPackage.DIAGRAM_ELEMENT_MAPPING__DOUBLE_CLICK_DESCRIPTION);
+ }
+ return mappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementDoubleClickVariable getElement() {
+ if (element != null && element.eIsProxy()) {
+ InternalEObject oldElement = (InternalEObject) element;
+ element = (ElementDoubleClickVariable) eResolveProxy(oldElement);
+ if (element != oldElement) {
+ InternalEObject newElement = (InternalEObject) element;
+ NotificationChain msgs = oldElement.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT, null, null);
+ if (newElement.eInternalContainer() == null) {
+ msgs = newElement.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT, oldElement, element));
+ }
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementDoubleClickVariable basicGetElement() {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetElement(ElementDoubleClickVariable newElement, NotificationChain msgs) {
+ ElementDoubleClickVariable oldElement = element;
+ element = newElement;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT, oldElement, newElement);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setElement(ElementDoubleClickVariable newElement) {
+ if (newElement != element) {
+ NotificationChain msgs = null;
+ if (element != null) {
+ msgs = ((InternalEObject) element).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ if (newElement != null) {
+ msgs = ((InternalEObject) newElement).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT, newElement, newElement));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementDoubleClickVariable getElementView() {
+ if (elementView != null && elementView.eIsProxy()) {
+ InternalEObject oldElementView = (InternalEObject) elementView;
+ elementView = (ElementDoubleClickVariable) eResolveProxy(oldElementView);
+ if (elementView != oldElementView) {
+ InternalEObject newElementView = (InternalEObject) elementView;
+ NotificationChain msgs = oldElementView.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW, null, null);
+ if (newElementView.eInternalContainer() == null) {
+ msgs = newElementView.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW, oldElementView, elementView));
+ }
+ }
+ }
+ return elementView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementDoubleClickVariable basicGetElementView() {
+ return elementView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetElementView(ElementDoubleClickVariable newElementView, NotificationChain msgs) {
+ ElementDoubleClickVariable oldElementView = elementView;
+ elementView = newElementView;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW, oldElementView, newElementView);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setElementView(ElementDoubleClickVariable newElementView) {
+ if (newElementView != elementView) {
+ NotificationChain msgs = null;
+ if (elementView != null) {
+ msgs = ((InternalEObject) elementView).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW, null, msgs);
+ }
+ if (newElementView != null) {
+ msgs = ((InternalEObject) newElementView).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW, null, msgs);
+ }
+ msgs = basicSetElementView(newElementView, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW, newElementView, newElementView));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitialOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialOperation newInitialOperation, NotificationChain msgs) {
+ InitialOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitialOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS:
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getMappings()).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 ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS:
+ return ((InternalEList<?>) getMappings()).basicRemove(otherEnd, msgs);
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT:
+ return basicSetElement(null, msgs);
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW:
+ return basicSetElementView(null, msgs);
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION:
+ return basicSetInitialOperation(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 ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS:
+ return getMappings();
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT:
+ if (resolve) {
+ return getElement();
+ }
+ return basicGetElement();
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW:
+ if (resolve) {
+ return getElementView();
+ }
+ return basicGetElementView();
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ }
+ 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 ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS:
+ getMappings().clear();
+ getMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT:
+ setElement((ElementDoubleClickVariable) newValue);
+ return;
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW:
+ setElementView((ElementDoubleClickVariable) newValue);
+ return;
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS:
+ getMappings().clear();
+ return;
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT:
+ setElement((ElementDoubleClickVariable) null);
+ return;
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW:
+ setElementView((ElementDoubleClickVariable) null);
+ return;
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS:
+ return mappings != null && !mappings.isEmpty();
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT:
+ return element != null;
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW:
+ return elementView != null;
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION:
+ return initialOperation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DoubleClickDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/EdgeCreationDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/EdgeCreationDescriptionImpl.java
new file mode 100644
index 0000000000..5e80cf0458
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/EdgeCreationDescriptionImpl.java
@@ -0,0 +1,899 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.InitEdgeCreationOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.MappingBasedToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Edge Creation Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getEdgeMappings <em>Edge
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getSourceVariable <em>Source
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getTargetVariable <em>Target
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getSourceViewVariable
+ * <em>Source View Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getTargetViewVariable
+ * <em>Target View Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getInitialOperation
+ * <em>Initial Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getIconPath <em>Icon
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getExtraSourceMappings
+ * <em>Extra Source Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getExtraTargetMappings
+ * <em>Extra Target Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.EdgeCreationDescriptionImpl#getConnectionStartPrecondition
+ * <em>Connection Start Precondition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EdgeCreationDescriptionImpl extends MappingBasedToolDescriptionImpl implements EdgeCreationDescription {
+ /**
+ * The cached value of the '{@link #getEdgeMappings() <em>Edge Mappings</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getEdgeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<EdgeMapping> edgeMappings;
+
+ /**
+ * The cached value of the '{@link #getSourceVariable() <em>Source Variable</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSourceVariable()
+ * @generated
+ * @ordered
+ */
+ protected SourceEdgeCreationVariable sourceVariable;
+
+ /**
+ * The cached value of the '{@link #getTargetVariable() <em>Target Variable</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetVariable()
+ * @generated
+ * @ordered
+ */
+ protected TargetEdgeCreationVariable targetVariable;
+
+ /**
+ * The cached value of the '{@link #getSourceViewVariable() <em>Source View Variable</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSourceViewVariable()
+ * @generated
+ * @ordered
+ */
+ protected SourceEdgeViewCreationVariable sourceViewVariable;
+
+ /**
+ * The cached value of the '{@link #getTargetViewVariable() <em>Target View Variable</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetViewVariable()
+ * @generated
+ * @ordered
+ */
+ protected TargetEdgeViewCreationVariable targetViewVariable;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitEdgeCreationOperation initialOperation;
+
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected String iconPath = EdgeCreationDescriptionImpl.ICON_PATH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtraSourceMappings() <em>Extra Source Mappings</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExtraSourceMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> extraSourceMappings;
+
+ /**
+ * The cached value of the '{@link #getExtraTargetMappings() <em>Extra Target Mappings</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExtraTargetMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiagramElementMapping> extraTargetMappings;
+
+ /**
+ * The default value of the '{@link #getConnectionStartPrecondition() <em>Connection Start Precondition</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConnectionStartPrecondition()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONNECTION_START_PRECONDITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getConnectionStartPrecondition() <em>Connection Start Precondition</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConnectionStartPrecondition()
+ * @generated
+ * @ordered
+ */
+ protected String connectionStartPrecondition = EdgeCreationDescriptionImpl.CONNECTION_START_PRECONDITION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EdgeCreationDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.EDGE_CREATION_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EdgeMapping> getEdgeMappings() {
+ if (edgeMappings == null) {
+ edgeMappings = new EObjectResolvingEList<>(EdgeMapping.class, this, ToolPackage.EDGE_CREATION_DESCRIPTION__EDGE_MAPPINGS);
+ }
+ return edgeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public SourceEdgeCreationVariable getSourceVariable() {
+ if (sourceVariable != null && sourceVariable.eIsProxy()) {
+ InternalEObject oldSourceVariable = (InternalEObject) sourceVariable;
+ sourceVariable = (SourceEdgeCreationVariable) eResolveProxy(oldSourceVariable);
+ if (sourceVariable != oldSourceVariable) {
+ InternalEObject newSourceVariable = (InternalEObject) sourceVariable;
+ NotificationChain msgs = oldSourceVariable.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE, null, null);
+ if (newSourceVariable.eInternalContainer() == null) {
+ msgs = newSourceVariable.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE, oldSourceVariable, sourceVariable));
+ }
+ }
+ }
+ return sourceVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SourceEdgeCreationVariable basicGetSourceVariable() {
+ return sourceVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSourceVariable(SourceEdgeCreationVariable newSourceVariable, NotificationChain msgs) {
+ SourceEdgeCreationVariable oldSourceVariable = sourceVariable;
+ sourceVariable = newSourceVariable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE, oldSourceVariable, newSourceVariable);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSourceVariable(SourceEdgeCreationVariable newSourceVariable) {
+ if (newSourceVariable != sourceVariable) {
+ NotificationChain msgs = null;
+ if (sourceVariable != null) {
+ msgs = ((InternalEObject) sourceVariable).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE, null, msgs);
+ }
+ if (newSourceVariable != null) {
+ msgs = ((InternalEObject) newSourceVariable).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE, null, msgs);
+ }
+ msgs = basicSetSourceVariable(newSourceVariable, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE, newSourceVariable, newSourceVariable));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TargetEdgeCreationVariable getTargetVariable() {
+ if (targetVariable != null && targetVariable.eIsProxy()) {
+ InternalEObject oldTargetVariable = (InternalEObject) targetVariable;
+ targetVariable = (TargetEdgeCreationVariable) eResolveProxy(oldTargetVariable);
+ if (targetVariable != oldTargetVariable) {
+ InternalEObject newTargetVariable = (InternalEObject) targetVariable;
+ NotificationChain msgs = oldTargetVariable.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE, null, null);
+ if (newTargetVariable.eInternalContainer() == null) {
+ msgs = newTargetVariable.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE, oldTargetVariable, targetVariable));
+ }
+ }
+ }
+ return targetVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TargetEdgeCreationVariable basicGetTargetVariable() {
+ return targetVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetTargetVariable(TargetEdgeCreationVariable newTargetVariable, NotificationChain msgs) {
+ TargetEdgeCreationVariable oldTargetVariable = targetVariable;
+ targetVariable = newTargetVariable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE, oldTargetVariable, newTargetVariable);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTargetVariable(TargetEdgeCreationVariable newTargetVariable) {
+ if (newTargetVariable != targetVariable) {
+ NotificationChain msgs = null;
+ if (targetVariable != null) {
+ msgs = ((InternalEObject) targetVariable).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE, null, msgs);
+ }
+ if (newTargetVariable != null) {
+ msgs = ((InternalEObject) newTargetVariable).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE, null, msgs);
+ }
+ msgs = basicSetTargetVariable(newTargetVariable, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE, newTargetVariable, newTargetVariable));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public SourceEdgeViewCreationVariable getSourceViewVariable() {
+ if (sourceViewVariable != null && sourceViewVariable.eIsProxy()) {
+ InternalEObject oldSourceViewVariable = (InternalEObject) sourceViewVariable;
+ sourceViewVariable = (SourceEdgeViewCreationVariable) eResolveProxy(oldSourceViewVariable);
+ if (sourceViewVariable != oldSourceViewVariable) {
+ InternalEObject newSourceViewVariable = (InternalEObject) sourceViewVariable;
+ NotificationChain msgs = oldSourceViewVariable.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE, null, null);
+ if (newSourceViewVariable.eInternalContainer() == null) {
+ msgs = newSourceViewVariable.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE, oldSourceViewVariable, sourceViewVariable));
+ }
+ }
+ }
+ return sourceViewVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SourceEdgeViewCreationVariable basicGetSourceViewVariable() {
+ return sourceViewVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSourceViewVariable(SourceEdgeViewCreationVariable newSourceViewVariable, NotificationChain msgs) {
+ SourceEdgeViewCreationVariable oldSourceViewVariable = sourceViewVariable;
+ sourceViewVariable = newSourceViewVariable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE, oldSourceViewVariable, newSourceViewVariable);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSourceViewVariable(SourceEdgeViewCreationVariable newSourceViewVariable) {
+ if (newSourceViewVariable != sourceViewVariable) {
+ NotificationChain msgs = null;
+ if (sourceViewVariable != null) {
+ msgs = ((InternalEObject) sourceViewVariable).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE, null, msgs);
+ }
+ if (newSourceViewVariable != null) {
+ msgs = ((InternalEObject) newSourceViewVariable).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE, null, msgs);
+ }
+ msgs = basicSetSourceViewVariable(newSourceViewVariable, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE, newSourceViewVariable, newSourceViewVariable));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TargetEdgeViewCreationVariable getTargetViewVariable() {
+ if (targetViewVariable != null && targetViewVariable.eIsProxy()) {
+ InternalEObject oldTargetViewVariable = (InternalEObject) targetViewVariable;
+ targetViewVariable = (TargetEdgeViewCreationVariable) eResolveProxy(oldTargetViewVariable);
+ if (targetViewVariable != oldTargetViewVariable) {
+ InternalEObject newTargetViewVariable = (InternalEObject) targetViewVariable;
+ NotificationChain msgs = oldTargetViewVariable.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE, null, null);
+ if (newTargetViewVariable.eInternalContainer() == null) {
+ msgs = newTargetViewVariable.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE, oldTargetViewVariable, targetViewVariable));
+ }
+ }
+ }
+ return targetViewVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TargetEdgeViewCreationVariable basicGetTargetViewVariable() {
+ return targetViewVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetTargetViewVariable(TargetEdgeViewCreationVariable newTargetViewVariable, NotificationChain msgs) {
+ TargetEdgeViewCreationVariable oldTargetViewVariable = targetViewVariable;
+ targetViewVariable = newTargetViewVariable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE, oldTargetViewVariable, newTargetViewVariable);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTargetViewVariable(TargetEdgeViewCreationVariable newTargetViewVariable) {
+ if (newTargetViewVariable != targetViewVariable) {
+ NotificationChain msgs = null;
+ if (targetViewVariable != null) {
+ msgs = ((InternalEObject) targetViewVariable).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE, null, msgs);
+ }
+ if (newTargetViewVariable != null) {
+ msgs = ((InternalEObject) newTargetViewVariable).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE, null, msgs);
+ }
+ msgs = basicSetTargetViewVariable(newTargetViewVariable, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE, newTargetViewVariable, newTargetViewVariable));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitEdgeCreationOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitEdgeCreationOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitEdgeCreationOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitEdgeCreationOperation newInitialOperation, NotificationChain msgs) {
+ InitEdgeCreationOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitEdgeCreationOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getIconPath() {
+ return iconPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIconPath(String newIconPath) {
+ String oldIconPath = iconPath;
+ iconPath = newIconPath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__ICON_PATH, oldIconPath, iconPath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getExtraSourceMappings() {
+ if (extraSourceMappings == null) {
+ extraSourceMappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_SOURCE_MAPPINGS);
+ }
+ return extraSourceMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<DiagramElementMapping> getExtraTargetMappings() {
+ if (extraTargetMappings == null) {
+ extraTargetMappings = new EObjectResolvingEList<>(DiagramElementMapping.class, this, ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_TARGET_MAPPINGS);
+ }
+ return extraTargetMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getConnectionStartPrecondition() {
+ return connectionStartPrecondition;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setConnectionStartPrecondition(String newConnectionStartPrecondition) {
+ String oldConnectionStartPrecondition = connectionStartPrecondition;
+ connectionStartPrecondition = newConnectionStartPrecondition;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.EDGE_CREATION_DESCRIPTION__CONNECTION_START_PRECONDITION, oldConnectionStartPrecondition, connectionStartPrecondition));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE:
+ return basicSetSourceVariable(null, msgs);
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE:
+ return basicSetTargetVariable(null, msgs);
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE:
+ return basicSetSourceViewVariable(null, msgs);
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE:
+ return basicSetTargetViewVariable(null, msgs);
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ return basicSetInitialOperation(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 ToolPackage.EDGE_CREATION_DESCRIPTION__EDGE_MAPPINGS:
+ return getEdgeMappings();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE:
+ if (resolve) {
+ return getSourceVariable();
+ }
+ return basicGetSourceVariable();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE:
+ if (resolve) {
+ return getTargetVariable();
+ }
+ return basicGetTargetVariable();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE:
+ if (resolve) {
+ return getSourceViewVariable();
+ }
+ return basicGetSourceViewVariable();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE:
+ if (resolve) {
+ return getTargetViewVariable();
+ }
+ return basicGetTargetViewVariable();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__ICON_PATH:
+ return getIconPath();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_SOURCE_MAPPINGS:
+ return getExtraSourceMappings();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_TARGET_MAPPINGS:
+ return getExtraTargetMappings();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__CONNECTION_START_PRECONDITION:
+ return getConnectionStartPrecondition();
+ }
+ 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 ToolPackage.EDGE_CREATION_DESCRIPTION__EDGE_MAPPINGS:
+ getEdgeMappings().clear();
+ getEdgeMappings().addAll((Collection<? extends EdgeMapping>) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE:
+ setSourceVariable((SourceEdgeCreationVariable) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE:
+ setTargetVariable((TargetEdgeCreationVariable) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE:
+ setSourceViewVariable((SourceEdgeViewCreationVariable) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE:
+ setTargetViewVariable((TargetEdgeViewCreationVariable) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitEdgeCreationOperation) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__ICON_PATH:
+ setIconPath((String) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_SOURCE_MAPPINGS:
+ getExtraSourceMappings().clear();
+ getExtraSourceMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_TARGET_MAPPINGS:
+ getExtraTargetMappings().clear();
+ getExtraTargetMappings().addAll((Collection<? extends DiagramElementMapping>) newValue);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__CONNECTION_START_PRECONDITION:
+ setConnectionStartPrecondition((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EDGE_MAPPINGS:
+ getEdgeMappings().clear();
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE:
+ setSourceVariable((SourceEdgeCreationVariable) null);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE:
+ setTargetVariable((TargetEdgeCreationVariable) null);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE:
+ setSourceViewVariable((SourceEdgeViewCreationVariable) null);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE:
+ setTargetViewVariable((TargetEdgeViewCreationVariable) null);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitEdgeCreationOperation) null);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__ICON_PATH:
+ setIconPath(EdgeCreationDescriptionImpl.ICON_PATH_EDEFAULT);
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_SOURCE_MAPPINGS:
+ getExtraSourceMappings().clear();
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_TARGET_MAPPINGS:
+ getExtraTargetMappings().clear();
+ return;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__CONNECTION_START_PRECONDITION:
+ setConnectionStartPrecondition(EdgeCreationDescriptionImpl.CONNECTION_START_PRECONDITION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EDGE_MAPPINGS:
+ return edgeMappings != null && !edgeMappings.isEmpty();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE:
+ return sourceVariable != null;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE:
+ return targetVariable != null;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE:
+ return sourceViewVariable != null;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE:
+ return targetViewVariable != null;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ return initialOperation != null;
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__ICON_PATH:
+ return EdgeCreationDescriptionImpl.ICON_PATH_EDEFAULT == null ? iconPath != null : !EdgeCreationDescriptionImpl.ICON_PATH_EDEFAULT.equals(iconPath);
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_SOURCE_MAPPINGS:
+ return extraSourceMappings != null && !extraSourceMappings.isEmpty();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_TARGET_MAPPINGS:
+ return extraTargetMappings != null && !extraTargetMappings.isEmpty();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION__CONNECTION_START_PRECONDITION:
+ return EdgeCreationDescriptionImpl.CONNECTION_START_PRECONDITION_EDEFAULT == null ? connectionStartPrecondition != null
+ : !EdgeCreationDescriptionImpl.CONNECTION_START_PRECONDITION_EDEFAULT.equals(connectionStartPrecondition);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (iconPath: "); //$NON-NLS-1$
+ result.append(iconPath);
+ result.append(", connectionStartPrecondition: "); //$NON-NLS-1$
+ result.append(connectionStartPrecondition);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EdgeCreationDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ElementDoubleClickVariableImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ElementDoubleClickVariableImpl.java
new file mode 100644
index 0000000000..c1ff021965
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ElementDoubleClickVariableImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.SubVariable;
+import org.eclipse.sirius.viewpoint.description.impl.AbstractVariableImpl;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Element Double Click Variable</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ElementDoubleClickVariableImpl#getSubVariables <em>Sub
+ * Variables</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ElementDoubleClickVariableImpl extends AbstractVariableImpl implements ElementDoubleClickVariable {
+ /**
+ * The cached value of the '{@link #getSubVariables() <em>Sub Variables</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubVariables()
+ * @generated
+ * @ordered
+ */
+ protected EList<SubVariable> subVariables;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementDoubleClickVariableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.ELEMENT_DOUBLE_CLICK_VARIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<SubVariable> getSubVariables() {
+ if (subVariables == null) {
+ subVariables = new EObjectContainmentEList.Resolving<>(SubVariable.class, this, ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES);
+ }
+ return subVariables;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES:
+ return ((InternalEList<?>) getSubVariables()).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 ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES:
+ return getSubVariables();
+ }
+ 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 ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ getSubVariables().addAll((Collection<? extends SubVariable>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES:
+ return subVariables != null && !subVariables.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (derivedFeatureID) {
+ case ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES:
+ return org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES:
+ return ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // ElementDoubleClickVariableImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NavigationImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NavigationImpl.java
new file mode 100644
index 0000000000..50c68b4e62
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NavigationImpl.java
@@ -0,0 +1,244 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.tool.Navigation;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.impl.ContainerModelOperationImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Navigation</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NavigationImpl#isCreateIfNotExistent <em>Create If Not
+ * Existent</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NavigationImpl#getDiagramDescription <em>Diagram
+ * Description</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NavigationImpl extends ContainerModelOperationImpl implements Navigation {
+ /**
+ * The default value of the '{@link #isCreateIfNotExistent() <em>Create If Not Existent</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isCreateIfNotExistent()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CREATE_IF_NOT_EXISTENT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCreateIfNotExistent() <em>Create If Not Existent</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isCreateIfNotExistent()
+ * @generated
+ * @ordered
+ */
+ protected boolean createIfNotExistent = NavigationImpl.CREATE_IF_NOT_EXISTENT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDiagramDescription() <em>Diagram Description</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDiagramDescription()
+ * @generated
+ * @ordered
+ */
+ protected DiagramDescription diagramDescription;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NavigationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.NAVIGATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isCreateIfNotExistent() {
+ return createIfNotExistent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setCreateIfNotExistent(boolean newCreateIfNotExistent) {
+ boolean oldCreateIfNotExistent = createIfNotExistent;
+ createIfNotExistent = newCreateIfNotExistent;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.NAVIGATION__CREATE_IF_NOT_EXISTENT, oldCreateIfNotExistent, createIfNotExistent));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DiagramDescription getDiagramDescription() {
+ if (diagramDescription != null && diagramDescription.eIsProxy()) {
+ InternalEObject oldDiagramDescription = (InternalEObject) diagramDescription;
+ diagramDescription = (DiagramDescription) eResolveProxy(oldDiagramDescription);
+ if (diagramDescription != oldDiagramDescription) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.NAVIGATION__DIAGRAM_DESCRIPTION, oldDiagramDescription, diagramDescription));
+ }
+ }
+ }
+ return diagramDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramDescription basicGetDiagramDescription() {
+ return diagramDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDiagramDescription(DiagramDescription newDiagramDescription) {
+ DiagramDescription oldDiagramDescription = diagramDescription;
+ diagramDescription = newDiagramDescription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.NAVIGATION__DIAGRAM_DESCRIPTION, oldDiagramDescription, diagramDescription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ToolPackage.NAVIGATION__CREATE_IF_NOT_EXISTENT:
+ return isCreateIfNotExistent();
+ case ToolPackage.NAVIGATION__DIAGRAM_DESCRIPTION:
+ if (resolve) {
+ return getDiagramDescription();
+ }
+ return basicGetDiagramDescription();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.NAVIGATION__CREATE_IF_NOT_EXISTENT:
+ setCreateIfNotExistent((Boolean) newValue);
+ return;
+ case ToolPackage.NAVIGATION__DIAGRAM_DESCRIPTION:
+ setDiagramDescription((DiagramDescription) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.NAVIGATION__CREATE_IF_NOT_EXISTENT:
+ setCreateIfNotExistent(NavigationImpl.CREATE_IF_NOT_EXISTENT_EDEFAULT);
+ return;
+ case ToolPackage.NAVIGATION__DIAGRAM_DESCRIPTION:
+ setDiagramDescription((DiagramDescription) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.NAVIGATION__CREATE_IF_NOT_EXISTENT:
+ return createIfNotExistent != NavigationImpl.CREATE_IF_NOT_EXISTENT_EDEFAULT;
+ case ToolPackage.NAVIGATION__DIAGRAM_DESCRIPTION:
+ return diagramDescription != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (createIfNotExistent: "); //$NON-NLS-1$
+ result.append(createIfNotExistent);
+ result.append(')');
+ return result.toString();
+ }
+
+} // NavigationImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NodeCreationDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NodeCreationDescriptionImpl.java
new file mode 100644
index 0000000000..cf878f2d98
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NodeCreationDescriptionImpl.java
@@ -0,0 +1,590 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialNodeCreationOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.MappingBasedToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Node Creation Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl#getNodeMappings <em>Node
+ * Mappings</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl#getVariable
+ * <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl#getViewVariable <em>View
+ * Variable</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl#getInitialOperation
+ * <em>Initial Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl#getIconPath <em>Icon
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationDescriptionImpl#getExtraMappings <em>Extra
+ * Mappings</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NodeCreationDescriptionImpl extends MappingBasedToolDescriptionImpl implements NodeCreationDescription {
+ /**
+ * The cached value of the '{@link #getNodeMappings() <em>Node Mappings</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getNodeMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NodeMapping> nodeMappings;
+
+ /**
+ * The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getVariable()
+ * @generated
+ * @ordered
+ */
+ protected NodeCreationVariable variable;
+
+ /**
+ * The cached value of the '{@link #getViewVariable() <em>View Variable</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getViewVariable()
+ * @generated
+ * @ordered
+ */
+ protected ContainerViewVariable viewVariable;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialNodeCreationOperation initialOperation;
+
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected String iconPath = NodeCreationDescriptionImpl.ICON_PATH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtraMappings() <em>Extra Mappings</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getExtraMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractNodeMapping> extraMappings;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeCreationDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.NODE_CREATION_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<NodeMapping> getNodeMappings() {
+ if (nodeMappings == null) {
+ nodeMappings = new EObjectResolvingEList<>(NodeMapping.class, this, ToolPackage.NODE_CREATION_DESCRIPTION__NODE_MAPPINGS);
+ }
+ return nodeMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NodeCreationVariable getVariable() {
+ if (variable != null && variable.eIsProxy()) {
+ InternalEObject oldVariable = (InternalEObject) variable;
+ variable = (NodeCreationVariable) eResolveProxy(oldVariable);
+ if (variable != oldVariable) {
+ InternalEObject newVariable = (InternalEObject) variable;
+ NotificationChain msgs = oldVariable.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE, null, null);
+ if (newVariable.eInternalContainer() == null) {
+ msgs = newVariable.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE, oldVariable, variable));
+ }
+ }
+ }
+ return variable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NodeCreationVariable basicGetVariable() {
+ return variable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetVariable(NodeCreationVariable newVariable, NotificationChain msgs) {
+ NodeCreationVariable oldVariable = variable;
+ variable = newVariable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE, oldVariable, newVariable);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setVariable(NodeCreationVariable newVariable) {
+ if (newVariable != variable) {
+ NotificationChain msgs = null;
+ if (variable != null) {
+ msgs = ((InternalEObject) variable).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE, null, msgs);
+ }
+ if (newVariable != null) {
+ msgs = ((InternalEObject) newVariable).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE, null, msgs);
+ }
+ msgs = basicSetVariable(newVariable, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE, newVariable, newVariable));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ContainerViewVariable getViewVariable() {
+ if (viewVariable != null && viewVariable.eIsProxy()) {
+ InternalEObject oldViewVariable = (InternalEObject) viewVariable;
+ viewVariable = (ContainerViewVariable) eResolveProxy(oldViewVariable);
+ if (viewVariable != oldViewVariable) {
+ InternalEObject newViewVariable = (InternalEObject) viewVariable;
+ NotificationChain msgs = oldViewVariable.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE, null, null);
+ if (newViewVariable.eInternalContainer() == null) {
+ msgs = newViewVariable.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE, oldViewVariable, viewVariable));
+ }
+ }
+ }
+ return viewVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ContainerViewVariable basicGetViewVariable() {
+ return viewVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetViewVariable(ContainerViewVariable newViewVariable, NotificationChain msgs) {
+ ContainerViewVariable oldViewVariable = viewVariable;
+ viewVariable = newViewVariable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE, oldViewVariable, newViewVariable);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setViewVariable(ContainerViewVariable newViewVariable) {
+ if (newViewVariable != viewVariable) {
+ NotificationChain msgs = null;
+ if (viewVariable != null) {
+ msgs = ((InternalEObject) viewVariable).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE, null, msgs);
+ }
+ if (newViewVariable != null) {
+ msgs = ((InternalEObject) newViewVariable).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE, null, msgs);
+ }
+ msgs = basicSetViewVariable(newViewVariable, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE, newViewVariable, newViewVariable));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialNodeCreationOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitialNodeCreationOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialNodeCreationOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialNodeCreationOperation newInitialOperation, NotificationChain msgs) {
+ InitialNodeCreationOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitialNodeCreationOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getIconPath() {
+ return iconPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIconPath(String newIconPath) {
+ String oldIconPath = iconPath;
+ iconPath = newIconPath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.NODE_CREATION_DESCRIPTION__ICON_PATH, oldIconPath, iconPath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractNodeMapping> getExtraMappings() {
+ if (extraMappings == null) {
+ extraMappings = new EObjectResolvingEList<>(AbstractNodeMapping.class, this, ToolPackage.NODE_CREATION_DESCRIPTION__EXTRA_MAPPINGS);
+ }
+ return extraMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE:
+ return basicSetVariable(null, msgs);
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ return basicSetViewVariable(null, msgs);
+ case ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ return basicSetInitialOperation(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 ToolPackage.NODE_CREATION_DESCRIPTION__NODE_MAPPINGS:
+ return getNodeMappings();
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE:
+ if (resolve) {
+ return getVariable();
+ }
+ return basicGetVariable();
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ if (resolve) {
+ return getViewVariable();
+ }
+ return basicGetViewVariable();
+ case ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ case ToolPackage.NODE_CREATION_DESCRIPTION__ICON_PATH:
+ return getIconPath();
+ case ToolPackage.NODE_CREATION_DESCRIPTION__EXTRA_MAPPINGS:
+ return getExtraMappings();
+ }
+ 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 ToolPackage.NODE_CREATION_DESCRIPTION__NODE_MAPPINGS:
+ getNodeMappings().clear();
+ getNodeMappings().addAll((Collection<? extends NodeMapping>) newValue);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE:
+ setVariable((NodeCreationVariable) newValue);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ setViewVariable((ContainerViewVariable) newValue);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialNodeCreationOperation) newValue);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__ICON_PATH:
+ setIconPath((String) newValue);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__EXTRA_MAPPINGS:
+ getExtraMappings().clear();
+ getExtraMappings().addAll((Collection<? extends AbstractNodeMapping>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.NODE_CREATION_DESCRIPTION__NODE_MAPPINGS:
+ getNodeMappings().clear();
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE:
+ setVariable((NodeCreationVariable) null);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ setViewVariable((ContainerViewVariable) null);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialNodeCreationOperation) null);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__ICON_PATH:
+ setIconPath(NodeCreationDescriptionImpl.ICON_PATH_EDEFAULT);
+ return;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__EXTRA_MAPPINGS:
+ getExtraMappings().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.NODE_CREATION_DESCRIPTION__NODE_MAPPINGS:
+ return nodeMappings != null && !nodeMappings.isEmpty();
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE:
+ return variable != null;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE:
+ return viewVariable != null;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION:
+ return initialOperation != null;
+ case ToolPackage.NODE_CREATION_DESCRIPTION__ICON_PATH:
+ return NodeCreationDescriptionImpl.ICON_PATH_EDEFAULT == null ? iconPath != null : !NodeCreationDescriptionImpl.ICON_PATH_EDEFAULT.equals(iconPath);
+ case ToolPackage.NODE_CREATION_DESCRIPTION__EXTRA_MAPPINGS:
+ return extraMappings != null && !extraMappings.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (iconPath: "); //$NON-NLS-1$
+ result.append(iconPath);
+ result.append(')');
+ return result.toString();
+ }
+
+} // NodeCreationDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NodeCreationVariableImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NodeCreationVariableImpl.java
new file mode 100644
index 0000000000..c7e2fa3bc0
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/NodeCreationVariableImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.SubVariable;
+import org.eclipse.sirius.viewpoint.description.impl.AbstractVariableImpl;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Node Creation Variable</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.NodeCreationVariableImpl#getSubVariables <em>Sub
+ * Variables</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NodeCreationVariableImpl extends AbstractVariableImpl implements NodeCreationVariable {
+ /**
+ * The cached value of the '{@link #getSubVariables() <em>Sub Variables</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubVariables()
+ * @generated
+ * @ordered
+ */
+ protected EList<SubVariable> subVariables;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NodeCreationVariableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.NODE_CREATION_VARIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<SubVariable> getSubVariables() {
+ if (subVariables == null) {
+ subVariables = new EObjectContainmentEList.Resolving<>(SubVariable.class, this, ToolPackage.NODE_CREATION_VARIABLE__SUB_VARIABLES);
+ }
+ return subVariables;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.NODE_CREATION_VARIABLE__SUB_VARIABLES:
+ return ((InternalEList<?>) getSubVariables()).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 ToolPackage.NODE_CREATION_VARIABLE__SUB_VARIABLES:
+ return getSubVariables();
+ }
+ 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 ToolPackage.NODE_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ getSubVariables().addAll((Collection<? extends SubVariable>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.NODE_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.NODE_CREATION_VARIABLE__SUB_VARIABLES:
+ return subVariables != null && !subVariables.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (derivedFeatureID) {
+ case ToolPackage.NODE_CREATION_VARIABLE__SUB_VARIABLES:
+ return org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES:
+ return ToolPackage.NODE_CREATION_VARIABLE__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // NodeCreationVariableImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ReconnectEdgeDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ReconnectEdgeDescriptionImpl.java
new file mode 100644
index 0000000000..171f50552c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ReconnectEdgeDescriptionImpl.java
@@ -0,0 +1,953 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+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.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription;
+import org.eclipse.sirius.diagram.description.tool.ReconnectionKind;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.ElementSelectVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.impl.MappingBasedToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Reconnect Edge Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl#getReconnectionKind
+ * <em>Reconnection Kind</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl#getSource
+ * <em>Source</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl#getTarget
+ * <em>Target</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl#getSourceView <em>Source
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl#getTargetView <em>Target
+ * View</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl#getElement
+ * <em>Element</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl#getInitialOperation
+ * <em>Initial Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ReconnectEdgeDescriptionImpl#getEdgeView <em>Edge
+ * View</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReconnectEdgeDescriptionImpl extends MappingBasedToolDescriptionImpl implements ReconnectEdgeDescription {
+ /**
+ * The default value of the '{@link #getReconnectionKind() <em>Reconnection Kind</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReconnectionKind()
+ * @generated
+ * @ordered
+ */
+ protected static final ReconnectionKind RECONNECTION_KIND_EDEFAULT = ReconnectionKind.RECONNECT_TARGET_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getReconnectionKind() <em>Reconnection Kind</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReconnectionKind()
+ * @generated
+ * @ordered
+ */
+ protected ReconnectionKind reconnectionKind = ReconnectEdgeDescriptionImpl.RECONNECTION_KIND_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected SourceEdgeCreationVariable source;
+
+ /**
+ * The cached value of the '{@link #getTarget() <em>Target</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTarget()
+ * @generated
+ * @ordered
+ */
+ protected TargetEdgeCreationVariable target;
+
+ /**
+ * The cached value of the '{@link #getSourceView() <em>Source View</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSourceView()
+ * @generated
+ * @ordered
+ */
+ protected SourceEdgeViewCreationVariable sourceView;
+
+ /**
+ * The cached value of the '{@link #getTargetView() <em>Target View</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetView()
+ * @generated
+ * @ordered
+ */
+ protected TargetEdgeViewCreationVariable targetView;
+
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected ElementSelectVariable element;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation initialOperation;
+
+ /**
+ * The cached value of the '{@link #getEdgeView() <em>Edge View</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getEdgeView()
+ * @generated
+ * @ordered
+ */
+ protected ElementSelectVariable edgeView;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReconnectEdgeDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.RECONNECT_EDGE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ReconnectionKind getReconnectionKind() {
+ return reconnectionKind;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setReconnectionKind(ReconnectionKind newReconnectionKind) {
+ ReconnectionKind oldReconnectionKind = reconnectionKind;
+ reconnectionKind = newReconnectionKind == null ? ReconnectEdgeDescriptionImpl.RECONNECTION_KIND_EDEFAULT : newReconnectionKind;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__RECONNECTION_KIND, oldReconnectionKind, reconnectionKind));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public SourceEdgeCreationVariable getSource() {
+ if (source != null && source.eIsProxy()) {
+ InternalEObject oldSource = (InternalEObject) source;
+ source = (SourceEdgeCreationVariable) eResolveProxy(oldSource);
+ if (source != oldSource) {
+ InternalEObject newSource = (InternalEObject) source;
+ NotificationChain msgs = oldSource.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE, null, null);
+ if (newSource.eInternalContainer() == null) {
+ msgs = newSource.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE, oldSource, source));
+ }
+ }
+ }
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SourceEdgeCreationVariable basicGetSource() {
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSource(SourceEdgeCreationVariable newSource, NotificationChain msgs) {
+ SourceEdgeCreationVariable oldSource = source;
+ source = newSource;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE, oldSource, newSource);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSource(SourceEdgeCreationVariable newSource) {
+ if (newSource != source) {
+ NotificationChain msgs = null;
+ if (source != null) {
+ msgs = ((InternalEObject) source).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE, null, msgs);
+ }
+ if (newSource != null) {
+ msgs = ((InternalEObject) newSource).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE, null, msgs);
+ }
+ msgs = basicSetSource(newSource, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE, newSource, newSource));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TargetEdgeCreationVariable getTarget() {
+ if (target != null && target.eIsProxy()) {
+ InternalEObject oldTarget = (InternalEObject) target;
+ target = (TargetEdgeCreationVariable) eResolveProxy(oldTarget);
+ if (target != oldTarget) {
+ InternalEObject newTarget = (InternalEObject) target;
+ NotificationChain msgs = oldTarget.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET, null, null);
+ if (newTarget.eInternalContainer() == null) {
+ msgs = newTarget.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET, oldTarget, target));
+ }
+ }
+ }
+ return target;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TargetEdgeCreationVariable basicGetTarget() {
+ return target;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetTarget(TargetEdgeCreationVariable newTarget, NotificationChain msgs) {
+ TargetEdgeCreationVariable oldTarget = target;
+ target = newTarget;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET, oldTarget, newTarget);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTarget(TargetEdgeCreationVariable newTarget) {
+ if (newTarget != target) {
+ NotificationChain msgs = null;
+ if (target != null) {
+ msgs = ((InternalEObject) target).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET, null, msgs);
+ }
+ if (newTarget != null) {
+ msgs = ((InternalEObject) newTarget).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET, null, msgs);
+ }
+ msgs = basicSetTarget(newTarget, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET, newTarget, newTarget));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public SourceEdgeViewCreationVariable getSourceView() {
+ if (sourceView != null && sourceView.eIsProxy()) {
+ InternalEObject oldSourceView = (InternalEObject) sourceView;
+ sourceView = (SourceEdgeViewCreationVariable) eResolveProxy(oldSourceView);
+ if (sourceView != oldSourceView) {
+ InternalEObject newSourceView = (InternalEObject) sourceView;
+ NotificationChain msgs = oldSourceView.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW, null, null);
+ if (newSourceView.eInternalContainer() == null) {
+ msgs = newSourceView.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW, oldSourceView, sourceView));
+ }
+ }
+ }
+ return sourceView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SourceEdgeViewCreationVariable basicGetSourceView() {
+ return sourceView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSourceView(SourceEdgeViewCreationVariable newSourceView, NotificationChain msgs) {
+ SourceEdgeViewCreationVariable oldSourceView = sourceView;
+ sourceView = newSourceView;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW, oldSourceView, newSourceView);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSourceView(SourceEdgeViewCreationVariable newSourceView) {
+ if (newSourceView != sourceView) {
+ NotificationChain msgs = null;
+ if (sourceView != null) {
+ msgs = ((InternalEObject) sourceView).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW, null, msgs);
+ }
+ if (newSourceView != null) {
+ msgs = ((InternalEObject) newSourceView).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW, null, msgs);
+ }
+ msgs = basicSetSourceView(newSourceView, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW, newSourceView, newSourceView));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TargetEdgeViewCreationVariable getTargetView() {
+ if (targetView != null && targetView.eIsProxy()) {
+ InternalEObject oldTargetView = (InternalEObject) targetView;
+ targetView = (TargetEdgeViewCreationVariable) eResolveProxy(oldTargetView);
+ if (targetView != oldTargetView) {
+ InternalEObject newTargetView = (InternalEObject) targetView;
+ NotificationChain msgs = oldTargetView.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW, null, null);
+ if (newTargetView.eInternalContainer() == null) {
+ msgs = newTargetView.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW, oldTargetView, targetView));
+ }
+ }
+ }
+ return targetView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TargetEdgeViewCreationVariable basicGetTargetView() {
+ return targetView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetTargetView(TargetEdgeViewCreationVariable newTargetView, NotificationChain msgs) {
+ TargetEdgeViewCreationVariable oldTargetView = targetView;
+ targetView = newTargetView;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW, oldTargetView, newTargetView);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTargetView(TargetEdgeViewCreationVariable newTargetView) {
+ if (newTargetView != targetView) {
+ NotificationChain msgs = null;
+ if (targetView != null) {
+ msgs = ((InternalEObject) targetView).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW, null, msgs);
+ }
+ if (newTargetView != null) {
+ msgs = ((InternalEObject) newTargetView).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW, null, msgs);
+ }
+ msgs = basicSetTargetView(newTargetView, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW, newTargetView, newTargetView));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementSelectVariable getElement() {
+ if (element != null && element.eIsProxy()) {
+ InternalEObject oldElement = (InternalEObject) element;
+ element = (ElementSelectVariable) eResolveProxy(oldElement);
+ if (element != oldElement) {
+ InternalEObject newElement = (InternalEObject) element;
+ NotificationChain msgs = oldElement.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT, null, null);
+ if (newElement.eInternalContainer() == null) {
+ msgs = newElement.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT, oldElement, element));
+ }
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementSelectVariable basicGetElement() {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetElement(ElementSelectVariable newElement, NotificationChain msgs) {
+ ElementSelectVariable oldElement = element;
+ element = newElement;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT, oldElement, newElement);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setElement(ElementSelectVariable newElement) {
+ if (newElement != element) {
+ NotificationChain msgs = null;
+ if (element != null) {
+ msgs = ((InternalEObject) element).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ if (newElement != null) {
+ msgs = ((InternalEObject) newElement).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT, null, msgs);
+ }
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT, newElement, newElement));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialOperation getInitialOperation() {
+ if (initialOperation != null && initialOperation.eIsProxy()) {
+ InternalEObject oldInitialOperation = (InternalEObject) initialOperation;
+ initialOperation = (InitialOperation) eResolveProxy(oldInitialOperation);
+ if (initialOperation != oldInitialOperation) {
+ InternalEObject newInitialOperation = (InternalEObject) initialOperation;
+ NotificationChain msgs = oldInitialOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION, null, null);
+ if (newInitialOperation.eInternalContainer() == null) {
+ msgs = newInitialOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, initialOperation));
+ }
+ }
+ }
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialOperation basicGetInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialOperation newInitialOperation, NotificationChain msgs) {
+ InitialOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInitialOperation(InitialOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null) {
+ msgs = ((InternalEObject) initialOperation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ if (newInitialOperation != null) {
+ msgs = ((InternalEObject) newInitialOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ }
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementSelectVariable getEdgeView() {
+ if (edgeView != null && edgeView.eIsProxy()) {
+ InternalEObject oldEdgeView = (InternalEObject) edgeView;
+ edgeView = (ElementSelectVariable) eResolveProxy(oldEdgeView);
+ if (edgeView != oldEdgeView) {
+ InternalEObject newEdgeView = (InternalEObject) edgeView;
+ NotificationChain msgs = oldEdgeView.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW, null, null);
+ if (newEdgeView.eInternalContainer() == null) {
+ msgs = newEdgeView.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW, oldEdgeView, edgeView));
+ }
+ }
+ }
+ return edgeView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementSelectVariable basicGetEdgeView() {
+ return edgeView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetEdgeView(ElementSelectVariable newEdgeView, NotificationChain msgs) {
+ ElementSelectVariable oldEdgeView = edgeView;
+ edgeView = newEdgeView;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW, oldEdgeView, newEdgeView);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEdgeView(ElementSelectVariable newEdgeView) {
+ if (newEdgeView != edgeView) {
+ NotificationChain msgs = null;
+ if (edgeView != null) {
+ msgs = ((InternalEObject) edgeView).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW, null, msgs);
+ }
+ if (newEdgeView != null) {
+ msgs = ((InternalEObject) newEdgeView).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW, null, msgs);
+ }
+ msgs = basicSetEdgeView(newEdgeView, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW, newEdgeView, newEdgeView));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<EdgeMapping> getMappings() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE:
+ return basicSetSource(null, msgs);
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET:
+ return basicSetTarget(null, msgs);
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW:
+ return basicSetSourceView(null, msgs);
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW:
+ return basicSetTargetView(null, msgs);
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT:
+ return basicSetElement(null, msgs);
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION:
+ return basicSetInitialOperation(null, msgs);
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW:
+ return basicSetEdgeView(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 ToolPackage.RECONNECT_EDGE_DESCRIPTION__RECONNECTION_KIND:
+ return getReconnectionKind();
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE:
+ if (resolve) {
+ return getSource();
+ }
+ return basicGetSource();
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET:
+ if (resolve) {
+ return getTarget();
+ }
+ return basicGetTarget();
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW:
+ if (resolve) {
+ return getSourceView();
+ }
+ return basicGetSourceView();
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW:
+ if (resolve) {
+ return getTargetView();
+ }
+ return basicGetTargetView();
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT:
+ if (resolve) {
+ return getElement();
+ }
+ return basicGetElement();
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION:
+ if (resolve) {
+ return getInitialOperation();
+ }
+ return basicGetInitialOperation();
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW:
+ if (resolve) {
+ return getEdgeView();
+ }
+ return basicGetEdgeView();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__RECONNECTION_KIND:
+ setReconnectionKind((ReconnectionKind) newValue);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE:
+ setSource((SourceEdgeCreationVariable) newValue);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET:
+ setTarget((TargetEdgeCreationVariable) newValue);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW:
+ setSourceView((SourceEdgeViewCreationVariable) newValue);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW:
+ setTargetView((TargetEdgeViewCreationVariable) newValue);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT:
+ setElement((ElementSelectVariable) newValue);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) newValue);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW:
+ setEdgeView((ElementSelectVariable) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__RECONNECTION_KIND:
+ setReconnectionKind(ReconnectEdgeDescriptionImpl.RECONNECTION_KIND_EDEFAULT);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE:
+ setSource((SourceEdgeCreationVariable) null);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET:
+ setTarget((TargetEdgeCreationVariable) null);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW:
+ setSourceView((SourceEdgeViewCreationVariable) null);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW:
+ setTargetView((TargetEdgeViewCreationVariable) null);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT:
+ setElement((ElementSelectVariable) null);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation) null);
+ return;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW:
+ setEdgeView((ElementSelectVariable) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__RECONNECTION_KIND:
+ return reconnectionKind != ReconnectEdgeDescriptionImpl.RECONNECTION_KIND_EDEFAULT;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE:
+ return source != null;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET:
+ return target != null;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW:
+ return sourceView != null;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW:
+ return targetView != null;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT:
+ return element != null;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION:
+ return initialOperation != null;
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW:
+ return edgeView != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (reconnectionKind: "); //$NON-NLS-1$
+ result.append(reconnectionKind);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ReconnectEdgeDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/RequestDescriptionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/RequestDescriptionImpl.java
new file mode 100644
index 0000000000..3c49d4442d
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/RequestDescriptionImpl.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.diagram.description.tool.RequestDescription;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.impl.AbstractToolDescriptionImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Request Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.RequestDescriptionImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RequestDescriptionImpl extends AbstractToolDescriptionImpl implements RequestDescription {
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = RequestDescriptionImpl.TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RequestDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.REQUEST_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.REQUEST_DESCRIPTION__TYPE, oldType, type));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ToolPackage.REQUEST_DESCRIPTION__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ToolPackage.REQUEST_DESCRIPTION__TYPE:
+ setType((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.REQUEST_DESCRIPTION__TYPE:
+ setType(RequestDescriptionImpl.TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.REQUEST_DESCRIPTION__TYPE:
+ return RequestDescriptionImpl.TYPE_EDEFAULT == null ? type != null : !RequestDescriptionImpl.TYPE_EDEFAULT.equals(type);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (type: "); //$NON-NLS-1$
+ result.append(type);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RequestDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/SourceEdgeCreationVariableImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/SourceEdgeCreationVariableImpl.java
new file mode 100644
index 0000000000..8f18b6d067
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/SourceEdgeCreationVariableImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.SubVariable;
+import org.eclipse.sirius.viewpoint.description.impl.AbstractVariableImpl;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Source Edge Creation Variable</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeCreationVariableImpl#getSubVariables <em>Sub
+ * Variables</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SourceEdgeCreationVariableImpl extends AbstractVariableImpl implements SourceEdgeCreationVariable {
+ /**
+ * The cached value of the '{@link #getSubVariables() <em>Sub Variables</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubVariables()
+ * @generated
+ * @ordered
+ */
+ protected EList<SubVariable> subVariables;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SourceEdgeCreationVariableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.SOURCE_EDGE_CREATION_VARIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<SubVariable> getSubVariables() {
+ if (subVariables == null) {
+ subVariables = new EObjectContainmentEList.Resolving<>(SubVariable.class, this, ToolPackage.SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES);
+ }
+ return subVariables;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ return ((InternalEList<?>) getSubVariables()).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 ToolPackage.SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ return getSubVariables();
+ }
+ 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 ToolPackage.SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ getSubVariables().addAll((Collection<? extends SubVariable>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ return subVariables != null && !subVariables.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (derivedFeatureID) {
+ case ToolPackage.SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ return org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES:
+ return ToolPackage.SOURCE_EDGE_CREATION_VARIABLE__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // SourceEdgeCreationVariableImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/SourceEdgeViewCreationVariableImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/SourceEdgeViewCreationVariableImpl.java
new file mode 100644
index 0000000000..d5181ee1f6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/SourceEdgeViewCreationVariableImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.SubVariable;
+import org.eclipse.sirius.viewpoint.description.impl.AbstractVariableImpl;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Source Edge View Creation Variable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.SourceEdgeViewCreationVariableImpl#getSubVariables
+ * <em>Sub Variables</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SourceEdgeViewCreationVariableImpl extends AbstractVariableImpl implements SourceEdgeViewCreationVariable {
+ /**
+ * The cached value of the '{@link #getSubVariables() <em>Sub Variables</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubVariables()
+ * @generated
+ * @ordered
+ */
+ protected EList<SubVariable> subVariables;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SourceEdgeViewCreationVariableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.SOURCE_EDGE_VIEW_CREATION_VARIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<SubVariable> getSubVariables() {
+ if (subVariables == null) {
+ subVariables = new EObjectContainmentEList.Resolving<>(SubVariable.class, this, ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES);
+ }
+ return subVariables;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ return ((InternalEList<?>) getSubVariables()).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 ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ return getSubVariables();
+ }
+ 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 ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ getSubVariables().addAll((Collection<? extends SubVariable>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ return subVariables != null && !subVariables.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (derivedFeatureID) {
+ case ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ return org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES:
+ return ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // SourceEdgeViewCreationVariableImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/TargetEdgeCreationVariableImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/TargetEdgeCreationVariableImpl.java
new file mode 100644
index 0000000000..f351c105d2
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/TargetEdgeCreationVariableImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.SubVariable;
+import org.eclipse.sirius.viewpoint.description.impl.AbstractVariableImpl;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Target Edge Creation Variable</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeCreationVariableImpl#getSubVariables <em>Sub
+ * Variables</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TargetEdgeCreationVariableImpl extends AbstractVariableImpl implements TargetEdgeCreationVariable {
+ /**
+ * The cached value of the '{@link #getSubVariables() <em>Sub Variables</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubVariables()
+ * @generated
+ * @ordered
+ */
+ protected EList<SubVariable> subVariables;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TargetEdgeCreationVariableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.TARGET_EDGE_CREATION_VARIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<SubVariable> getSubVariables() {
+ if (subVariables == null) {
+ subVariables = new EObjectContainmentEList.Resolving<>(SubVariable.class, this, ToolPackage.TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES);
+ }
+ return subVariables;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ return ((InternalEList<?>) getSubVariables()).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 ToolPackage.TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ return getSubVariables();
+ }
+ 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 ToolPackage.TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ getSubVariables().addAll((Collection<? extends SubVariable>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ return subVariables != null && !subVariables.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (derivedFeatureID) {
+ case ToolPackage.TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES:
+ return org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES:
+ return ToolPackage.TARGET_EDGE_CREATION_VARIABLE__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // TargetEdgeCreationVariableImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/TargetEdgeViewCreationVariableImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/TargetEdgeViewCreationVariableImpl.java
new file mode 100644
index 0000000000..c6810d7a6b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/TargetEdgeViewCreationVariableImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.SubVariable;
+import org.eclipse.sirius.viewpoint.description.impl.AbstractVariableImpl;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Target Edge View Creation Variable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.TargetEdgeViewCreationVariableImpl#getSubVariables
+ * <em>Sub Variables</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TargetEdgeViewCreationVariableImpl extends AbstractVariableImpl implements TargetEdgeViewCreationVariable {
+ /**
+ * The cached value of the '{@link #getSubVariables() <em>Sub Variables</em> }' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubVariables()
+ * @generated
+ * @ordered
+ */
+ protected EList<SubVariable> subVariables;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TargetEdgeViewCreationVariableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.TARGET_EDGE_VIEW_CREATION_VARIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<SubVariable> getSubVariables() {
+ if (subVariables == null) {
+ subVariables = new EObjectContainmentEList.Resolving<>(SubVariable.class, this, ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES);
+ }
+ return subVariables;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ return ((InternalEList<?>) getSubVariables()).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 ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ return getSubVariables();
+ }
+ 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 ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ getSubVariables().addAll((Collection<? extends SubVariable>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ getSubVariables().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ return subVariables != null && !subVariables.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (derivedFeatureID) {
+ case ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES:
+ return org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == VariableContainer.class) {
+ switch (baseFeatureID) {
+ case org.eclipse.sirius.viewpoint.description.tool.ToolPackage.VARIABLE_CONTAINER__SUB_VARIABLES:
+ return ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE__SUB_VARIABLES;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // TargetEdgeViewCreationVariableImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolFactoryImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolFactoryImpl.java
new file mode 100644
index 0000000000..55974080d1
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolFactoryImpl.java
@@ -0,0 +1,642 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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.sirius.diagram.description.tool.BehaviorTool;
+import org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+import org.eclipse.sirius.diagram.description.tool.CreateEdgeView;
+import org.eclipse.sirius.diagram.description.tool.CreateView;
+import org.eclipse.sirius.diagram.description.tool.DeleteElementDescription;
+import org.eclipse.sirius.diagram.description.tool.DeleteHook;
+import org.eclipse.sirius.diagram.description.tool.DeleteHookParameter;
+import org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription;
+import org.eclipse.sirius.diagram.description.tool.DirectEditLabel;
+import org.eclipse.sirius.diagram.description.tool.DoubleClickDescription;
+import org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable;
+import org.eclipse.sirius.diagram.description.tool.Navigation;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription;
+import org.eclipse.sirius.diagram.description.tool.ReconnectionKind;
+import org.eclipse.sirius.diagram.description.tool.RequestDescription;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolFactory;
+import org.eclipse.sirius.diagram.description.tool.ToolGroup;
+import org.eclipse.sirius.diagram.description.tool.ToolGroupExtension;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.diagram.model.business.internal.description.tool.spec.ContainerDropDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.tool.spec.DeleteElementDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.tool.spec.DiagramCreationDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.tool.spec.DiagramNavigationDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.tool.spec.DirectEditLabelSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.tool.spec.ReconnectEdgeDescriptionSpec;
+import org.eclipse.sirius.diagram.model.business.internal.description.tool.spec.ToolSectionSpec;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerViewVariable;
+import org.eclipse.sirius.viewpoint.description.tool.DropContainerVariable;
+import org.eclipse.sirius.viewpoint.description.tool.EditMaskVariables;
+import org.eclipse.sirius.viewpoint.description.tool.ElementDeleteVariable;
+import org.eclipse.sirius.viewpoint.description.tool.ElementDropVariable;
+import org.eclipse.sirius.viewpoint.description.tool.ElementSelectVariable;
+import org.eclipse.sirius.viewpoint.description.tool.InitEdgeCreationOperation;
+import org.eclipse.sirius.viewpoint.description.tool.InitialContainerDropOperation;
+import org.eclipse.sirius.viewpoint.description.tool.InitialNodeCreationOperation;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.viewpoint.description.tool.NameVariable;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ToolFactoryImpl extends EFactoryImpl implements ToolFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static ToolFactory init() {
+ try {
+ ToolFactory theToolFactory = (ToolFactory) EPackage.Registry.INSTANCE.getEFactory(ToolPackage.eNS_URI);
+ if (theToolFactory != null) {
+ return theToolFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ToolFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ToolFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ToolPackage.TOOL_SECTION:
+ return createToolSection();
+ case ToolPackage.TOOL_GROUP:
+ return createToolGroup();
+ case ToolPackage.TOOL_GROUP_EXTENSION:
+ return createToolGroupExtension();
+ case ToolPackage.NODE_CREATION_DESCRIPTION:
+ return createNodeCreationDescription();
+ case ToolPackage.EDGE_CREATION_DESCRIPTION:
+ return createEdgeCreationDescription();
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION:
+ return createContainerCreationDescription();
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION:
+ return createDeleteElementDescription();
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION:
+ return createDoubleClickDescription();
+ case ToolPackage.DELETE_HOOK:
+ return createDeleteHook();
+ case ToolPackage.DELETE_HOOK_PARAMETER:
+ return createDeleteHookParameter();
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION:
+ return createReconnectEdgeDescription();
+ case ToolPackage.REQUEST_DESCRIPTION:
+ return createRequestDescription();
+ case ToolPackage.DIRECT_EDIT_LABEL:
+ return createDirectEditLabel();
+ case ToolPackage.BEHAVIOR_TOOL:
+ return createBehaviorTool();
+ case ToolPackage.SOURCE_EDGE_CREATION_VARIABLE:
+ return createSourceEdgeCreationVariable();
+ case ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE:
+ return createSourceEdgeViewCreationVariable();
+ case ToolPackage.TARGET_EDGE_CREATION_VARIABLE:
+ return createTargetEdgeCreationVariable();
+ case ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE:
+ return createTargetEdgeViewCreationVariable();
+ case ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE:
+ return createElementDoubleClickVariable();
+ case ToolPackage.NODE_CREATION_VARIABLE:
+ return createNodeCreationVariable();
+ case ToolPackage.CREATE_VIEW:
+ return createCreateView();
+ case ToolPackage.CREATE_EDGE_VIEW:
+ return createCreateEdgeView();
+ case ToolPackage.NAVIGATION:
+ return createNavigation();
+ case ToolPackage.DIAGRAM_CREATION_DESCRIPTION:
+ return createDiagramCreationDescription();
+ case ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION:
+ return createDiagramNavigationDescription();
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION:
+ return createContainerDropDescription();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case ToolPackage.RECONNECTION_KIND:
+ return createReconnectionKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case ToolPackage.RECONNECTION_KIND:
+ return convertReconnectionKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public ToolSection createToolSection() {
+ ToolSectionImpl toolSection = new ToolSectionSpec();
+ return toolSection;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ToolGroup createToolGroup() {
+ ToolGroupImpl toolGroup = new ToolGroupImpl();
+ return toolGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ToolGroupExtension createToolGroupExtension() {
+ ToolGroupExtensionImpl toolGroupExtension = new ToolGroupExtensionImpl();
+ return toolGroupExtension;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public NodeCreationDescription createNodeCreationDescription() {
+ NodeCreationDescriptionImpl nodeCreationDescription = new NodeCreationDescriptionImpl();
+ NodeCreationVariable defaultVariable = createNodeCreationVariable();
+ defaultVariable.setName("container"); //$NON-NLS-1$
+ ContainerViewVariable containerViewVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createContainerViewVariable();
+ containerViewVariable.setName("containerView"); //$NON-NLS-1$
+ nodeCreationDescription.setVariable(defaultVariable);
+ nodeCreationDescription.setViewVariable(containerViewVariable);
+ InitialNodeCreationOperation init = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialNodeCreationOperation();
+ nodeCreationDescription.setInitialOperation(init);
+ return nodeCreationDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public EdgeCreationDescription createEdgeCreationDescription() {
+ EdgeCreationDescriptionImpl edgeCreationDescription = new EdgeCreationDescriptionImpl();
+
+ SourceEdgeCreationVariable sourceVariable = createSourceEdgeCreationVariable();
+ sourceVariable.setName("source"); //$NON-NLS-1$
+
+ TargetEdgeCreationVariable targetVariable = createTargetEdgeCreationVariable();
+ targetVariable.setName("target"); //$NON-NLS-1$
+
+ SourceEdgeViewCreationVariable sourceEdgeViewVariable = createSourceEdgeViewCreationVariable();
+ sourceEdgeViewVariable.setName("sourceView"); //$NON-NLS-1$
+
+ TargetEdgeViewCreationVariable targetEdgeViewVariable = createTargetEdgeViewCreationVariable();
+ targetEdgeViewVariable.setName("targetView"); //$NON-NLS-1$
+
+ edgeCreationDescription.setSourceVariable(sourceVariable);
+ edgeCreationDescription.setTargetVariable(targetVariable);
+ edgeCreationDescription.setSourceViewVariable(sourceEdgeViewVariable);
+ edgeCreationDescription.setTargetViewVariable(targetEdgeViewVariable);
+
+ InitEdgeCreationOperation init = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitEdgeCreationOperation();
+ edgeCreationDescription.setInitialOperation(init);
+
+ return edgeCreationDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public ContainerCreationDescription createContainerCreationDescription() {
+ ContainerCreationDescriptionImpl containerCreationDescription = new ContainerCreationDescriptionImpl();
+ NodeCreationVariable defaultVariable = createNodeCreationVariable();
+ defaultVariable.setName("container"); //$NON-NLS-1$
+ ContainerViewVariable containerViewVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createContainerViewVariable();
+ containerViewVariable.setName("containerView"); //$NON-NLS-1$
+ containerCreationDescription.setVariable(defaultVariable);
+ containerCreationDescription.setViewVariable(containerViewVariable);
+ InitialNodeCreationOperation init = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialNodeCreationOperation();
+ containerCreationDescription.setInitialOperation(init);
+ return containerCreationDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public DeleteElementDescription createDeleteElementDescription() {
+ DeleteElementDescriptionImpl deleteElementDescription = new DeleteElementDescriptionSpec();
+ ElementDeleteVariable elementDeleteVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createElementDeleteVariable();
+ elementDeleteVariable.setName("element"); //$NON-NLS-1$
+ deleteElementDescription.setElement(elementDeleteVariable);
+ ContainerViewVariable containerViewVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createContainerViewVariable();
+ containerViewVariable.setName("containerView"); //$NON-NLS-1$
+ deleteElementDescription.setContainerView(containerViewVariable);
+ ElementDeleteVariable elementDeleteVariable2 = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createElementDeleteVariable();
+ elementDeleteVariable2.setName("elementView"); //$NON-NLS-1$
+ deleteElementDescription.setElementView(elementDeleteVariable2);
+ InitialOperation init = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialOperation();
+ deleteElementDescription.setInitialOperation(init);
+ return deleteElementDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public DoubleClickDescription createDoubleClickDescription() {
+ DoubleClickDescriptionImpl doubleClickDescription = new DoubleClickDescriptionImpl();
+ ElementDoubleClickVariable elementDoubleClickVariable = createElementDoubleClickVariable();
+ elementDoubleClickVariable.setName("element"); //$NON-NLS-1$
+ doubleClickDescription.setElement(elementDoubleClickVariable);
+ ElementDoubleClickVariable elementViewDoubleClickVariable = createElementDoubleClickVariable();
+ elementViewDoubleClickVariable.setName("elementView"); //$NON-NLS-1$
+ doubleClickDescription.setElementView(elementViewDoubleClickVariable);
+ InitialOperation init = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialOperation();
+ doubleClickDescription.setInitialOperation(init);
+ return doubleClickDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DeleteHook createDeleteHook() {
+ DeleteHookImpl deleteHook = new DeleteHookImpl();
+ return deleteHook;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DeleteHookParameter createDeleteHookParameter() {
+ DeleteHookParameterImpl deleteHookParameter = new DeleteHookParameterImpl();
+ return deleteHookParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public ReconnectEdgeDescription createReconnectEdgeDescription() {
+ ReconnectEdgeDescriptionImpl reconnectEdgeDescription = new ReconnectEdgeDescriptionSpec();
+ ElementSelectVariable elementSelectVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createElementSelectVariable();
+ elementSelectVariable.setName("element"); //$NON-NLS-1$
+ reconnectEdgeDescription.setElement(elementSelectVariable);
+ SourceEdgeCreationVariable sourceEdgeCreationVariable = createSourceEdgeCreationVariable();
+ sourceEdgeCreationVariable.setName("source"); //$NON-NLS-1$
+ reconnectEdgeDescription.setSource(sourceEdgeCreationVariable);
+ SourceEdgeViewCreationVariable sourceEdgeViewCreationVariable = createSourceEdgeViewCreationVariable();
+ sourceEdgeViewCreationVariable.setName("sourceView"); //$NON-NLS-1$
+ reconnectEdgeDescription.setSourceView(sourceEdgeViewCreationVariable);
+ TargetEdgeCreationVariable targetEdgeCreationVariable = createTargetEdgeCreationVariable();
+ targetEdgeCreationVariable.setName("target"); //$NON-NLS-1$
+ reconnectEdgeDescription.setTarget(targetEdgeCreationVariable);
+ TargetEdgeViewCreationVariable targetEdgeViewCreationVariable = createTargetEdgeViewCreationVariable();
+ targetEdgeViewCreationVariable.setName("targetView"); //$NON-NLS-1$
+ reconnectEdgeDescription.setTargetView(targetEdgeViewCreationVariable);
+ ElementSelectVariable edgeVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createElementSelectVariable();
+ edgeVariable.setName("edgeView"); //$NON-NLS-1$
+ reconnectEdgeDescription.setEdgeView(edgeVariable);
+ InitialOperation initialOperation = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialOperation();
+ reconnectEdgeDescription.setInitialOperation(initialOperation);
+ return reconnectEdgeDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public RequestDescription createRequestDescription() {
+ RequestDescriptionImpl requestDescription = new RequestDescriptionImpl();
+ return requestDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public DirectEditLabel createDirectEditLabel() {
+ DirectEditLabelImpl directEditLabel = new DirectEditLabelSpec();
+ InitialOperation initialOperation = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialOperation();
+ directEditLabel.setInitialOperation(initialOperation);
+ EditMaskVariables editMaskVariables = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createEditMaskVariables();
+ directEditLabel.setMask(editMaskVariables);
+ return directEditLabel;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public BehaviorTool createBehaviorTool() {
+ BehaviorToolImpl behaviorTool = new BehaviorToolImpl();
+ InitialOperation init = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialOperation();
+ behaviorTool.setInitialOperation(init);
+ return behaviorTool;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public SourceEdgeCreationVariable createSourceEdgeCreationVariable() {
+ SourceEdgeCreationVariableImpl sourceEdgeCreationVariable = new SourceEdgeCreationVariableImpl();
+ return sourceEdgeCreationVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public SourceEdgeViewCreationVariable createSourceEdgeViewCreationVariable() {
+ SourceEdgeViewCreationVariableImpl sourceEdgeViewCreationVariable = new SourceEdgeViewCreationVariableImpl();
+ return sourceEdgeViewCreationVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TargetEdgeCreationVariable createTargetEdgeCreationVariable() {
+ TargetEdgeCreationVariableImpl targetEdgeCreationVariable = new TargetEdgeCreationVariableImpl();
+ return targetEdgeCreationVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TargetEdgeViewCreationVariable createTargetEdgeViewCreationVariable() {
+ TargetEdgeViewCreationVariableImpl targetEdgeViewCreationVariable = new TargetEdgeViewCreationVariableImpl();
+ return targetEdgeViewCreationVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementDoubleClickVariable createElementDoubleClickVariable() {
+ ElementDoubleClickVariableImpl elementDoubleClickVariable = new ElementDoubleClickVariableImpl();
+ return elementDoubleClickVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NodeCreationVariable createNodeCreationVariable() {
+ NodeCreationVariableImpl nodeCreationVariable = new NodeCreationVariableImpl();
+ return nodeCreationVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CreateView createCreateView() {
+ CreateViewImpl createView = new CreateViewImpl();
+ return createView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CreateEdgeView createCreateEdgeView() {
+ CreateEdgeViewImpl createEdgeView = new CreateEdgeViewImpl();
+ return createEdgeView;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Navigation createNavigation() {
+ NavigationImpl navigation = new NavigationImpl();
+ return navigation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public DiagramCreationDescription createDiagramCreationDescription() {
+ DiagramCreationDescriptionImpl diagramCreationDescription = new DiagramCreationDescriptionSpec();
+ ContainerViewVariable containerViewVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createContainerViewVariable();
+ containerViewVariable.setName("containerView"); //$NON-NLS-1$
+ diagramCreationDescription.setContainerViewVariable(containerViewVariable);
+ NameVariable diagramNameVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createNameVariable();
+ diagramNameVariable.setName("diagramName"); //$NON-NLS-1$
+ diagramCreationDescription.setRepresentationNameVariable(diagramNameVariable);
+ InitialOperation init = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialOperation();
+ diagramCreationDescription.setInitialOperation(init);
+ return diagramCreationDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public DiagramNavigationDescription createDiagramNavigationDescription() {
+ DiagramNavigationDescriptionImpl diagramNavigationDescription = new DiagramNavigationDescriptionSpec();
+ ContainerViewVariable containerViewVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createContainerViewVariable();
+ containerViewVariable.setName("containerView"); //$NON-NLS-1$
+ diagramNavigationDescription.setContainerViewVariable(containerViewVariable);
+ ElementSelectVariable containerVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createElementSelectVariable();
+ containerVariable.setName("container"); //$NON-NLS-1$
+ diagramNavigationDescription.setContainerVariable(containerVariable);
+ NameVariable diagramNameVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createNameVariable();
+ diagramNameVariable.setName("diagramName"); //$NON-NLS-1$
+ diagramNavigationDescription.setRepresentationNameVariable(diagramNameVariable);
+ return diagramNavigationDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @not-generated
+ */
+ @Override
+ public ContainerDropDescription createContainerDropDescription() {
+ ContainerDropDescriptionImpl containerDropDescription = new ContainerDropDescriptionSpec();
+ DropContainerVariable oldContainerVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createDropContainerVariable();
+ oldContainerVariable.setName("oldSemanticContainer"); //$NON-NLS-1$
+ DropContainerVariable newContainerVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createDropContainerVariable();
+ newContainerVariable.setName("newSemanticContainer"); //$NON-NLS-1$
+ ElementDropVariable elementDropVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createElementDropVariable();
+ elementDropVariable.setName("element"); //$NON-NLS-1$
+ ContainerViewVariable containerViewVariable = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createContainerViewVariable();
+ containerViewVariable.setName("newContainerView"); //$NON-NLS-1$
+
+ containerDropDescription.setElement(elementDropVariable);
+ containerDropDescription.setNewContainer(newContainerVariable);
+ containerDropDescription.setNewViewContainer(containerViewVariable);
+ containerDropDescription.setOldContainer(oldContainerVariable);
+
+ InitialContainerDropOperation init = org.eclipse.sirius.viewpoint.description.tool.ToolFactory.eINSTANCE.createInitialContainerDropOperation();
+ containerDropDescription.setInitialOperation(init);
+
+ return containerDropDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReconnectionKind createReconnectionKindFromString(EDataType eDataType, String initialValue) {
+ ReconnectionKind result = ReconnectionKind.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertReconnectionKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ToolPackage getToolPackage() {
+ return (ToolPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ToolPackage getPackage() {
+ return ToolPackage.eINSTANCE;
+ }
+
+} // ToolFactoryImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolGroupExtensionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolGroupExtensionImpl.java
new file mode 100644
index 0000000000..946435605c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolGroupExtensionImpl.java
@@ -0,0 +1,227 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.ToolGroup;
+import org.eclipse.sirius.diagram.description.tool.ToolGroupExtension;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Group Extension</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupExtensionImpl#getGroup <em>Group</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupExtensionImpl#getTools <em>Tools</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ToolGroupExtensionImpl extends MinimalEObjectImpl.Container implements ToolGroupExtension {
+ /**
+ * The cached value of the '{@link #getGroup() <em>Group</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getGroup()
+ * @generated
+ * @ordered
+ */
+ protected ToolGroup group;
+
+ /**
+ * The cached value of the '{@link #getTools() <em>Tools</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTools()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractToolDescription> tools;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ToolGroupExtensionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.TOOL_GROUP_EXTENSION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ToolGroup getGroup() {
+ if (group != null && group.eIsProxy()) {
+ InternalEObject oldGroup = (InternalEObject) group;
+ group = (ToolGroup) eResolveProxy(oldGroup);
+ if (group != oldGroup) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ToolPackage.TOOL_GROUP_EXTENSION__GROUP, oldGroup, group));
+ }
+ }
+ }
+ return group;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ToolGroup basicGetGroup() {
+ return group;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setGroup(ToolGroup newGroup) {
+ ToolGroup oldGroup = group;
+ group = newGroup;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.TOOL_GROUP_EXTENSION__GROUP, oldGroup, group));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractToolDescription> getTools() {
+ if (tools == null) {
+ tools = new EObjectContainmentEList.Resolving<>(AbstractToolDescription.class, this, ToolPackage.TOOL_GROUP_EXTENSION__TOOLS);
+ }
+ return tools;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.TOOL_GROUP_EXTENSION__TOOLS:
+ return ((InternalEList<?>) getTools()).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 ToolPackage.TOOL_GROUP_EXTENSION__GROUP:
+ if (resolve) {
+ return getGroup();
+ }
+ return basicGetGroup();
+ case ToolPackage.TOOL_GROUP_EXTENSION__TOOLS:
+ return getTools();
+ }
+ 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 ToolPackage.TOOL_GROUP_EXTENSION__GROUP:
+ setGroup((ToolGroup) newValue);
+ return;
+ case ToolPackage.TOOL_GROUP_EXTENSION__TOOLS:
+ getTools().clear();
+ getTools().addAll((Collection<? extends AbstractToolDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TOOL_GROUP_EXTENSION__GROUP:
+ setGroup((ToolGroup) null);
+ return;
+ case ToolPackage.TOOL_GROUP_EXTENSION__TOOLS:
+ getTools().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TOOL_GROUP_EXTENSION__GROUP:
+ return group != null;
+ case ToolPackage.TOOL_GROUP_EXTENSION__TOOLS:
+ return tools != null && !tools.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ToolGroupExtensionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolGroupImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolGroupImpl.java
new file mode 100644
index 0000000000..57a6d69837
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolGroupImpl.java
@@ -0,0 +1,331 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.ToolGroup;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Group</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolGroupImpl#getTools <em>Tools</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ToolGroupImpl extends DocumentedElementImpl implements ToolGroup {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = ToolGroupImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = ToolGroupImpl.LABEL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTools() <em>Tools</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTools()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractToolDescription> tools;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ToolGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.TOOL_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.TOOL_GROUP__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.TOOL_GROUP__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractToolDescription> getTools() {
+ if (tools == null) {
+ tools = new EObjectContainmentEList.Resolving<>(AbstractToolDescription.class, this, ToolPackage.TOOL_GROUP__TOOLS);
+ }
+ return tools;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.TOOL_GROUP__TOOLS:
+ return ((InternalEList<?>) getTools()).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 ToolPackage.TOOL_GROUP__NAME:
+ return getName();
+ case ToolPackage.TOOL_GROUP__LABEL:
+ return getLabel();
+ case ToolPackage.TOOL_GROUP__TOOLS:
+ return getTools();
+ }
+ 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 ToolPackage.TOOL_GROUP__NAME:
+ setName((String) newValue);
+ return;
+ case ToolPackage.TOOL_GROUP__LABEL:
+ setLabel((String) newValue);
+ return;
+ case ToolPackage.TOOL_GROUP__TOOLS:
+ getTools().clear();
+ getTools().addAll((Collection<? extends AbstractToolDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TOOL_GROUP__NAME:
+ setName(ToolGroupImpl.NAME_EDEFAULT);
+ return;
+ case ToolPackage.TOOL_GROUP__LABEL:
+ setLabel(ToolGroupImpl.LABEL_EDEFAULT);
+ return;
+ case ToolPackage.TOOL_GROUP__TOOLS:
+ getTools().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TOOL_GROUP__NAME:
+ return ToolGroupImpl.NAME_EDEFAULT == null ? name != null : !ToolGroupImpl.NAME_EDEFAULT.equals(name);
+ case ToolPackage.TOOL_GROUP__LABEL:
+ return ToolGroupImpl.LABEL_EDEFAULT == null ? label != null : !ToolGroupImpl.LABEL_EDEFAULT.equals(label);
+ case ToolPackage.TOOL_GROUP__TOOLS:
+ return tools != null && !tools.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case ToolPackage.TOOL_GROUP__NAME:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case ToolPackage.TOOL_GROUP__LABEL:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return ToolPackage.TOOL_GROUP__NAME;
+ case DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return ToolPackage.TOOL_GROUP__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ToolGroupImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolPackageImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolPackageImpl.java
new file mode 100644
index 0000000000..42cb2168eb
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolPackageImpl.java
@@ -0,0 +1,1957 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.sirius.diagram.DiagramPackage;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.concern.impl.ConcernPackageImpl;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.filter.impl.FilterPackageImpl;
+import org.eclipse.sirius.diagram.description.impl.DescriptionPackageImpl;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
+import org.eclipse.sirius.diagram.description.style.impl.StylePackageImpl;
+import org.eclipse.sirius.diagram.description.tool.BehaviorTool;
+import org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+import org.eclipse.sirius.diagram.description.tool.CreateEdgeView;
+import org.eclipse.sirius.diagram.description.tool.CreateView;
+import org.eclipse.sirius.diagram.description.tool.DeleteElementDescription;
+import org.eclipse.sirius.diagram.description.tool.DeleteHook;
+import org.eclipse.sirius.diagram.description.tool.DeleteHookParameter;
+import org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription;
+import org.eclipse.sirius.diagram.description.tool.DirectEditLabel;
+import org.eclipse.sirius.diagram.description.tool.DoubleClickDescription;
+import org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable;
+import org.eclipse.sirius.diagram.description.tool.Navigation;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription;
+import org.eclipse.sirius.diagram.description.tool.ReconnectionKind;
+import org.eclipse.sirius.diagram.description.tool.RequestDescription;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolFactory;
+import org.eclipse.sirius.diagram.description.tool.ToolGroup;
+import org.eclipse.sirius.diagram.description.tool.ToolGroupExtension;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.diagram.impl.DiagramPackageImpl;
+import org.eclipse.sirius.viewpoint.ViewpointPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ToolPackageImpl extends EPackageImpl implements ToolPackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass toolSectionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass toolGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass toolGroupExtensionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nodeCreationDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass edgeCreationDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass containerCreationDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass deleteElementDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass doubleClickDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass deleteHookEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass deleteHookParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass reconnectEdgeDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass requestDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass directEditLabelEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass behaviorToolEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sourceEdgeCreationVariableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sourceEdgeViewCreationVariableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass targetEdgeCreationVariableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass targetEdgeViewCreationVariableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass elementDoubleClickVariableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nodeCreationVariableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass createViewEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass createEdgeViewEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass navigationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass diagramCreationDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass diagramNavigationDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass containerDropDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum reconnectionKindEEnum = 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.sirius.diagram.description.tool.ToolPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ToolPackageImpl() {
+ super(ToolPackage.eNS_URI, ToolFactory.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 ToolPackage#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 ToolPackage init() {
+ if (ToolPackageImpl.isInited) {
+ return (ToolPackage) EPackage.Registry.INSTANCE.getEPackage(ToolPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ Object registeredToolPackage = EPackage.Registry.INSTANCE.get(ToolPackage.eNS_URI);
+ ToolPackageImpl theToolPackage = registeredToolPackage instanceof ToolPackageImpl ? (ToolPackageImpl) registeredToolPackage : new ToolPackageImpl();
+
+ ToolPackageImpl.isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ ViewpointPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DiagramPackage.eNS_URI);
+ DiagramPackageImpl theDiagramPackage = (DiagramPackageImpl) (registeredPackage instanceof DiagramPackageImpl ? registeredPackage : DiagramPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+ DescriptionPackageImpl theDescriptionPackage = (DescriptionPackageImpl) (registeredPackage instanceof DescriptionPackageImpl ? registeredPackage : DescriptionPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StylePackage.eNS_URI);
+ StylePackageImpl theStylePackage = (StylePackageImpl) (registeredPackage instanceof StylePackageImpl ? registeredPackage : StylePackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(FilterPackage.eNS_URI);
+ FilterPackageImpl theFilterPackage = (FilterPackageImpl) (registeredPackage instanceof FilterPackageImpl ? registeredPackage : FilterPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConcernPackage.eNS_URI);
+ ConcernPackageImpl theConcernPackage = (ConcernPackageImpl) (registeredPackage instanceof ConcernPackageImpl ? registeredPackage : ConcernPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theToolPackage.createPackageContents();
+ theDiagramPackage.createPackageContents();
+ theDescriptionPackage.createPackageContents();
+ theStylePackage.createPackageContents();
+ theFilterPackage.createPackageContents();
+ theConcernPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theToolPackage.initializePackageContents();
+ theDiagramPackage.initializePackageContents();
+ theDescriptionPackage.initializePackageContents();
+ theStylePackage.initializePackageContents();
+ theFilterPackage.initializePackageContents();
+ theConcernPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theToolPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ToolPackage.eNS_URI, theToolPackage);
+ return theToolPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getToolSection() {
+ return toolSectionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getToolSection_Icon() {
+ return (EAttribute) toolSectionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolSection_OwnedTools() {
+ return (EReference) toolSectionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolSection_SubSections() {
+ return (EReference) toolSectionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolSection_PopupMenus() {
+ return (EReference) toolSectionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolSection_ReusedTools() {
+ return (EReference) toolSectionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolSection_GroupExtensions() {
+ return (EReference) toolSectionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolSection_Groups() {
+ return (EReference) toolSectionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getToolGroup() {
+ return toolGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolGroup_Tools() {
+ return (EReference) toolGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getToolGroupExtension() {
+ return toolGroupExtensionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolGroupExtension_Group() {
+ return (EReference) toolGroupExtensionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getToolGroupExtension_Tools() {
+ return (EReference) toolGroupExtensionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getNodeCreationDescription() {
+ return nodeCreationDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNodeCreationDescription_NodeMappings() {
+ return (EReference) nodeCreationDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNodeCreationDescription_Variable() {
+ return (EReference) nodeCreationDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNodeCreationDescription_ViewVariable() {
+ return (EReference) nodeCreationDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNodeCreationDescription_InitialOperation() {
+ return (EReference) nodeCreationDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getNodeCreationDescription_IconPath() {
+ return (EAttribute) nodeCreationDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNodeCreationDescription_ExtraMappings() {
+ return (EReference) nodeCreationDescriptionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEdgeCreationDescription() {
+ return edgeCreationDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeCreationDescription_EdgeMappings() {
+ return (EReference) edgeCreationDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeCreationDescription_SourceVariable() {
+ return (EReference) edgeCreationDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeCreationDescription_TargetVariable() {
+ return (EReference) edgeCreationDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeCreationDescription_SourceViewVariable() {
+ return (EReference) edgeCreationDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeCreationDescription_TargetViewVariable() {
+ return (EReference) edgeCreationDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeCreationDescription_InitialOperation() {
+ return (EReference) edgeCreationDescriptionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeCreationDescription_IconPath() {
+ return (EAttribute) edgeCreationDescriptionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeCreationDescription_ExtraSourceMappings() {
+ return (EReference) edgeCreationDescriptionEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEdgeCreationDescription_ExtraTargetMappings() {
+ return (EReference) edgeCreationDescriptionEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEdgeCreationDescription_ConnectionStartPrecondition() {
+ return (EAttribute) edgeCreationDescriptionEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getContainerCreationDescription() {
+ return containerCreationDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerCreationDescription_ContainerMappings() {
+ return (EReference) containerCreationDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerCreationDescription_Variable() {
+ return (EReference) containerCreationDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerCreationDescription_ViewVariable() {
+ return (EReference) containerCreationDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerCreationDescription_InitialOperation() {
+ return (EReference) containerCreationDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getContainerCreationDescription_IconPath() {
+ return (EAttribute) containerCreationDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerCreationDescription_ExtraMappings() {
+ return (EReference) containerCreationDescriptionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDeleteElementDescription() {
+ return deleteElementDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDeleteElementDescription_Element() {
+ return (EReference) deleteElementDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDeleteElementDescription_ElementView() {
+ return (EReference) deleteElementDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDeleteElementDescription_ContainerView() {
+ return (EReference) deleteElementDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDeleteElementDescription_InitialOperation() {
+ return (EReference) deleteElementDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDeleteElementDescription_Hook() {
+ return (EReference) deleteElementDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDoubleClickDescription() {
+ return doubleClickDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDoubleClickDescription_Mappings() {
+ return (EReference) doubleClickDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDoubleClickDescription_Element() {
+ return (EReference) doubleClickDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDoubleClickDescription_ElementView() {
+ return (EReference) doubleClickDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDoubleClickDescription_InitialOperation() {
+ return (EReference) doubleClickDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDeleteHook() {
+ return deleteHookEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDeleteHook_Id() {
+ return (EAttribute) deleteHookEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDeleteHook_Parameters() {
+ return (EReference) deleteHookEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDeleteHookParameter() {
+ return deleteHookParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDeleteHookParameter_Name() {
+ return (EAttribute) deleteHookParameterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDeleteHookParameter_Value() {
+ return (EAttribute) deleteHookParameterEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getReconnectEdgeDescription() {
+ return reconnectEdgeDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getReconnectEdgeDescription_ReconnectionKind() {
+ return (EAttribute) reconnectEdgeDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getReconnectEdgeDescription_Source() {
+ return (EReference) reconnectEdgeDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getReconnectEdgeDescription_Target() {
+ return (EReference) reconnectEdgeDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getReconnectEdgeDescription_SourceView() {
+ return (EReference) reconnectEdgeDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getReconnectEdgeDescription_TargetView() {
+ return (EReference) reconnectEdgeDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getReconnectEdgeDescription_Element() {
+ return (EReference) reconnectEdgeDescriptionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getReconnectEdgeDescription_InitialOperation() {
+ return (EReference) reconnectEdgeDescriptionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getReconnectEdgeDescription_EdgeView() {
+ return (EReference) reconnectEdgeDescriptionEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getRequestDescription() {
+ return requestDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRequestDescription_Type() {
+ return (EAttribute) requestDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDirectEditLabel() {
+ return directEditLabelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDirectEditLabel_Mask() {
+ return (EReference) directEditLabelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDirectEditLabel_InitialOperation() {
+ return (EReference) directEditLabelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getDirectEditLabel_InputLabelExpression() {
+ return (EAttribute) directEditLabelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getBehaviorTool() {
+ return behaviorToolEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBehaviorTool_DomainClass() {
+ return (EAttribute) behaviorToolEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getBehaviorTool_InitialOperation() {
+ return (EReference) behaviorToolEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getSourceEdgeCreationVariable() {
+ return sourceEdgeCreationVariableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getSourceEdgeViewCreationVariable() {
+ return sourceEdgeViewCreationVariableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getTargetEdgeCreationVariable() {
+ return targetEdgeCreationVariableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getTargetEdgeViewCreationVariable() {
+ return targetEdgeViewCreationVariableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getElementDoubleClickVariable() {
+ return elementDoubleClickVariableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getNodeCreationVariable() {
+ return nodeCreationVariableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCreateView() {
+ return createViewEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getCreateView_Mapping() {
+ return (EReference) createViewEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCreateView_ContainerViewExpression() {
+ return (EAttribute) createViewEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCreateView_VariableName() {
+ return (EAttribute) createViewEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCreateEdgeView() {
+ return createEdgeViewEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCreateEdgeView_SourceExpression() {
+ return (EAttribute) createEdgeViewEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getCreateEdgeView_TargetExpression() {
+ return (EAttribute) createEdgeViewEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getNavigation() {
+ return navigationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getNavigation_CreateIfNotExistent() {
+ return (EAttribute) navigationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getNavigation_DiagramDescription() {
+ return (EReference) navigationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDiagramCreationDescription() {
+ return diagramCreationDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramCreationDescription_DiagramDescription() {
+ return (EReference) diagramCreationDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDiagramNavigationDescription() {
+ return diagramNavigationDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDiagramNavigationDescription_DiagramDescription() {
+ return (EReference) diagramNavigationDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getContainerDropDescription() {
+ return containerDropDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerDropDescription_Mappings() {
+ return (EReference) containerDropDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerDropDescription_OldContainer() {
+ return (EReference) containerDropDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerDropDescription_NewContainer() {
+ return (EReference) containerDropDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerDropDescription_Element() {
+ return (EReference) containerDropDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerDropDescription_NewViewContainer() {
+ return (EReference) containerDropDescriptionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getContainerDropDescription_InitialOperation() {
+ return (EReference) containerDropDescriptionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getContainerDropDescription_DragSource() {
+ return (EAttribute) containerDropDescriptionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getContainerDropDescription_MoveEdges() {
+ return (EAttribute) containerDropDescriptionEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getReconnectionKind() {
+ return reconnectionKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ToolFactory getToolFactory() {
+ return (ToolFactory) 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
+ toolSectionEClass = createEClass(ToolPackage.TOOL_SECTION);
+ createEAttribute(toolSectionEClass, ToolPackage.TOOL_SECTION__ICON);
+ createEReference(toolSectionEClass, ToolPackage.TOOL_SECTION__OWNED_TOOLS);
+ createEReference(toolSectionEClass, ToolPackage.TOOL_SECTION__SUB_SECTIONS);
+ createEReference(toolSectionEClass, ToolPackage.TOOL_SECTION__POPUP_MENUS);
+ createEReference(toolSectionEClass, ToolPackage.TOOL_SECTION__REUSED_TOOLS);
+ createEReference(toolSectionEClass, ToolPackage.TOOL_SECTION__GROUP_EXTENSIONS);
+ createEReference(toolSectionEClass, ToolPackage.TOOL_SECTION__GROUPS);
+
+ toolGroupEClass = createEClass(ToolPackage.TOOL_GROUP);
+ createEReference(toolGroupEClass, ToolPackage.TOOL_GROUP__TOOLS);
+
+ toolGroupExtensionEClass = createEClass(ToolPackage.TOOL_GROUP_EXTENSION);
+ createEReference(toolGroupExtensionEClass, ToolPackage.TOOL_GROUP_EXTENSION__GROUP);
+ createEReference(toolGroupExtensionEClass, ToolPackage.TOOL_GROUP_EXTENSION__TOOLS);
+
+ nodeCreationDescriptionEClass = createEClass(ToolPackage.NODE_CREATION_DESCRIPTION);
+ createEReference(nodeCreationDescriptionEClass, ToolPackage.NODE_CREATION_DESCRIPTION__NODE_MAPPINGS);
+ createEReference(nodeCreationDescriptionEClass, ToolPackage.NODE_CREATION_DESCRIPTION__VARIABLE);
+ createEReference(nodeCreationDescriptionEClass, ToolPackage.NODE_CREATION_DESCRIPTION__VIEW_VARIABLE);
+ createEReference(nodeCreationDescriptionEClass, ToolPackage.NODE_CREATION_DESCRIPTION__INITIAL_OPERATION);
+ createEAttribute(nodeCreationDescriptionEClass, ToolPackage.NODE_CREATION_DESCRIPTION__ICON_PATH);
+ createEReference(nodeCreationDescriptionEClass, ToolPackage.NODE_CREATION_DESCRIPTION__EXTRA_MAPPINGS);
+
+ edgeCreationDescriptionEClass = createEClass(ToolPackage.EDGE_CREATION_DESCRIPTION);
+ createEReference(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__EDGE_MAPPINGS);
+ createEReference(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VARIABLE);
+ createEReference(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VARIABLE);
+ createEReference(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__SOURCE_VIEW_VARIABLE);
+ createEReference(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__TARGET_VIEW_VARIABLE);
+ createEReference(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__INITIAL_OPERATION);
+ createEAttribute(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__ICON_PATH);
+ createEReference(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_SOURCE_MAPPINGS);
+ createEReference(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__EXTRA_TARGET_MAPPINGS);
+ createEAttribute(edgeCreationDescriptionEClass, ToolPackage.EDGE_CREATION_DESCRIPTION__CONNECTION_START_PRECONDITION);
+
+ containerCreationDescriptionEClass = createEClass(ToolPackage.CONTAINER_CREATION_DESCRIPTION);
+ createEReference(containerCreationDescriptionEClass, ToolPackage.CONTAINER_CREATION_DESCRIPTION__CONTAINER_MAPPINGS);
+ createEReference(containerCreationDescriptionEClass, ToolPackage.CONTAINER_CREATION_DESCRIPTION__VARIABLE);
+ createEReference(containerCreationDescriptionEClass, ToolPackage.CONTAINER_CREATION_DESCRIPTION__VIEW_VARIABLE);
+ createEReference(containerCreationDescriptionEClass, ToolPackage.CONTAINER_CREATION_DESCRIPTION__INITIAL_OPERATION);
+ createEAttribute(containerCreationDescriptionEClass, ToolPackage.CONTAINER_CREATION_DESCRIPTION__ICON_PATH);
+ createEReference(containerCreationDescriptionEClass, ToolPackage.CONTAINER_CREATION_DESCRIPTION__EXTRA_MAPPINGS);
+
+ deleteElementDescriptionEClass = createEClass(ToolPackage.DELETE_ELEMENT_DESCRIPTION);
+ createEReference(deleteElementDescriptionEClass, ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT);
+ createEReference(deleteElementDescriptionEClass, ToolPackage.DELETE_ELEMENT_DESCRIPTION__ELEMENT_VIEW);
+ createEReference(deleteElementDescriptionEClass, ToolPackage.DELETE_ELEMENT_DESCRIPTION__CONTAINER_VIEW);
+ createEReference(deleteElementDescriptionEClass, ToolPackage.DELETE_ELEMENT_DESCRIPTION__INITIAL_OPERATION);
+ createEReference(deleteElementDescriptionEClass, ToolPackage.DELETE_ELEMENT_DESCRIPTION__HOOK);
+
+ doubleClickDescriptionEClass = createEClass(ToolPackage.DOUBLE_CLICK_DESCRIPTION);
+ createEReference(doubleClickDescriptionEClass, ToolPackage.DOUBLE_CLICK_DESCRIPTION__MAPPINGS);
+ createEReference(doubleClickDescriptionEClass, ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT);
+ createEReference(doubleClickDescriptionEClass, ToolPackage.DOUBLE_CLICK_DESCRIPTION__ELEMENT_VIEW);
+ createEReference(doubleClickDescriptionEClass, ToolPackage.DOUBLE_CLICK_DESCRIPTION__INITIAL_OPERATION);
+
+ deleteHookEClass = createEClass(ToolPackage.DELETE_HOOK);
+ createEAttribute(deleteHookEClass, ToolPackage.DELETE_HOOK__ID);
+ createEReference(deleteHookEClass, ToolPackage.DELETE_HOOK__PARAMETERS);
+
+ deleteHookParameterEClass = createEClass(ToolPackage.DELETE_HOOK_PARAMETER);
+ createEAttribute(deleteHookParameterEClass, ToolPackage.DELETE_HOOK_PARAMETER__NAME);
+ createEAttribute(deleteHookParameterEClass, ToolPackage.DELETE_HOOK_PARAMETER__VALUE);
+
+ reconnectEdgeDescriptionEClass = createEClass(ToolPackage.RECONNECT_EDGE_DESCRIPTION);
+ createEAttribute(reconnectEdgeDescriptionEClass, ToolPackage.RECONNECT_EDGE_DESCRIPTION__RECONNECTION_KIND);
+ createEReference(reconnectEdgeDescriptionEClass, ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE);
+ createEReference(reconnectEdgeDescriptionEClass, ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET);
+ createEReference(reconnectEdgeDescriptionEClass, ToolPackage.RECONNECT_EDGE_DESCRIPTION__SOURCE_VIEW);
+ createEReference(reconnectEdgeDescriptionEClass, ToolPackage.RECONNECT_EDGE_DESCRIPTION__TARGET_VIEW);
+ createEReference(reconnectEdgeDescriptionEClass, ToolPackage.RECONNECT_EDGE_DESCRIPTION__ELEMENT);
+ createEReference(reconnectEdgeDescriptionEClass, ToolPackage.RECONNECT_EDGE_DESCRIPTION__INITIAL_OPERATION);
+ createEReference(reconnectEdgeDescriptionEClass, ToolPackage.RECONNECT_EDGE_DESCRIPTION__EDGE_VIEW);
+
+ requestDescriptionEClass = createEClass(ToolPackage.REQUEST_DESCRIPTION);
+ createEAttribute(requestDescriptionEClass, ToolPackage.REQUEST_DESCRIPTION__TYPE);
+
+ directEditLabelEClass = createEClass(ToolPackage.DIRECT_EDIT_LABEL);
+ createEReference(directEditLabelEClass, ToolPackage.DIRECT_EDIT_LABEL__MASK);
+ createEReference(directEditLabelEClass, ToolPackage.DIRECT_EDIT_LABEL__INITIAL_OPERATION);
+ createEAttribute(directEditLabelEClass, ToolPackage.DIRECT_EDIT_LABEL__INPUT_LABEL_EXPRESSION);
+
+ behaviorToolEClass = createEClass(ToolPackage.BEHAVIOR_TOOL);
+ createEAttribute(behaviorToolEClass, ToolPackage.BEHAVIOR_TOOL__DOMAIN_CLASS);
+ createEReference(behaviorToolEClass, ToolPackage.BEHAVIOR_TOOL__INITIAL_OPERATION);
+
+ sourceEdgeCreationVariableEClass = createEClass(ToolPackage.SOURCE_EDGE_CREATION_VARIABLE);
+
+ sourceEdgeViewCreationVariableEClass = createEClass(ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE);
+
+ targetEdgeCreationVariableEClass = createEClass(ToolPackage.TARGET_EDGE_CREATION_VARIABLE);
+
+ targetEdgeViewCreationVariableEClass = createEClass(ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE);
+
+ elementDoubleClickVariableEClass = createEClass(ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE);
+
+ nodeCreationVariableEClass = createEClass(ToolPackage.NODE_CREATION_VARIABLE);
+
+ createViewEClass = createEClass(ToolPackage.CREATE_VIEW);
+ createEReference(createViewEClass, ToolPackage.CREATE_VIEW__MAPPING);
+ createEAttribute(createViewEClass, ToolPackage.CREATE_VIEW__CONTAINER_VIEW_EXPRESSION);
+ createEAttribute(createViewEClass, ToolPackage.CREATE_VIEW__VARIABLE_NAME);
+
+ createEdgeViewEClass = createEClass(ToolPackage.CREATE_EDGE_VIEW);
+ createEAttribute(createEdgeViewEClass, ToolPackage.CREATE_EDGE_VIEW__SOURCE_EXPRESSION);
+ createEAttribute(createEdgeViewEClass, ToolPackage.CREATE_EDGE_VIEW__TARGET_EXPRESSION);
+
+ navigationEClass = createEClass(ToolPackage.NAVIGATION);
+ createEAttribute(navigationEClass, ToolPackage.NAVIGATION__CREATE_IF_NOT_EXISTENT);
+ createEReference(navigationEClass, ToolPackage.NAVIGATION__DIAGRAM_DESCRIPTION);
+
+ diagramCreationDescriptionEClass = createEClass(ToolPackage.DIAGRAM_CREATION_DESCRIPTION);
+ createEReference(diagramCreationDescriptionEClass, ToolPackage.DIAGRAM_CREATION_DESCRIPTION__DIAGRAM_DESCRIPTION);
+
+ diagramNavigationDescriptionEClass = createEClass(ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION);
+ createEReference(diagramNavigationDescriptionEClass, ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION__DIAGRAM_DESCRIPTION);
+
+ containerDropDescriptionEClass = createEClass(ToolPackage.CONTAINER_DROP_DESCRIPTION);
+ createEReference(containerDropDescriptionEClass, ToolPackage.CONTAINER_DROP_DESCRIPTION__MAPPINGS);
+ createEReference(containerDropDescriptionEClass, ToolPackage.CONTAINER_DROP_DESCRIPTION__OLD_CONTAINER);
+ createEReference(containerDropDescriptionEClass, ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_CONTAINER);
+ createEReference(containerDropDescriptionEClass, ToolPackage.CONTAINER_DROP_DESCRIPTION__ELEMENT);
+ createEReference(containerDropDescriptionEClass, ToolPackage.CONTAINER_DROP_DESCRIPTION__NEW_VIEW_CONTAINER);
+ createEReference(containerDropDescriptionEClass, ToolPackage.CONTAINER_DROP_DESCRIPTION__INITIAL_OPERATION);
+ createEAttribute(containerDropDescriptionEClass, ToolPackage.CONTAINER_DROP_DESCRIPTION__DRAG_SOURCE);
+ createEAttribute(containerDropDescriptionEClass, ToolPackage.CONTAINER_DROP_DESCRIPTION__MOVE_EDGES);
+
+ // Create enums
+ reconnectionKindEEnum = createEEnum(ToolPackage.RECONNECTION_KIND);
+ }
+
+ /**
+ * <!-- 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(ToolPackage.eNAME);
+ setNsPrefix(ToolPackage.eNS_PREFIX);
+ setNsURI(ToolPackage.eNS_URI);
+
+ // Obtain other dependent packages
+ org.eclipse.sirius.viewpoint.description.DescriptionPackage theDescriptionPackage_1 = (org.eclipse.sirius.viewpoint.description.DescriptionPackage) EPackage.Registry.INSTANCE
+ .getEPackage(org.eclipse.sirius.viewpoint.description.DescriptionPackage.eNS_URI);
+ org.eclipse.sirius.viewpoint.description.tool.ToolPackage theToolPackage_1 = (org.eclipse.sirius.viewpoint.description.tool.ToolPackage) EPackage.Registry.INSTANCE
+ .getEPackage(org.eclipse.sirius.viewpoint.description.tool.ToolPackage.eNS_URI);
+ DescriptionPackage theDescriptionPackage = (DescriptionPackage) EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ toolSectionEClass.getESuperTypes().add(theDescriptionPackage_1.getDocumentedElement());
+ toolSectionEClass.getESuperTypes().add(theDescriptionPackage_1.getIdentifiedElement());
+ toolGroupEClass.getESuperTypes().add(theToolPackage_1.getToolEntry());
+ nodeCreationDescriptionEClass.getESuperTypes().add(theToolPackage_1.getMappingBasedToolDescription());
+ edgeCreationDescriptionEClass.getESuperTypes().add(theToolPackage_1.getMappingBasedToolDescription());
+ containerCreationDescriptionEClass.getESuperTypes().add(theToolPackage_1.getMappingBasedToolDescription());
+ deleteElementDescriptionEClass.getESuperTypes().add(theToolPackage_1.getMappingBasedToolDescription());
+ doubleClickDescriptionEClass.getESuperTypes().add(theToolPackage_1.getMappingBasedToolDescription());
+ reconnectEdgeDescriptionEClass.getESuperTypes().add(theToolPackage_1.getMappingBasedToolDescription());
+ requestDescriptionEClass.getESuperTypes().add(theToolPackage_1.getAbstractToolDescription());
+ directEditLabelEClass.getESuperTypes().add(theToolPackage_1.getMappingBasedToolDescription());
+ behaviorToolEClass.getESuperTypes().add(theToolPackage_1.getAbstractToolDescription());
+ sourceEdgeCreationVariableEClass.getESuperTypes().add(theDescriptionPackage_1.getAbstractVariable());
+ sourceEdgeCreationVariableEClass.getESuperTypes().add(theToolPackage_1.getVariableContainer());
+ sourceEdgeViewCreationVariableEClass.getESuperTypes().add(theDescriptionPackage_1.getAbstractVariable());
+ sourceEdgeViewCreationVariableEClass.getESuperTypes().add(theToolPackage_1.getVariableContainer());
+ targetEdgeCreationVariableEClass.getESuperTypes().add(theDescriptionPackage_1.getAbstractVariable());
+ targetEdgeCreationVariableEClass.getESuperTypes().add(theToolPackage_1.getVariableContainer());
+ targetEdgeViewCreationVariableEClass.getESuperTypes().add(theDescriptionPackage_1.getAbstractVariable());
+ targetEdgeViewCreationVariableEClass.getESuperTypes().add(theToolPackage_1.getVariableContainer());
+ elementDoubleClickVariableEClass.getESuperTypes().add(theDescriptionPackage_1.getAbstractVariable());
+ elementDoubleClickVariableEClass.getESuperTypes().add(theToolPackage_1.getVariableContainer());
+ nodeCreationVariableEClass.getESuperTypes().add(theDescriptionPackage_1.getAbstractVariable());
+ nodeCreationVariableEClass.getESuperTypes().add(theToolPackage_1.getVariableContainer());
+ createViewEClass.getESuperTypes().add(theToolPackage_1.getContainerModelOperation());
+ createEdgeViewEClass.getESuperTypes().add(this.getCreateView());
+ navigationEClass.getESuperTypes().add(theToolPackage_1.getContainerModelOperation());
+ diagramCreationDescriptionEClass.getESuperTypes().add(theToolPackage_1.getRepresentationCreationDescription());
+ diagramNavigationDescriptionEClass.getESuperTypes().add(theToolPackage_1.getRepresentationNavigationDescription());
+ containerDropDescriptionEClass.getESuperTypes().add(theToolPackage_1.getMappingBasedToolDescription());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(toolSectionEClass, ToolSection.class, "ToolSection", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getToolSection_Icon(), theDescriptionPackage_1.getImagePath(), "icon", null, 0, 1, ToolSection.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getToolSection_OwnedTools(), theToolPackage_1.getToolEntry(), null, "ownedTools", null, 0, -1, ToolSection.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ getToolSection_OwnedTools().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getToolSection_SubSections(), this.getToolSection(), null, "subSections", null, 0, -1, ToolSection.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ getToolSection_SubSections().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name());
+ initEReference(getToolSection_PopupMenus(), theToolPackage_1.getPopupMenu(), null, "popupMenus", null, 0, -1, ToolSection.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getToolSection_ReusedTools(), theToolPackage_1.getToolEntry(), null, "reusedTools", null, 0, -1, ToolSection.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getToolSection_GroupExtensions(), this.getToolGroupExtension(), null, "groupExtensions", null, 0, -1, ToolSection.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getToolSection_Groups(), theToolPackage_1.getGroupMenu(), null, "groups", null, 0, -1, ToolSection.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(toolGroupEClass, ToolGroup.class, "ToolGroup", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getToolGroup_Tools(), theToolPackage_1.getAbstractToolDescription(), null, "tools", null, 0, -1, ToolGroup.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(toolGroupExtensionEClass, ToolGroupExtension.class, "ToolGroupExtension", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getToolGroupExtension_Group(), this.getToolGroup(), null, "group", null, 1, 1, ToolGroupExtension.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getToolGroupExtension_Tools(), theToolPackage_1.getAbstractToolDescription(), null, "tools", null, 0, -1, ToolGroupExtension.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(nodeCreationDescriptionEClass, NodeCreationDescription.class, "NodeCreationDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNodeCreationDescription_NodeMappings(), theDescriptionPackage.getNodeMapping(), null, "nodeMappings", null, 1, -1, NodeCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getNodeCreationDescription_Variable(), this.getNodeCreationVariable(), null, "variable", null, 1, 1, NodeCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getNodeCreationDescription_ViewVariable(), theToolPackage_1.getContainerViewVariable(), null, "viewVariable", null, 1, 1, NodeCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getNodeCreationDescription_InitialOperation(), theToolPackage_1.getInitialNodeCreationOperation(), null, "initialOperation", null, 1, 1, NodeCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getNodeCreationDescription_IconPath(), theDescriptionPackage_1.getImagePath(), "iconPath", "", 0, 1, NodeCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getNodeCreationDescription_ExtraMappings(), theDescriptionPackage.getAbstractNodeMapping(), null, "extraMappings", null, 0, -1, NodeCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(edgeCreationDescriptionEClass, EdgeCreationDescription.class, "EdgeCreationDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEdgeCreationDescription_EdgeMappings(), theDescriptionPackage.getEdgeMapping(), null, "edgeMappings", null, 1, -1, EdgeCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeCreationDescription_SourceVariable(), this.getSourceEdgeCreationVariable(), null, "sourceVariable", null, 1, 1, EdgeCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeCreationDescription_TargetVariable(), this.getTargetEdgeCreationVariable(), null, "targetVariable", null, 1, 1, EdgeCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeCreationDescription_SourceViewVariable(), this.getSourceEdgeViewCreationVariable(), null, "sourceViewVariable", null, 1, 1, EdgeCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeCreationDescription_TargetViewVariable(), this.getTargetEdgeViewCreationVariable(), null, "targetViewVariable", null, 1, 1, EdgeCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeCreationDescription_InitialOperation(), theToolPackage_1.getInitEdgeCreationOperation(), null, "initialOperation", null, 1, 1, EdgeCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeCreationDescription_IconPath(), theDescriptionPackage_1.getImagePath(), "iconPath", "", 0, 1, EdgeCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeCreationDescription_ExtraSourceMappings(), theDescriptionPackage.getDiagramElementMapping(), null, "extraSourceMappings", null, 0, -1, EdgeCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEdgeCreationDescription_ExtraTargetMappings(), theDescriptionPackage.getDiagramElementMapping(), null, "extraTargetMappings", null, 0, -1, EdgeCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEdgeCreationDescription_ConnectionStartPrecondition(), theDescriptionPackage_1.getInterpretedExpression(), "connectionStartPrecondition", null, 0, 1, //$NON-NLS-1$
+ EdgeCreationDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(containerCreationDescriptionEClass, ContainerCreationDescription.class, "ContainerCreationDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getContainerCreationDescription_ContainerMappings(), theDescriptionPackage.getContainerMapping(), null, "containerMappings", null, 1, -1, ContainerCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerCreationDescription_Variable(), this.getNodeCreationVariable(), null, "variable", null, 1, 1, ContainerCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerCreationDescription_ViewVariable(), theToolPackage_1.getContainerViewVariable(), null, "viewVariable", null, 1, 1, ContainerCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerCreationDescription_InitialOperation(), theToolPackage_1.getInitialNodeCreationOperation(), null, "initialOperation", null, 1, 1, ContainerCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getContainerCreationDescription_IconPath(), theDescriptionPackage_1.getImagePath(), "iconPath", "", 0, 1, ContainerCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerCreationDescription_ExtraMappings(), theDescriptionPackage.getAbstractNodeMapping(), null, "extraMappings", null, 0, -1, ContainerCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(deleteElementDescriptionEClass, DeleteElementDescription.class, "DeleteElementDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDeleteElementDescription_Element(), theToolPackage_1.getElementDeleteVariable(), null, "element", null, 1, 1, DeleteElementDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDeleteElementDescription_ElementView(), theToolPackage_1.getElementDeleteVariable(), null, "elementView", null, 0, 1, DeleteElementDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDeleteElementDescription_ContainerView(), theToolPackage_1.getContainerViewVariable(), null, "containerView", null, 1, 1, DeleteElementDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDeleteElementDescription_InitialOperation(), theToolPackage_1.getInitialOperation(), null, "initialOperation", null, 1, 1, DeleteElementDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDeleteElementDescription_Hook(), this.getDeleteHook(), null, "hook", null, 0, 1, DeleteElementDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ addEOperation(deleteElementDescriptionEClass, theDescriptionPackage.getDiagramElementMapping(), "getMappings", 1, -1, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(doubleClickDescriptionEClass, DoubleClickDescription.class, "DoubleClickDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDoubleClickDescription_Mappings(), theDescriptionPackage.getDiagramElementMapping(), theDescriptionPackage.getDiagramElementMapping_DoubleClickDescription(), "mappings", //$NON-NLS-1$
+ null, 1, -1, DoubleClickDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE,
+ EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDoubleClickDescription_Element(), this.getElementDoubleClickVariable(), null, "element", null, 1, 1, DoubleClickDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDoubleClickDescription_ElementView(), this.getElementDoubleClickVariable(), null, "elementView", null, 0, 1, DoubleClickDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDoubleClickDescription_InitialOperation(), theToolPackage_1.getInitialOperation(), null, "initialOperation", null, 1, 1, DoubleClickDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(deleteHookEClass, DeleteHook.class, "DeleteHook", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getDeleteHook_Id(), theEcorePackage.getEString(), "id", null, 1, 1, DeleteHook.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$
+ !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getDeleteHook_Parameters(), this.getDeleteHookParameter(), null, "parameters", null, 0, -1, DeleteHook.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(deleteHookParameterEClass, DeleteHookParameter.class, "DeleteHookParameter", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getDeleteHookParameter_Name(), theEcorePackage.getEString(), "name", null, 1, 1, DeleteHookParameter.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDeleteHookParameter_Value(), theDescriptionPackage_1.getInterpretedExpression(), "value", null, 0, 1, DeleteHookParameter.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(reconnectEdgeDescriptionEClass, ReconnectEdgeDescription.class, "ReconnectEdgeDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getReconnectEdgeDescription_ReconnectionKind(), this.getReconnectionKind(), "reconnectionKind", "RECONNECT_TARGET", 1, 1, ReconnectEdgeDescription.class, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getReconnectEdgeDescription_Source(), this.getSourceEdgeCreationVariable(), null, "source", null, 1, 1, ReconnectEdgeDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getReconnectEdgeDescription_Target(), this.getTargetEdgeCreationVariable(), null, "target", null, 1, 1, ReconnectEdgeDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getReconnectEdgeDescription_SourceView(), this.getSourceEdgeViewCreationVariable(), null, "sourceView", null, 1, 1, ReconnectEdgeDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getReconnectEdgeDescription_TargetView(), this.getTargetEdgeViewCreationVariable(), null, "targetView", null, 1, 1, ReconnectEdgeDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getReconnectEdgeDescription_Element(), theToolPackage_1.getElementSelectVariable(), null, "element", null, 1, 1, ReconnectEdgeDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getReconnectEdgeDescription_InitialOperation(), theToolPackage_1.getInitialOperation(), null, "initialOperation", null, 1, 1, ReconnectEdgeDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getReconnectEdgeDescription_EdgeView(), theToolPackage_1.getElementSelectVariable(), null, "edgeView", null, 1, 1, ReconnectEdgeDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ addEOperation(reconnectEdgeDescriptionEClass, theDescriptionPackage.getEdgeMapping(), "getMappings", 1, -1, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(requestDescriptionEClass, RequestDescription.class, "RequestDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getRequestDescription_Type(), theEcorePackage.getEString(), "type", null, 1, 1, RequestDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(directEditLabelEClass, DirectEditLabel.class, "DirectEditLabel", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getDirectEditLabel_Mask(), theToolPackage_1.getEditMaskVariables(), null, "mask", null, 1, 1, DirectEditLabel.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getDirectEditLabel_InitialOperation(), theToolPackage_1.getInitialOperation(), null, "initialOperation", null, 1, 1, DirectEditLabel.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getDirectEditLabel_InputLabelExpression(), theDescriptionPackage_1.getInterpretedExpression(), "inputLabelExpression", null, 0, 1, DirectEditLabel.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ addEOperation(directEditLabelEClass, theDescriptionPackage.getDiagramElementMapping(), "getMapping", 1, -1, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(behaviorToolEClass, BehaviorTool.class, "BehaviorTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getBehaviorTool_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", "EObject", 1, 1, BehaviorTool.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getBehaviorTool_InitialOperation(), theToolPackage_1.getInitialOperation(), null, "initialOperation", null, 1, 1, BehaviorTool.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(sourceEdgeCreationVariableEClass, SourceEdgeCreationVariable.class, "SourceEdgeCreationVariable", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(sourceEdgeViewCreationVariableEClass, SourceEdgeViewCreationVariable.class, "SourceEdgeViewCreationVariable", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(targetEdgeCreationVariableEClass, TargetEdgeCreationVariable.class, "TargetEdgeCreationVariable", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(targetEdgeViewCreationVariableEClass, TargetEdgeViewCreationVariable.class, "TargetEdgeViewCreationVariable", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(elementDoubleClickVariableEClass, ElementDoubleClickVariable.class, "ElementDoubleClickVariable", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(nodeCreationVariableEClass, NodeCreationVariable.class, "NodeCreationVariable", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(createViewEClass, CreateView.class, "CreateView", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getCreateView_Mapping(), theDescriptionPackage.getDiagramElementMapping(), null, "mapping", null, 1, 1, CreateView.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEAttribute(getCreateView_ContainerViewExpression(), theDescriptionPackage_1.getInterpretedExpression(), "containerViewExpression", "", 1, 1, CreateView.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getCreateView_VariableName(), theEcorePackage.getEString(), "variableName", "createdView", 0, 1, CreateView.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(createEdgeViewEClass, CreateEdgeView.class, "CreateEdgeView", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getCreateEdgeView_SourceExpression(), theDescriptionPackage_1.getInterpretedExpression(), "sourceExpression", null, 1, 1, CreateEdgeView.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getCreateEdgeView_TargetExpression(), theDescriptionPackage_1.getInterpretedExpression(), "targetExpression", null, 1, 1, CreateEdgeView.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(navigationEClass, Navigation.class, "Navigation", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getNavigation_CreateIfNotExistent(), theEcorePackage.getEBoolean(), "createIfNotExistent", null, 0, 1, Navigation.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getNavigation_DiagramDescription(), theDescriptionPackage.getDiagramDescription(), null, "diagramDescription", null, 1, 1, Navigation.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(diagramCreationDescriptionEClass, DiagramCreationDescription.class, "DiagramCreationDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDiagramCreationDescription_DiagramDescription(), theDescriptionPackage.getDiagramDescription(), null, "diagramDescription", null, 1, 1, DiagramCreationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(diagramNavigationDescriptionEClass, DiagramNavigationDescription.class, "DiagramNavigationDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDiagramNavigationDescription_DiagramDescription(), theDescriptionPackage.getDiagramDescription(), null, "diagramDescription", null, 1, 1, DiagramNavigationDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(containerDropDescriptionEClass, ContainerDropDescription.class, "ContainerDropDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$
+ EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getContainerDropDescription_Mappings(), theDescriptionPackage.getDiagramElementMapping(), null, "mappings", null, 0, -1, ContainerDropDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerDropDescription_OldContainer(), theToolPackage_1.getDropContainerVariable(), null, "oldContainer", null, 1, 1, ContainerDropDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerDropDescription_NewContainer(), theToolPackage_1.getDropContainerVariable(), null, "newContainer", null, 1, 1, ContainerDropDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerDropDescription_Element(), theToolPackage_1.getElementDropVariable(), null, "element", null, 1, 1, ContainerDropDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerDropDescription_NewViewContainer(), theToolPackage_1.getContainerViewVariable(), null, "newViewContainer", null, 1, 1, ContainerDropDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getContainerDropDescription_InitialOperation(), theToolPackage_1.getInitialContainerDropOperation(), null, "initialOperation", null, 1, 1, ContainerDropDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE,
+ EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getContainerDropDescription_DragSource(), theToolPackage_1.getDragSource(), "dragSource", null, 1, 1, ContainerDropDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getContainerDropDescription_MoveEdges(), theEcorePackage.getEBoolean(), "moveEdges", null, 1, 1, ContainerDropDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ addEOperation(containerDropDescriptionEClass, theDescriptionPackage.getDragAndDropTargetDescription(), "getContainers", 1, -1, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ // Initialize enums and add enum literals
+ initEEnum(reconnectionKindEEnum, ReconnectionKind.class, "ReconnectionKind"); //$NON-NLS-1$
+ addEEnumLiteral(reconnectionKindEEnum, ReconnectionKind.RECONNECT_TARGET_LITERAL);
+ addEEnumLiteral(reconnectionKindEEnum, ReconnectionKind.RECONNECT_SOURCE_LITERAL);
+ addEEnumLiteral(reconnectionKindEEnum, ReconnectionKind.RECONNECT_BOTH_LITERAL);
+
+ // Create annotations
+ // http://www.eclipse.org/sirius/interpreted/expression/variables
+ createVariablesAnnotations();
+ // http://www.eclipse.org/sirius/interpreted/expression/returnType
+ createReturnTypeAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/sirius/interpreted/expression/variables</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createVariablesAnnotations() {
+ String source = "http://www.eclipse.org/sirius/interpreted/expression/variables"; //$NON-NLS-1$
+ addAnnotation(getNodeCreationDescription_Variable(), source, new String[] { "type", "ecore.EObject" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getNodeCreationDescription_ViewVariable(), source, new String[] { "type", "diagram.DDiagramElementContainer" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getEdgeCreationDescription_ConnectionStartPrecondition(), source, new String[] { "container", "ecore.EObject | the semantic element of diagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "preSourceView", "diagram.EdgeTarget | (edge only) the source view of the current potential edge.", //$NON-NLS-1$ //$NON-NLS-2$
+ "preSource", "ecore.EObject | (edge only) the semantic element of $preSourceView.", //$NON-NLS-1$ //$NON-NLS-2$
+ "diagram", "diagram.DSemanticDiagram | the diagram of the current potential edge" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDeleteHookParameter_Value(), source, new String[] {});
+ addAnnotation(getDirectEditLabel_InputLabelExpression(), source, new String[] { "diagram", "diagram.DSemanticDiagram | the current DSemanticDiagram.", //$NON-NLS-1$ //$NON-NLS-2$
+ "view", "diagram.DDiagramElement | the current view for which the label is calculated." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getCreateView_ContainerViewExpression(), source, new String[] {});
+ addAnnotation(getCreateEdgeView_SourceExpression(), source, new String[] {});
+ addAnnotation(getCreateEdgeView_TargetExpression(), source, new String[] {});
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/sirius/interpreted/expression/returnType</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createReturnTypeAnnotations() {
+ String source = "http://www.eclipse.org/sirius/interpreted/expression/returnType"; //$NON-NLS-1$
+ addAnnotation(getEdgeCreationDescription_ConnectionStartPrecondition(), source, new String[] { "returnType", "a boolean." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDeleteHookParameter_Value(), source, new String[] { "returnType", "a Collection<EObject> or an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getDirectEditLabel_InputLabelExpression(), source, new String[] { "returnType", "a string." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getCreateView_ContainerViewExpression(), source, new String[] { "returnType", "a view (DNode, DEdge, DDiagram -> any DSemanticDecorator)." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getCreateEdgeView_SourceExpression(), source, new String[] { "returnType", "an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation(getCreateEdgeView_TargetExpression(), source, new String[] { "returnType", "an EObject." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+} // ToolPackageImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolSectionImpl.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolSectionImpl.java
new file mode 100644
index 0000000000..095a99c50a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/impl/ToolSectionImpl.java
@@ -0,0 +1,544 @@
+/**
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.diagram.description.tool.ToolGroupExtension;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.impl.DocumentedElementImpl;
+import org.eclipse.sirius.viewpoint.description.tool.GroupMenu;
+import org.eclipse.sirius.viewpoint.description.tool.PopupMenu;
+import org.eclipse.sirius.viewpoint.description.tool.ToolEntry;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Section</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getIcon <em>Icon</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getOwnedTools <em>Owned Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getSubSections <em>Sub
+ * Sections</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getPopupMenus <em>Popup Menus</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getReusedTools <em>Reused
+ * Tools</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getGroupExtensions <em>Group
+ * Extensions</em>}</li>
+ * <li>{@link org.eclipse.sirius.diagram.description.tool.impl.ToolSectionImpl#getGroups <em>Groups</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ToolSectionImpl extends DocumentedElementImpl implements ToolSection {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = ToolSectionImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = ToolSectionImpl.LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIcon() <em>Icon</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIcon() <em>Icon</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected String icon = ToolSectionImpl.ICON_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOwnedTools() <em>Owned Tools</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOwnedTools()
+ * @generated
+ * @ordered
+ */
+ protected EList<ToolEntry> ownedTools;
+
+ /**
+ * The cached value of the '{@link #getSubSections() <em>Sub Sections</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubSections()
+ * @generated
+ * @ordered
+ */
+ protected EList<ToolSection> subSections;
+
+ /**
+ * The cached value of the '{@link #getReusedTools() <em>Reused Tools</em>}' reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getReusedTools()
+ * @generated
+ * @ordered
+ */
+ protected EList<ToolEntry> reusedTools;
+
+ /**
+ * The cached value of the '{@link #getGroupExtensions() <em>Group Extensions</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupExtensions()
+ * @generated
+ * @ordered
+ */
+ protected EList<ToolGroupExtension> groupExtensions;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ToolSectionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ToolPackage.Literals.TOOL_SECTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.TOOL_SECTION__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.TOOL_SECTION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getIcon() {
+ return icon;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIcon(String newIcon) {
+ String oldIcon = icon;
+ icon = newIcon;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ToolPackage.TOOL_SECTION__ICON, oldIcon, icon));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ToolEntry> getOwnedTools() {
+ if (ownedTools == null) {
+ ownedTools = new EObjectContainmentEList.Resolving<>(ToolEntry.class, this, ToolPackage.TOOL_SECTION__OWNED_TOOLS);
+ }
+ return ownedTools;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ToolSection> getSubSections() {
+ if (subSections == null) {
+ subSections = new EObjectContainmentEList.Resolving<>(ToolSection.class, this, ToolPackage.TOOL_SECTION__SUB_SECTIONS);
+ }
+ return subSections;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<PopupMenu> getPopupMenus() {
+ // TODO: implement this method to return the 'Popup Menus' reference list
+ // Ensure that you remove @generated or mark it @generated NOT
+ // The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and
+ // org.eclipse.emf.ecore.EStructuralFeature.Setting
+ // so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.EcoreEList should be used.
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ToolEntry> getReusedTools() {
+ if (reusedTools == null) {
+ reusedTools = new EObjectResolvingEList<>(ToolEntry.class, this, ToolPackage.TOOL_SECTION__REUSED_TOOLS);
+ }
+ return reusedTools;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ToolGroupExtension> getGroupExtensions() {
+ if (groupExtensions == null) {
+ groupExtensions = new EObjectContainmentEList.Resolving<>(ToolGroupExtension.class, this, ToolPackage.TOOL_SECTION__GROUP_EXTENSIONS);
+ }
+ return groupExtensions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<GroupMenu> getGroups() {
+ // TODO: implement this method to return the 'Groups' reference list
+ // Ensure that you remove @generated or mark it @generated NOT
+ // The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and
+ // org.eclipse.emf.ecore.EStructuralFeature.Setting
+ // so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.EcoreEList should be used.
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ToolPackage.TOOL_SECTION__OWNED_TOOLS:
+ return ((InternalEList<?>) getOwnedTools()).basicRemove(otherEnd, msgs);
+ case ToolPackage.TOOL_SECTION__SUB_SECTIONS:
+ return ((InternalEList<?>) getSubSections()).basicRemove(otherEnd, msgs);
+ case ToolPackage.TOOL_SECTION__GROUP_EXTENSIONS:
+ return ((InternalEList<?>) getGroupExtensions()).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 ToolPackage.TOOL_SECTION__NAME:
+ return getName();
+ case ToolPackage.TOOL_SECTION__LABEL:
+ return getLabel();
+ case ToolPackage.TOOL_SECTION__ICON:
+ return getIcon();
+ case ToolPackage.TOOL_SECTION__OWNED_TOOLS:
+ return getOwnedTools();
+ case ToolPackage.TOOL_SECTION__SUB_SECTIONS:
+ return getSubSections();
+ case ToolPackage.TOOL_SECTION__POPUP_MENUS:
+ return getPopupMenus();
+ case ToolPackage.TOOL_SECTION__REUSED_TOOLS:
+ return getReusedTools();
+ case ToolPackage.TOOL_SECTION__GROUP_EXTENSIONS:
+ return getGroupExtensions();
+ case ToolPackage.TOOL_SECTION__GROUPS:
+ return getGroups();
+ }
+ 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 ToolPackage.TOOL_SECTION__NAME:
+ setName((String) newValue);
+ return;
+ case ToolPackage.TOOL_SECTION__LABEL:
+ setLabel((String) newValue);
+ return;
+ case ToolPackage.TOOL_SECTION__ICON:
+ setIcon((String) newValue);
+ return;
+ case ToolPackage.TOOL_SECTION__OWNED_TOOLS:
+ getOwnedTools().clear();
+ getOwnedTools().addAll((Collection<? extends ToolEntry>) newValue);
+ return;
+ case ToolPackage.TOOL_SECTION__SUB_SECTIONS:
+ getSubSections().clear();
+ getSubSections().addAll((Collection<? extends ToolSection>) newValue);
+ return;
+ case ToolPackage.TOOL_SECTION__REUSED_TOOLS:
+ getReusedTools().clear();
+ getReusedTools().addAll((Collection<? extends ToolEntry>) newValue);
+ return;
+ case ToolPackage.TOOL_SECTION__GROUP_EXTENSIONS:
+ getGroupExtensions().clear();
+ getGroupExtensions().addAll((Collection<? extends ToolGroupExtension>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TOOL_SECTION__NAME:
+ setName(ToolSectionImpl.NAME_EDEFAULT);
+ return;
+ case ToolPackage.TOOL_SECTION__LABEL:
+ setLabel(ToolSectionImpl.LABEL_EDEFAULT);
+ return;
+ case ToolPackage.TOOL_SECTION__ICON:
+ setIcon(ToolSectionImpl.ICON_EDEFAULT);
+ return;
+ case ToolPackage.TOOL_SECTION__OWNED_TOOLS:
+ getOwnedTools().clear();
+ return;
+ case ToolPackage.TOOL_SECTION__SUB_SECTIONS:
+ getSubSections().clear();
+ return;
+ case ToolPackage.TOOL_SECTION__REUSED_TOOLS:
+ getReusedTools().clear();
+ return;
+ case ToolPackage.TOOL_SECTION__GROUP_EXTENSIONS:
+ getGroupExtensions().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ToolPackage.TOOL_SECTION__NAME:
+ return ToolSectionImpl.NAME_EDEFAULT == null ? name != null : !ToolSectionImpl.NAME_EDEFAULT.equals(name);
+ case ToolPackage.TOOL_SECTION__LABEL:
+ return ToolSectionImpl.LABEL_EDEFAULT == null ? label != null : !ToolSectionImpl.LABEL_EDEFAULT.equals(label);
+ case ToolPackage.TOOL_SECTION__ICON:
+ return ToolSectionImpl.ICON_EDEFAULT == null ? icon != null : !ToolSectionImpl.ICON_EDEFAULT.equals(icon);
+ case ToolPackage.TOOL_SECTION__OWNED_TOOLS:
+ return ownedTools != null && !ownedTools.isEmpty();
+ case ToolPackage.TOOL_SECTION__SUB_SECTIONS:
+ return subSections != null && !subSections.isEmpty();
+ case ToolPackage.TOOL_SECTION__POPUP_MENUS:
+ return !getPopupMenus().isEmpty();
+ case ToolPackage.TOOL_SECTION__REUSED_TOOLS:
+ return reusedTools != null && !reusedTools.isEmpty();
+ case ToolPackage.TOOL_SECTION__GROUP_EXTENSIONS:
+ return groupExtensions != null && !groupExtensions.isEmpty();
+ case ToolPackage.TOOL_SECTION__GROUPS:
+ return !getGroups().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case ToolPackage.TOOL_SECTION__NAME:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case ToolPackage.TOOL_SECTION__LABEL:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return ToolPackage.TOOL_SECTION__NAME;
+ case DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return ToolPackage.TOOL_SECTION__LABEL;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(", icon: "); //$NON-NLS-1$
+ result.append(icon);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ToolSectionImpl
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/util/ToolAdapterFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/util/ToolAdapterFactory.java
new file mode 100644
index 0000000000..37cc1a1261
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/util/ToolAdapterFactory.java
@@ -0,0 +1,842 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.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.sirius.diagram.description.tool.BehaviorTool;
+import org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+import org.eclipse.sirius.diagram.description.tool.CreateEdgeView;
+import org.eclipse.sirius.diagram.description.tool.CreateView;
+import org.eclipse.sirius.diagram.description.tool.DeleteElementDescription;
+import org.eclipse.sirius.diagram.description.tool.DeleteHook;
+import org.eclipse.sirius.diagram.description.tool.DeleteHookParameter;
+import org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription;
+import org.eclipse.sirius.diagram.description.tool.DirectEditLabel;
+import org.eclipse.sirius.diagram.description.tool.DoubleClickDescription;
+import org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable;
+import org.eclipse.sirius.diagram.description.tool.Navigation;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription;
+import org.eclipse.sirius.diagram.description.tool.RequestDescription;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolGroup;
+import org.eclipse.sirius.diagram.description.tool.ToolGroupExtension;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.viewpoint.description.AbstractVariable;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerModelOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ModelOperation;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationNavigationDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ToolEntry;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- 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.sirius.diagram.description.tool.ToolPackage
+ * @generated
+ */
+public class ToolAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ToolPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ToolAdapterFactory() {
+ if (ToolAdapterFactory.modelPackage == null) {
+ ToolAdapterFactory.modelPackage = ToolPackage.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 == ToolAdapterFactory.modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == ToolAdapterFactory.modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ToolSwitch<Adapter> modelSwitch = new ToolSwitch<Adapter>() {
+ @Override
+ public Adapter caseToolSection(ToolSection object) {
+ return createToolSectionAdapter();
+ }
+
+ @Override
+ public Adapter caseToolGroup(ToolGroup object) {
+ return createToolGroupAdapter();
+ }
+
+ @Override
+ public Adapter caseToolGroupExtension(ToolGroupExtension object) {
+ return createToolGroupExtensionAdapter();
+ }
+
+ @Override
+ public Adapter caseNodeCreationDescription(NodeCreationDescription object) {
+ return createNodeCreationDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseEdgeCreationDescription(EdgeCreationDescription object) {
+ return createEdgeCreationDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseContainerCreationDescription(ContainerCreationDescription object) {
+ return createContainerCreationDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDeleteElementDescription(DeleteElementDescription object) {
+ return createDeleteElementDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDoubleClickDescription(DoubleClickDescription object) {
+ return createDoubleClickDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDeleteHook(DeleteHook object) {
+ return createDeleteHookAdapter();
+ }
+
+ @Override
+ public Adapter caseDeleteHookParameter(DeleteHookParameter object) {
+ return createDeleteHookParameterAdapter();
+ }
+
+ @Override
+ public Adapter caseReconnectEdgeDescription(ReconnectEdgeDescription object) {
+ return createReconnectEdgeDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseRequestDescription(RequestDescription object) {
+ return createRequestDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDirectEditLabel(DirectEditLabel object) {
+ return createDirectEditLabelAdapter();
+ }
+
+ @Override
+ public Adapter caseBehaviorTool(BehaviorTool object) {
+ return createBehaviorToolAdapter();
+ }
+
+ @Override
+ public Adapter caseSourceEdgeCreationVariable(SourceEdgeCreationVariable object) {
+ return createSourceEdgeCreationVariableAdapter();
+ }
+
+ @Override
+ public Adapter caseSourceEdgeViewCreationVariable(SourceEdgeViewCreationVariable object) {
+ return createSourceEdgeViewCreationVariableAdapter();
+ }
+
+ @Override
+ public Adapter caseTargetEdgeCreationVariable(TargetEdgeCreationVariable object) {
+ return createTargetEdgeCreationVariableAdapter();
+ }
+
+ @Override
+ public Adapter caseTargetEdgeViewCreationVariable(TargetEdgeViewCreationVariable object) {
+ return createTargetEdgeViewCreationVariableAdapter();
+ }
+
+ @Override
+ public Adapter caseElementDoubleClickVariable(ElementDoubleClickVariable object) {
+ return createElementDoubleClickVariableAdapter();
+ }
+
+ @Override
+ public Adapter caseNodeCreationVariable(NodeCreationVariable object) {
+ return createNodeCreationVariableAdapter();
+ }
+
+ @Override
+ public Adapter caseCreateView(CreateView object) {
+ return createCreateViewAdapter();
+ }
+
+ @Override
+ public Adapter caseCreateEdgeView(CreateEdgeView object) {
+ return createCreateEdgeViewAdapter();
+ }
+
+ @Override
+ public Adapter caseNavigation(Navigation object) {
+ return createNavigationAdapter();
+ }
+
+ @Override
+ public Adapter caseDiagramCreationDescription(DiagramCreationDescription object) {
+ return createDiagramCreationDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDiagramNavigationDescription(DiagramNavigationDescription object) {
+ return createDiagramNavigationDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseContainerDropDescription(ContainerDropDescription object) {
+ return createContainerDropDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDocumentedElement(DocumentedElement object) {
+ return createDocumentedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseIdentifiedElement(IdentifiedElement object) {
+ return createIdentifiedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseToolEntry(ToolEntry object) {
+ return createToolEntryAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractToolDescription(AbstractToolDescription object) {
+ return createAbstractToolDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseMappingBasedToolDescription(MappingBasedToolDescription object) {
+ return createMappingBasedToolDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractVariable(AbstractVariable object) {
+ return createAbstractVariableAdapter();
+ }
+
+ @Override
+ public Adapter caseVariableContainer(VariableContainer object) {
+ return createVariableContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseModelOperation(ModelOperation object) {
+ return createModelOperationAdapter();
+ }
+
+ @Override
+ public Adapter caseContainerModelOperation(ContainerModelOperation object) {
+ return createContainerModelOperationAdapter();
+ }
+
+ @Override
+ public Adapter caseRepresentationCreationDescription(RepresentationCreationDescription object) {
+ return createRepresentationCreationDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseRepresentationNavigationDescription(RepresentationNavigationDescription object) {
+ return createRepresentationNavigationDescriptionAdapter();
+ }
+
+ @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.sirius.diagram.description.tool.ToolSection
+ * <em>Section</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.sirius.diagram.description.tool.ToolSection
+ * @generated
+ */
+ public Adapter createToolSectionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.tool.ToolGroup
+ * <em>Group</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.sirius.diagram.description.tool.ToolGroup
+ * @generated
+ */
+ public Adapter createToolGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.tool.ToolGroupExtension <em>Group Extension</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.sirius.diagram.description.tool.ToolGroupExtension
+ * @generated
+ */
+ public Adapter createToolGroupExtensionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.NodeCreationDescription <em>Node Creation Description</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.sirius.diagram.description.tool.NodeCreationDescription
+ * @generated
+ */
+ public Adapter createNodeCreationDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription <em>Edge Creation Description</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.sirius.diagram.description.tool.EdgeCreationDescription
+ * @generated
+ */
+ public Adapter createEdgeCreationDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription <em>Container Creation
+ * Description</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.sirius.diagram.description.tool.ContainerCreationDescription
+ * @generated
+ */
+ public Adapter createContainerCreationDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.DeleteElementDescription <em>Delete Element
+ * Description</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.sirius.diagram.description.tool.DeleteElementDescription
+ * @generated
+ */
+ public Adapter createDeleteElementDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.DoubleClickDescription <em>Double Click Description</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.sirius.diagram.description.tool.DoubleClickDescription
+ * @generated
+ */
+ public Adapter createDoubleClickDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.tool.DeleteHook
+ * <em>Delete Hook</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.sirius.diagram.description.tool.DeleteHook
+ * @generated
+ */
+ public Adapter createDeleteHookAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.tool.DeleteHookParameter <em>Delete Hook Parameter</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
+ * ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.diagram.description.tool.DeleteHookParameter
+ * @generated
+ */
+ public Adapter createDeleteHookParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription <em>Reconnect Edge
+ * Description</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.sirius.diagram.description.tool.ReconnectEdgeDescription
+ * @generated
+ */
+ public Adapter createReconnectEdgeDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.tool.RequestDescription <em>Request Description</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.sirius.diagram.description.tool.RequestDescription
+ * @generated
+ */
+ public Adapter createRequestDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.tool.DirectEditLabel
+ * <em>Direct Edit Label</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.sirius.diagram.description.tool.DirectEditLabel
+ * @generated
+ */
+ public Adapter createDirectEditLabelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.tool.BehaviorTool
+ * <em>Behavior Tool</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.sirius.diagram.description.tool.BehaviorTool
+ * @generated
+ */
+ public Adapter createBehaviorToolAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable <em>Source Edge Creation
+ * Variable</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.sirius.diagram.description.tool.SourceEdgeCreationVariable
+ * @generated
+ */
+ public Adapter createSourceEdgeCreationVariableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable <em>Source Edge View Creation
+ * Variable</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.sirius.diagram.description.tool.SourceEdgeViewCreationVariable
+ * @generated
+ */
+ public Adapter createSourceEdgeViewCreationVariableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable <em>Target Edge Creation
+ * Variable</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.sirius.diagram.description.tool.TargetEdgeCreationVariable
+ * @generated
+ */
+ public Adapter createTargetEdgeCreationVariableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable <em>Target Edge View Creation
+ * Variable</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.sirius.diagram.description.tool.TargetEdgeViewCreationVariable
+ * @generated
+ */
+ public Adapter createTargetEdgeViewCreationVariableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable <em>Element Double Click
+ * Variable</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.sirius.diagram.description.tool.ElementDoubleClickVariable
+ * @generated
+ */
+ public Adapter createElementDoubleClickVariableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.tool.NodeCreationVariable <em>Node Creation Variable</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.sirius.diagram.description.tool.NodeCreationVariable
+ * @generated
+ */
+ public Adapter createNodeCreationVariableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.tool.CreateView
+ * <em>Create View</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.sirius.diagram.description.tool.CreateView
+ * @generated
+ */
+ public Adapter createCreateViewAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.tool.CreateEdgeView
+ * <em>Create Edge View</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.sirius.diagram.description.tool.CreateEdgeView
+ * @generated
+ */
+ public Adapter createCreateEdgeViewAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.tool.Navigation
+ * <em>Navigation</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.sirius.diagram.description.tool.Navigation
+ * @generated
+ */
+ public Adapter createNavigationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription <em>Diagram Creation
+ * Description</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.sirius.diagram.description.tool.DiagramCreationDescription
+ * @generated
+ */
+ public Adapter createDiagramCreationDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription <em>Diagram Navigation
+ * Description</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.sirius.diagram.description.tool.DiagramNavigationDescription
+ * @generated
+ */
+ public Adapter createDiagramNavigationDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.tool.ContainerDropDescription <em>Container Drop
+ * Description</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.sirius.diagram.description.tool.ContainerDropDescription
+ * @generated
+ */
+ public Adapter createContainerDropDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * <em>Documented Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * @generated
+ */
+ public Adapter createDocumentedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * <em>Identified Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * @generated
+ */
+ public Adapter createIdentifiedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.tool.ToolEntry
+ * <em>Entry</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.tool.ToolEntry
+ * @generated
+ */
+ public Adapter createToolEntryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription <em>Abstract Tool
+ * Description</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.sirius.viewpoint.description.tool.AbstractToolDescription
+ * @generated
+ */
+ public Adapter createAbstractToolDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription <em>Mapping Based Tool
+ * Description</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.sirius.viewpoint.description.tool.MappingBasedToolDescription
+ * @generated
+ */
+ public Adapter createMappingBasedToolDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.AbstractVariable
+ * <em>Abstract Variable</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.sirius.viewpoint.description.AbstractVariable
+ * @generated
+ */
+ public Adapter createAbstractVariableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.viewpoint.description.tool.VariableContainer <em>Variable 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.sirius.viewpoint.description.tool.VariableContainer
+ * @generated
+ */
+ public Adapter createVariableContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.tool.ModelOperation
+ * <em>Model Operation</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.sirius.viewpoint.description.tool.ModelOperation
+ * @generated
+ */
+ public Adapter createModelOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.tool.ContainerModelOperation <em>Container Model
+ * Operation</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.sirius.viewpoint.description.tool.ContainerModelOperation
+ * @generated
+ */
+ public Adapter createContainerModelOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription <em>Representation
+ * Creation Description</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.sirius.viewpoint.description.tool.RepresentationCreationDescription
+ * @generated
+ */
+ public Adapter createRepresentationCreationDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.tool.RepresentationNavigationDescription <em>Representation
+ * Navigation Description</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.sirius.viewpoint.description.tool.RepresentationNavigationDescription
+ * @generated
+ */
+ public Adapter createRepresentationNavigationDescriptionAdapter() {
+ 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;
+ }
+
+} // ToolAdapterFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/util/ToolSwitch.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/util/ToolSwitch.java
new file mode 100644
index 0000000000..cc70a92709
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/tool/util/ToolSwitch.java
@@ -0,0 +1,1145 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.tool.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.diagram.description.tool.BehaviorTool;
+import org.eclipse.sirius.diagram.description.tool.ContainerCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ContainerDropDescription;
+import org.eclipse.sirius.diagram.description.tool.CreateEdgeView;
+import org.eclipse.sirius.diagram.description.tool.CreateView;
+import org.eclipse.sirius.diagram.description.tool.DeleteElementDescription;
+import org.eclipse.sirius.diagram.description.tool.DeleteHook;
+import org.eclipse.sirius.diagram.description.tool.DeleteHookParameter;
+import org.eclipse.sirius.diagram.description.tool.DiagramCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.DiagramNavigationDescription;
+import org.eclipse.sirius.diagram.description.tool.DirectEditLabel;
+import org.eclipse.sirius.diagram.description.tool.DoubleClickDescription;
+import org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.ElementDoubleClickVariable;
+import org.eclipse.sirius.diagram.description.tool.Navigation;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationDescription;
+import org.eclipse.sirius.diagram.description.tool.NodeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription;
+import org.eclipse.sirius.diagram.description.tool.RequestDescription;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.SourceEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.TargetEdgeViewCreationVariable;
+import org.eclipse.sirius.diagram.description.tool.ToolGroup;
+import org.eclipse.sirius.diagram.description.tool.ToolGroupExtension;
+import org.eclipse.sirius.diagram.description.tool.ToolPackage;
+import org.eclipse.sirius.diagram.description.tool.ToolSection;
+import org.eclipse.sirius.viewpoint.description.AbstractVariable;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.tool.AbstractToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ContainerModelOperation;
+import org.eclipse.sirius.viewpoint.description.tool.MappingBasedToolDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ModelOperation;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription;
+import org.eclipse.sirius.viewpoint.description.tool.RepresentationNavigationDescription;
+import org.eclipse.sirius.viewpoint.description.tool.ToolEntry;
+import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+
+/**
+ * <!-- 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.sirius.diagram.description.tool.ToolPackage
+ * @generated
+ */
+public class ToolSwitch<T> {
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ToolPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ToolSwitch() {
+ if (ToolSwitch.modelPackage == null) {
+ ToolSwitch.modelPackage = ToolPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == ToolSwitch.modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ } else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ToolPackage.TOOL_SECTION: {
+ ToolSection toolSection = (ToolSection) theEObject;
+ T result = caseToolSection(toolSection);
+ if (result == null) {
+ result = caseDocumentedElement(toolSection);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(toolSection);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.TOOL_GROUP: {
+ ToolGroup toolGroup = (ToolGroup) theEObject;
+ T result = caseToolGroup(toolGroup);
+ if (result == null) {
+ result = caseToolEntry(toolGroup);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(toolGroup);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(toolGroup);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.TOOL_GROUP_EXTENSION: {
+ ToolGroupExtension toolGroupExtension = (ToolGroupExtension) theEObject;
+ T result = caseToolGroupExtension(toolGroupExtension);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.NODE_CREATION_DESCRIPTION: {
+ NodeCreationDescription nodeCreationDescription = (NodeCreationDescription) theEObject;
+ T result = caseNodeCreationDescription(nodeCreationDescription);
+ if (result == null) {
+ result = caseMappingBasedToolDescription(nodeCreationDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(nodeCreationDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(nodeCreationDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(nodeCreationDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(nodeCreationDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.EDGE_CREATION_DESCRIPTION: {
+ EdgeCreationDescription edgeCreationDescription = (EdgeCreationDescription) theEObject;
+ T result = caseEdgeCreationDescription(edgeCreationDescription);
+ if (result == null) {
+ result = caseMappingBasedToolDescription(edgeCreationDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(edgeCreationDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(edgeCreationDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(edgeCreationDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(edgeCreationDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.CONTAINER_CREATION_DESCRIPTION: {
+ ContainerCreationDescription containerCreationDescription = (ContainerCreationDescription) theEObject;
+ T result = caseContainerCreationDescription(containerCreationDescription);
+ if (result == null) {
+ result = caseMappingBasedToolDescription(containerCreationDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(containerCreationDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(containerCreationDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(containerCreationDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(containerCreationDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.DELETE_ELEMENT_DESCRIPTION: {
+ DeleteElementDescription deleteElementDescription = (DeleteElementDescription) theEObject;
+ T result = caseDeleteElementDescription(deleteElementDescription);
+ if (result == null) {
+ result = caseMappingBasedToolDescription(deleteElementDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(deleteElementDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(deleteElementDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(deleteElementDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(deleteElementDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.DOUBLE_CLICK_DESCRIPTION: {
+ DoubleClickDescription doubleClickDescription = (DoubleClickDescription) theEObject;
+ T result = caseDoubleClickDescription(doubleClickDescription);
+ if (result == null) {
+ result = caseMappingBasedToolDescription(doubleClickDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(doubleClickDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(doubleClickDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(doubleClickDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(doubleClickDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.DELETE_HOOK: {
+ DeleteHook deleteHook = (DeleteHook) theEObject;
+ T result = caseDeleteHook(deleteHook);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.DELETE_HOOK_PARAMETER: {
+ DeleteHookParameter deleteHookParameter = (DeleteHookParameter) theEObject;
+ T result = caseDeleteHookParameter(deleteHookParameter);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.RECONNECT_EDGE_DESCRIPTION: {
+ ReconnectEdgeDescription reconnectEdgeDescription = (ReconnectEdgeDescription) theEObject;
+ T result = caseReconnectEdgeDescription(reconnectEdgeDescription);
+ if (result == null) {
+ result = caseMappingBasedToolDescription(reconnectEdgeDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(reconnectEdgeDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(reconnectEdgeDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(reconnectEdgeDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(reconnectEdgeDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.REQUEST_DESCRIPTION: {
+ RequestDescription requestDescription = (RequestDescription) theEObject;
+ T result = caseRequestDescription(requestDescription);
+ if (result == null) {
+ result = caseAbstractToolDescription(requestDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(requestDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(requestDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(requestDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.DIRECT_EDIT_LABEL: {
+ DirectEditLabel directEditLabel = (DirectEditLabel) theEObject;
+ T result = caseDirectEditLabel(directEditLabel);
+ if (result == null) {
+ result = caseMappingBasedToolDescription(directEditLabel);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(directEditLabel);
+ }
+ if (result == null) {
+ result = caseToolEntry(directEditLabel);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(directEditLabel);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(directEditLabel);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.BEHAVIOR_TOOL: {
+ BehaviorTool behaviorTool = (BehaviorTool) theEObject;
+ T result = caseBehaviorTool(behaviorTool);
+ if (result == null) {
+ result = caseAbstractToolDescription(behaviorTool);
+ }
+ if (result == null) {
+ result = caseToolEntry(behaviorTool);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(behaviorTool);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(behaviorTool);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.SOURCE_EDGE_CREATION_VARIABLE: {
+ SourceEdgeCreationVariable sourceEdgeCreationVariable = (SourceEdgeCreationVariable) theEObject;
+ T result = caseSourceEdgeCreationVariable(sourceEdgeCreationVariable);
+ if (result == null) {
+ result = caseAbstractVariable(sourceEdgeCreationVariable);
+ }
+ if (result == null) {
+ result = caseVariableContainer(sourceEdgeCreationVariable);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.SOURCE_EDGE_VIEW_CREATION_VARIABLE: {
+ SourceEdgeViewCreationVariable sourceEdgeViewCreationVariable = (SourceEdgeViewCreationVariable) theEObject;
+ T result = caseSourceEdgeViewCreationVariable(sourceEdgeViewCreationVariable);
+ if (result == null) {
+ result = caseAbstractVariable(sourceEdgeViewCreationVariable);
+ }
+ if (result == null) {
+ result = caseVariableContainer(sourceEdgeViewCreationVariable);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.TARGET_EDGE_CREATION_VARIABLE: {
+ TargetEdgeCreationVariable targetEdgeCreationVariable = (TargetEdgeCreationVariable) theEObject;
+ T result = caseTargetEdgeCreationVariable(targetEdgeCreationVariable);
+ if (result == null) {
+ result = caseAbstractVariable(targetEdgeCreationVariable);
+ }
+ if (result == null) {
+ result = caseVariableContainer(targetEdgeCreationVariable);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.TARGET_EDGE_VIEW_CREATION_VARIABLE: {
+ TargetEdgeViewCreationVariable targetEdgeViewCreationVariable = (TargetEdgeViewCreationVariable) theEObject;
+ T result = caseTargetEdgeViewCreationVariable(targetEdgeViewCreationVariable);
+ if (result == null) {
+ result = caseAbstractVariable(targetEdgeViewCreationVariable);
+ }
+ if (result == null) {
+ result = caseVariableContainer(targetEdgeViewCreationVariable);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.ELEMENT_DOUBLE_CLICK_VARIABLE: {
+ ElementDoubleClickVariable elementDoubleClickVariable = (ElementDoubleClickVariable) theEObject;
+ T result = caseElementDoubleClickVariable(elementDoubleClickVariable);
+ if (result == null) {
+ result = caseAbstractVariable(elementDoubleClickVariable);
+ }
+ if (result == null) {
+ result = caseVariableContainer(elementDoubleClickVariable);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.NODE_CREATION_VARIABLE: {
+ NodeCreationVariable nodeCreationVariable = (NodeCreationVariable) theEObject;
+ T result = caseNodeCreationVariable(nodeCreationVariable);
+ if (result == null) {
+ result = caseAbstractVariable(nodeCreationVariable);
+ }
+ if (result == null) {
+ result = caseVariableContainer(nodeCreationVariable);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.CREATE_VIEW: {
+ CreateView createView = (CreateView) theEObject;
+ T result = caseCreateView(createView);
+ if (result == null) {
+ result = caseContainerModelOperation(createView);
+ }
+ if (result == null) {
+ result = caseModelOperation(createView);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.CREATE_EDGE_VIEW: {
+ CreateEdgeView createEdgeView = (CreateEdgeView) theEObject;
+ T result = caseCreateEdgeView(createEdgeView);
+ if (result == null) {
+ result = caseCreateView(createEdgeView);
+ }
+ if (result == null) {
+ result = caseContainerModelOperation(createEdgeView);
+ }
+ if (result == null) {
+ result = caseModelOperation(createEdgeView);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.NAVIGATION: {
+ Navigation navigation = (Navigation) theEObject;
+ T result = caseNavigation(navigation);
+ if (result == null) {
+ result = caseContainerModelOperation(navigation);
+ }
+ if (result == null) {
+ result = caseModelOperation(navigation);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.DIAGRAM_CREATION_DESCRIPTION: {
+ DiagramCreationDescription diagramCreationDescription = (DiagramCreationDescription) theEObject;
+ T result = caseDiagramCreationDescription(diagramCreationDescription);
+ if (result == null) {
+ result = caseRepresentationCreationDescription(diagramCreationDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(diagramCreationDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(diagramCreationDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(diagramCreationDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(diagramCreationDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.DIAGRAM_NAVIGATION_DESCRIPTION: {
+ DiagramNavigationDescription diagramNavigationDescription = (DiagramNavigationDescription) theEObject;
+ T result = caseDiagramNavigationDescription(diagramNavigationDescription);
+ if (result == null) {
+ result = caseRepresentationNavigationDescription(diagramNavigationDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(diagramNavigationDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(diagramNavigationDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(diagramNavigationDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(diagramNavigationDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case ToolPackage.CONTAINER_DROP_DESCRIPTION: {
+ ContainerDropDescription containerDropDescription = (ContainerDropDescription) theEObject;
+ T result = caseContainerDropDescription(containerDropDescription);
+ if (result == null) {
+ result = caseMappingBasedToolDescription(containerDropDescription);
+ }
+ if (result == null) {
+ result = caseAbstractToolDescription(containerDropDescription);
+ }
+ if (result == null) {
+ result = caseToolEntry(containerDropDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(containerDropDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(containerDropDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Section</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>Section</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseToolSection(ToolSection object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Group</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>Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseToolGroup(ToolGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Group Extension</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>Group Extension</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseToolGroupExtension(ToolGroupExtension object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node Creation Description</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 Creation Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeCreationDescription(NodeCreationDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Edge Creation Description</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>Edge Creation Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEdgeCreationDescription(EdgeCreationDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container Creation Description</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>Container Creation Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainerCreationDescription(ContainerCreationDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Delete Element Description</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>Delete Element Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeleteElementDescription(DeleteElementDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Double Click Description</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>Double Click Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDoubleClickDescription(DoubleClickDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Delete Hook</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>Delete Hook</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeleteHook(DeleteHook object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Delete Hook Parameter</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Delete Hook Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeleteHookParameter(DeleteHookParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Reconnect Edge Description</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>Reconnect Edge Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReconnectEdgeDescription(ReconnectEdgeDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Request Description</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>Request Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequestDescription(RequestDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Direct Edit Label</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>Direct Edit Label</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDirectEditLabel(DirectEditLabel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Behavior Tool</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>Behavior Tool</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBehaviorTool(BehaviorTool object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Source Edge Creation Variable</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>Source Edge Creation Variable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSourceEdgeCreationVariable(SourceEdgeCreationVariable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Source Edge View Creation Variable</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>Source Edge View Creation Variable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSourceEdgeViewCreationVariable(SourceEdgeViewCreationVariable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Target Edge Creation Variable</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>Target Edge Creation Variable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTargetEdgeCreationVariable(TargetEdgeCreationVariable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Target Edge View Creation Variable</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>Target Edge View Creation Variable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTargetEdgeViewCreationVariable(TargetEdgeViewCreationVariable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Double Click Variable</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element Double Click Variable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementDoubleClickVariable(ElementDoubleClickVariable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node Creation Variable</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 Creation Variable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeCreationVariable(NodeCreationVariable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Create View</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>Create View</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCreateView(CreateView object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Create Edge View</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>Create Edge View</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCreateEdgeView(CreateEdgeView object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Navigation</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>Navigation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNavigation(Navigation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Diagram Creation Description</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>Diagram Creation Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagramCreationDescription(DiagramCreationDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Diagram Navigation Description</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>Diagram Navigation Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagramNavigationDescription(DiagramNavigationDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container Drop Description</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>Container Drop Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainerDropDescription(ContainerDropDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documented Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentedElement(DocumentedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Identified Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Identified Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdentifiedElement(IdentifiedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Entry</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Entry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseToolEntry(ToolEntry object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Tool Description</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Tool Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractToolDescription(AbstractToolDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Mapping Based Tool Description</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>Mapping Based Tool Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMappingBasedToolDescription(MappingBasedToolDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Variable</em>'. <!-- begin-user-doc
+ * --> This implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc
+ * -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Variable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractVariable(AbstractVariable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Variable 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>Variable Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVariableContainer(VariableContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Operation</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>Model Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelOperation(ModelOperation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container Model Operation</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>Container Model Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainerModelOperation(ContainerModelOperation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Representation Creation Description</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>Representation Creation Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRepresentationCreationDescription(RepresentationCreationDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Representation Navigation Description</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>Representation Navigation Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRepresentationNavigationDescription(RepresentationNavigationDescription 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // ToolSwitch
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/util/DescriptionAdapterFactory.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/util/DescriptionAdapterFactory.java
new file mode 100644
index 0000000000..9412221256
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/util/DescriptionAdapterFactory.java
@@ -0,0 +1,959 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.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.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.AdditionalLayer;
+import org.eclipse.sirius.diagram.description.BooleanLayoutOption;
+import org.eclipse.sirius.diagram.description.CompositeLayout;
+import org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.ContainerMappingImport;
+import org.eclipse.sirius.diagram.description.CustomLayoutConfiguration;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.DiagramExtensionDescription;
+import org.eclipse.sirius.diagram.description.DiagramImportDescription;
+import org.eclipse.sirius.diagram.description.DoubleLayoutOption;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.EnumLayoutOption;
+import org.eclipse.sirius.diagram.description.EnumLayoutValue;
+import org.eclipse.sirius.diagram.description.EnumOption;
+import org.eclipse.sirius.diagram.description.EnumSetLayoutOption;
+import org.eclipse.sirius.diagram.description.IEdgeMapping;
+import org.eclipse.sirius.diagram.description.IntegerLayoutOption;
+import org.eclipse.sirius.diagram.description.Layer;
+import org.eclipse.sirius.diagram.description.Layout;
+import org.eclipse.sirius.diagram.description.LayoutOption;
+import org.eclipse.sirius.diagram.description.MappingBasedDecoration;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.NodeMappingImport;
+import org.eclipse.sirius.diagram.description.OrderedTreeLayout;
+import org.eclipse.sirius.diagram.description.StringLayoutOption;
+import org.eclipse.sirius.viewpoint.description.AbstractMappingImport;
+import org.eclipse.sirius.viewpoint.description.ConditionalStyleDescription;
+import org.eclipse.sirius.viewpoint.description.DecorationDescription;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.EndUserDocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.PasteTargetDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationElementMapping;
+import org.eclipse.sirius.viewpoint.description.RepresentationExtensionDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationImportDescription;
+
+/**
+ * <!-- 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.sirius.diagram.description.DescriptionPackage
+ * @generated
+ */
+public class DescriptionAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DescriptionPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DescriptionAdapterFactory() {
+ if (DescriptionAdapterFactory.modelPackage == null) {
+ DescriptionAdapterFactory.modelPackage = DescriptionPackage.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 == DescriptionAdapterFactory.modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == DescriptionAdapterFactory.modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DescriptionSwitch<Adapter> modelSwitch = new DescriptionSwitch<Adapter>() {
+ @Override
+ public Adapter caseDiagramDescription(DiagramDescription object) {
+ return createDiagramDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDiagramImportDescription(DiagramImportDescription object) {
+ return createDiagramImportDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDiagramExtensionDescription(DiagramExtensionDescription object) {
+ return createDiagramExtensionDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDiagramElementMapping(DiagramElementMapping object) {
+ return createDiagramElementMappingAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractNodeMapping(AbstractNodeMapping object) {
+ return createAbstractNodeMappingAdapter();
+ }
+
+ @Override
+ public Adapter caseNodeMapping(NodeMapping object) {
+ return createNodeMappingAdapter();
+ }
+
+ @Override
+ public Adapter caseContainerMapping(ContainerMapping object) {
+ return createContainerMappingAdapter();
+ }
+
+ @Override
+ public Adapter caseNodeMappingImport(NodeMappingImport object) {
+ return createNodeMappingImportAdapter();
+ }
+
+ @Override
+ public Adapter caseContainerMappingImport(ContainerMappingImport object) {
+ return createContainerMappingImportAdapter();
+ }
+
+ @Override
+ public Adapter caseEdgeMapping(EdgeMapping object) {
+ return createEdgeMappingAdapter();
+ }
+
+ @Override
+ public Adapter caseIEdgeMapping(IEdgeMapping object) {
+ return createIEdgeMappingAdapter();
+ }
+
+ @Override
+ public Adapter caseEdgeMappingImport(EdgeMappingImport object) {
+ return createEdgeMappingImportAdapter();
+ }
+
+ @Override
+ public Adapter caseConditionalNodeStyleDescription(ConditionalNodeStyleDescription object) {
+ return createConditionalNodeStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseConditionalEdgeStyleDescription(ConditionalEdgeStyleDescription object) {
+ return createConditionalEdgeStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseConditionalContainerStyleDescription(ConditionalContainerStyleDescription object) {
+ return createConditionalContainerStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseLayout(Layout object) {
+ return createLayoutAdapter();
+ }
+
+ @Override
+ public Adapter caseOrderedTreeLayout(OrderedTreeLayout object) {
+ return createOrderedTreeLayoutAdapter();
+ }
+
+ @Override
+ public Adapter caseCompositeLayout(CompositeLayout object) {
+ return createCompositeLayoutAdapter();
+ }
+
+ @Override
+ public Adapter caseCustomLayoutConfiguration(CustomLayoutConfiguration object) {
+ return createCustomLayoutConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter caseLayoutOption(LayoutOption object) {
+ return createLayoutOptionAdapter();
+ }
+
+ @Override
+ public Adapter caseBooleanLayoutOption(BooleanLayoutOption object) {
+ return createBooleanLayoutOptionAdapter();
+ }
+
+ @Override
+ public Adapter caseStringLayoutOption(StringLayoutOption object) {
+ return createStringLayoutOptionAdapter();
+ }
+
+ @Override
+ public Adapter caseIntegerLayoutOption(IntegerLayoutOption object) {
+ return createIntegerLayoutOptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDoubleLayoutOption(DoubleLayoutOption object) {
+ return createDoubleLayoutOptionAdapter();
+ }
+
+ @Override
+ public Adapter caseEnumLayoutOption(EnumLayoutOption object) {
+ return createEnumLayoutOptionAdapter();
+ }
+
+ @Override
+ public Adapter caseEnumSetLayoutOption(EnumSetLayoutOption object) {
+ return createEnumSetLayoutOptionAdapter();
+ }
+
+ @Override
+ public Adapter caseEnumOption(EnumOption object) {
+ return createEnumOptionAdapter();
+ }
+
+ @Override
+ public Adapter caseEnumLayoutValue(EnumLayoutValue object) {
+ return createEnumLayoutValueAdapter();
+ }
+
+ @Override
+ public Adapter caseMappingBasedDecoration(MappingBasedDecoration object) {
+ return createMappingBasedDecorationAdapter();
+ }
+
+ @Override
+ public Adapter caseLayer(Layer object) {
+ return createLayerAdapter();
+ }
+
+ @Override
+ public Adapter caseAdditionalLayer(AdditionalLayer object) {
+ return createAdditionalLayerAdapter();
+ }
+
+ @Override
+ public Adapter caseDragAndDropTargetDescription(DragAndDropTargetDescription object) {
+ return createDragAndDropTargetDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDocumentedElement(DocumentedElement object) {
+ return createDocumentedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseEndUserDocumentedElement(EndUserDocumentedElement object) {
+ return createEndUserDocumentedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseIdentifiedElement(IdentifiedElement object) {
+ return createIdentifiedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseRepresentationDescription(RepresentationDescription object) {
+ return createRepresentationDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter casePasteTargetDescription(PasteTargetDescription object) {
+ return createPasteTargetDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseRepresentationImportDescription(RepresentationImportDescription object) {
+ return createRepresentationImportDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseRepresentationExtensionDescription(RepresentationExtensionDescription object) {
+ return createRepresentationExtensionDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseRepresentationElementMapping(RepresentationElementMapping object) {
+ return createRepresentationElementMappingAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractMappingImport(AbstractMappingImport object) {
+ return createAbstractMappingImportAdapter();
+ }
+
+ @Override
+ public Adapter caseConditionalStyleDescription(ConditionalStyleDescription object) {
+ return createConditionalStyleDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseDecorationDescription(DecorationDescription object) {
+ return createDecorationDescriptionAdapter();
+ }
+
+ @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.sirius.diagram.description.DiagramDescription
+ * <em>Diagram Description</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.sirius.diagram.description.DiagramDescription
+ * @generated
+ */
+ public Adapter createDiagramDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.DiagramImportDescription <em>Diagram Import Description</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.sirius.diagram.description.DiagramImportDescription
+ * @generated
+ */
+ public Adapter createDiagramImportDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.DiagramExtensionDescription <em>Diagram Extension
+ * Description</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.sirius.diagram.description.DiagramExtensionDescription
+ * @generated
+ */
+ public Adapter createDiagramExtensionDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.DiagramElementMapping
+ * <em>Diagram Element Mapping</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.sirius.diagram.description.DiagramElementMapping
+ * @generated
+ */
+ public Adapter createDiagramElementMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.AbstractNodeMapping
+ * <em>Abstract Node Mapping</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.sirius.diagram.description.AbstractNodeMapping
+ * @generated
+ */
+ public Adapter createAbstractNodeMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.NodeMapping <em>Node
+ * Mapping</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.sirius.diagram.description.NodeMapping
+ * @generated
+ */
+ public Adapter createNodeMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.ContainerMapping
+ * <em>Container Mapping</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.sirius.diagram.description.ContainerMapping
+ * @generated
+ */
+ public Adapter createContainerMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.NodeMappingImport
+ * <em>Node Mapping Import</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.sirius.diagram.description.NodeMappingImport
+ * @generated
+ */
+ public Adapter createNodeMappingImportAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.ContainerMappingImport <em>Container Mapping Import</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.sirius.diagram.description.ContainerMappingImport
+ * @generated
+ */
+ public Adapter createContainerMappingImportAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.EdgeMapping <em>Edge
+ * Mapping</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.sirius.diagram.description.EdgeMapping
+ * @generated
+ */
+ public Adapter createEdgeMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.IEdgeMapping
+ * <em>IEdge Mapping</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.sirius.diagram.description.IEdgeMapping
+ * @generated
+ */
+ public Adapter createIEdgeMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.EdgeMappingImport
+ * <em>Edge Mapping Import</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.sirius.diagram.description.EdgeMappingImport
+ * @generated
+ */
+ public Adapter createEdgeMappingImportAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription <em>Conditional Node Style
+ * Description</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.sirius.diagram.description.ConditionalNodeStyleDescription
+ * @generated
+ */
+ public Adapter createConditionalNodeStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription <em>Conditional Edge Style
+ * Description</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.sirius.diagram.description.ConditionalEdgeStyleDescription
+ * @generated
+ */
+ public Adapter createConditionalEdgeStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription <em>Conditional Container
+ * Style Description</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.sirius.diagram.description.ConditionalContainerStyleDescription
+ * @generated
+ */
+ public Adapter createConditionalContainerStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.Layout
+ * <em>Layout</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.sirius.diagram.description.Layout
+ * @generated
+ */
+ public Adapter createLayoutAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.OrderedTreeLayout
+ * <em>Ordered Tree Layout</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.sirius.diagram.description.OrderedTreeLayout
+ * @generated
+ */
+ public Adapter createOrderedTreeLayoutAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.CompositeLayout
+ * <em>Composite Layout</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.sirius.diagram.description.CompositeLayout
+ * @generated
+ */
+ public Adapter createCompositeLayoutAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.CustomLayoutConfiguration <em>Custom Layout Configuration</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.sirius.diagram.description.CustomLayoutConfiguration
+ * @generated
+ */
+ public Adapter createCustomLayoutConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.LayoutOption
+ * <em>Layout Option</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.sirius.diagram.description.LayoutOption
+ * @generated
+ */
+ public Adapter createLayoutOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.BooleanLayoutOption
+ * <em>Boolean Layout Option</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.sirius.diagram.description.BooleanLayoutOption
+ * @generated
+ */
+ public Adapter createBooleanLayoutOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.StringLayoutOption
+ * <em>String Layout Option</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.sirius.diagram.description.StringLayoutOption
+ * @generated
+ */
+ public Adapter createStringLayoutOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.IntegerLayoutOption
+ * <em>Integer Layout Option</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.sirius.diagram.description.IntegerLayoutOption
+ * @generated
+ */
+ public Adapter createIntegerLayoutOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.DoubleLayoutOption
+ * <em>Double Layout Option</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.sirius.diagram.description.DoubleLayoutOption
+ * @generated
+ */
+ public Adapter createDoubleLayoutOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.EnumLayoutOption
+ * <em>Enum Layout Option</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.sirius.diagram.description.EnumLayoutOption
+ * @generated
+ */
+ public Adapter createEnumLayoutOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.EnumSetLayoutOption
+ * <em>Enum Set Layout Option</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.sirius.diagram.description.EnumSetLayoutOption
+ * @generated
+ */
+ public Adapter createEnumSetLayoutOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.EnumOption <em>Enum
+ * Option</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.sirius.diagram.description.EnumOption
+ * @generated
+ */
+ public Adapter createEnumOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.EnumLayoutValue
+ * <em>Enum Layout Value</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.sirius.diagram.description.EnumLayoutValue
+ * @generated
+ */
+ public Adapter createEnumLayoutValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.diagram.description.MappingBasedDecoration <em>Mapping Based Decoration</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.sirius.diagram.description.MappingBasedDecoration
+ * @generated
+ */
+ public Adapter createMappingBasedDecorationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.Layer
+ * <em>Layer</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.sirius.diagram.description.Layer
+ * @generated
+ */
+ public Adapter createLayerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.diagram.description.AdditionalLayer
+ * <em>Additional Layer</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.sirius.diagram.description.AdditionalLayer
+ * @generated
+ */
+ public Adapter createAdditionalLayerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.diagram.description.DragAndDropTargetDescription <em>Drag And Drop Target
+ * Description</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.sirius.diagram.description.DragAndDropTargetDescription
+ * @generated
+ */
+ public Adapter createDragAndDropTargetDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * <em>Documented Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * @generated
+ */
+ public Adapter createDocumentedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.EndUserDocumentedElement <em>End User Documented Element</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful
+ * to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.EndUserDocumentedElement
+ * @generated
+ */
+ public Adapter createEndUserDocumentedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * <em>Identified Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * @generated
+ */
+ public Adapter createIdentifiedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.RepresentationDescription <em>Representation Description</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.sirius.viewpoint.description.RepresentationDescription
+ * @generated
+ */
+ public Adapter createRepresentationDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.viewpoint.description.PasteTargetDescription <em>Paste Target Description</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.sirius.viewpoint.description.PasteTargetDescription
+ * @generated
+ */
+ public Adapter createPasteTargetDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.RepresentationImportDescription <em>Representation Import
+ * Description</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.sirius.viewpoint.description.RepresentationImportDescription
+ * @generated
+ */
+ public Adapter createRepresentationImportDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.RepresentationExtensionDescription <em>Representation Extension
+ * Description</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.sirius.viewpoint.description.RepresentationExtensionDescription
+ * @generated
+ */
+ public Adapter createRepresentationExtensionDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.RepresentationElementMapping <em>Representation Element
+ * Mapping</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.sirius.viewpoint.description.RepresentationElementMapping
+ * @generated
+ */
+ public Adapter createRepresentationElementMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.viewpoint.description.AbstractMappingImport <em>Abstract Mapping Import</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.sirius.viewpoint.description.AbstractMappingImport
+ * @generated
+ */
+ public Adapter createAbstractMappingImportAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.sirius.viewpoint.description.ConditionalStyleDescription <em>Conditional Style
+ * Description</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.sirius.viewpoint.description.ConditionalStyleDescription
+ * @generated
+ */
+ public Adapter createConditionalStyleDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.sirius.viewpoint.description.DecorationDescription <em>Decoration Description</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.sirius.viewpoint.description.DecorationDescription
+ * @generated
+ */
+ public Adapter createDecorationDescriptionAdapter() {
+ 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;
+ }
+
+} // DescriptionAdapterFactory
diff --git a/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/util/DescriptionSwitch.java b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/util/DescriptionSwitch.java
new file mode 100644
index 0000000000..ab49257b5d
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.model/src-gen/org/eclipse/sirius/diagram/description/util/DescriptionSwitch.java
@@ -0,0 +1,1317 @@
+/**
+ * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.diagram.description.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.diagram.description.AbstractNodeMapping;
+import org.eclipse.sirius.diagram.description.AdditionalLayer;
+import org.eclipse.sirius.diagram.description.BooleanLayoutOption;
+import org.eclipse.sirius.diagram.description.CompositeLayout;
+import org.eclipse.sirius.diagram.description.ConditionalContainerStyleDescription;
+import org.eclipse.sirius.diagram.description.ConditionalEdgeStyleDescription;
+import org.eclipse.sirius.diagram.description.ConditionalNodeStyleDescription;
+import org.eclipse.sirius.diagram.description.ContainerMapping;
+import org.eclipse.sirius.diagram.description.ContainerMappingImport;
+import org.eclipse.sirius.diagram.description.CustomLayoutConfiguration;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
+import org.eclipse.sirius.diagram.description.DiagramDescription;
+import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.description.DiagramExtensionDescription;
+import org.eclipse.sirius.diagram.description.DiagramImportDescription;
+import org.eclipse.sirius.diagram.description.DoubleLayoutOption;
+import org.eclipse.sirius.diagram.description.DragAndDropTargetDescription;
+import org.eclipse.sirius.diagram.description.EdgeMapping;
+import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.EnumLayoutOption;
+import org.eclipse.sirius.diagram.description.EnumLayoutValue;
+import org.eclipse.sirius.diagram.description.EnumOption;
+import org.eclipse.sirius.diagram.description.EnumSetLayoutOption;
+import org.eclipse.sirius.diagram.description.IEdgeMapping;
+import org.eclipse.sirius.diagram.description.IntegerLayoutOption;
+import org.eclipse.sirius.diagram.description.Layer;
+import org.eclipse.sirius.diagram.description.Layout;
+import org.eclipse.sirius.diagram.description.LayoutOption;
+import org.eclipse.sirius.diagram.description.MappingBasedDecoration;
+import org.eclipse.sirius.diagram.description.NodeMapping;
+import org.eclipse.sirius.diagram.description.NodeMappingImport;
+import org.eclipse.sirius.diagram.description.OrderedTreeLayout;
+import org.eclipse.sirius.diagram.description.StringLayoutOption;
+import org.eclipse.sirius.viewpoint.description.AbstractMappingImport;
+import org.eclipse.sirius.viewpoint.description.ConditionalStyleDescription;
+import org.eclipse.sirius.viewpoint.description.DecorationDescription;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.EndUserDocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.PasteTargetDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationElementMapping;
+import org.eclipse.sirius.viewpoint.description.RepresentationExtensionDescription;
+import org.eclipse.sirius.viewpoint.description.RepresentationImportDescription;
+
+/**
+ * <!-- 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.sirius.diagram.description.DescriptionPackage
+ * @generated
+ */
+public class DescriptionSwitch<T> {
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DescriptionPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DescriptionSwitch() {
+ if (DescriptionSwitch.modelPackage == null) {
+ DescriptionSwitch.modelPackage = DescriptionPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == DescriptionSwitch.modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ } else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case DescriptionPackage.DIAGRAM_DESCRIPTION: {
+ DiagramDescription diagramDescription = (DiagramDescription) theEObject;
+ T result = caseDiagramDescription(diagramDescription);
+ if (result == null) {
+ result = caseDragAndDropTargetDescription(diagramDescription);
+ }
+ if (result == null) {
+ result = caseRepresentationDescription(diagramDescription);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(diagramDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(diagramDescription);
+ }
+ if (result == null) {
+ result = caseEndUserDocumentedElement(diagramDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(diagramDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.DIAGRAM_IMPORT_DESCRIPTION: {
+ DiagramImportDescription diagramImportDescription = (DiagramImportDescription) theEObject;
+ T result = caseDiagramImportDescription(diagramImportDescription);
+ if (result == null) {
+ result = caseRepresentationImportDescription(diagramImportDescription);
+ }
+ if (result == null) {
+ result = caseDiagramDescription(diagramImportDescription);
+ }
+ if (result == null) {
+ result = caseRepresentationDescription(diagramImportDescription);
+ }
+ if (result == null) {
+ result = caseDragAndDropTargetDescription(diagramImportDescription);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(diagramImportDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(diagramImportDescription);
+ }
+ if (result == null) {
+ result = caseEndUserDocumentedElement(diagramImportDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(diagramImportDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.DIAGRAM_EXTENSION_DESCRIPTION: {
+ DiagramExtensionDescription diagramExtensionDescription = (DiagramExtensionDescription) theEObject;
+ T result = caseDiagramExtensionDescription(diagramExtensionDescription);
+ if (result == null) {
+ result = caseRepresentationExtensionDescription(diagramExtensionDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.DIAGRAM_ELEMENT_MAPPING: {
+ DiagramElementMapping diagramElementMapping = (DiagramElementMapping) theEObject;
+ T result = caseDiagramElementMapping(diagramElementMapping);
+ if (result == null) {
+ result = caseRepresentationElementMapping(diagramElementMapping);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(diagramElementMapping);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(diagramElementMapping);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.ABSTRACT_NODE_MAPPING: {
+ AbstractNodeMapping abstractNodeMapping = (AbstractNodeMapping) theEObject;
+ T result = caseAbstractNodeMapping(abstractNodeMapping);
+ if (result == null) {
+ result = caseDiagramElementMapping(abstractNodeMapping);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(abstractNodeMapping);
+ }
+ if (result == null) {
+ result = caseRepresentationElementMapping(abstractNodeMapping);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(abstractNodeMapping);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(abstractNodeMapping);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.NODE_MAPPING: {
+ NodeMapping nodeMapping = (NodeMapping) theEObject;
+ T result = caseNodeMapping(nodeMapping);
+ if (result == null) {
+ result = caseAbstractNodeMapping(nodeMapping);
+ }
+ if (result == null) {
+ result = caseDragAndDropTargetDescription(nodeMapping);
+ }
+ if (result == null) {
+ result = caseDiagramElementMapping(nodeMapping);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(nodeMapping);
+ }
+ if (result == null) {
+ result = caseRepresentationElementMapping(nodeMapping);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(nodeMapping);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(nodeMapping);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.CONTAINER_MAPPING: {
+ ContainerMapping containerMapping = (ContainerMapping) theEObject;
+ T result = caseContainerMapping(containerMapping);
+ if (result == null) {
+ result = caseAbstractNodeMapping(containerMapping);
+ }
+ if (result == null) {
+ result = caseDragAndDropTargetDescription(containerMapping);
+ }
+ if (result == null) {
+ result = caseDiagramElementMapping(containerMapping);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(containerMapping);
+ }
+ if (result == null) {
+ result = caseRepresentationElementMapping(containerMapping);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(containerMapping);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(containerMapping);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.NODE_MAPPING_IMPORT: {
+ NodeMappingImport nodeMappingImport = (NodeMappingImport) theEObject;
+ T result = caseNodeMappingImport(nodeMappingImport);
+ if (result == null) {
+ result = caseNodeMapping(nodeMappingImport);
+ }
+ if (result == null) {
+ result = caseAbstractMappingImport(nodeMappingImport);
+ }
+ if (result == null) {
+ result = caseAbstractNodeMapping(nodeMappingImport);
+ }
+ if (result == null) {
+ result = caseDragAndDropTargetDescription(nodeMappingImport);
+ }
+ if (result == null) {
+ result = caseDiagramElementMapping(nodeMappingImport);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(nodeMappingImport);
+ }
+ if (result == null) {
+ result = caseRepresentationElementMapping(nodeMappingImport);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(nodeMappingImport);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(nodeMappingImport);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.CONTAINER_MAPPING_IMPORT: {
+ ContainerMappingImport containerMappingImport = (ContainerMappingImport) theEObject;
+ T result = caseContainerMappingImport(containerMappingImport);
+ if (result == null) {
+ result = caseContainerMapping(containerMappingImport);
+ }
+ if (result == null) {
+ result = caseAbstractMappingImport(containerMappingImport);
+ }
+ if (result == null) {
+ result = caseAbstractNodeMapping(containerMappingImport);
+ }
+ if (result == null) {
+ result = caseDragAndDropTargetDescription(containerMappingImport);
+ }
+ if (result == null) {
+ result = caseDiagramElementMapping(containerMappingImport);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(containerMappingImport);
+ }
+ if (result == null) {
+ result = caseRepresentationElementMapping(containerMappingImport);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(containerMappingImport);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(containerMappingImport);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.EDGE_MAPPING: {
+ EdgeMapping edgeMapping = (EdgeMapping) theEObject;
+ T result = caseEdgeMapping(edgeMapping);
+ if (result == null) {
+ result = caseDiagramElementMapping(edgeMapping);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(edgeMapping);
+ }
+ if (result == null) {
+ result = caseIEdgeMapping(edgeMapping);
+ }
+ if (result == null) {
+ result = caseRepresentationElementMapping(edgeMapping);
+ }
+ if (result == null) {
+ result = casePasteTargetDescription(edgeMapping);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(edgeMapping);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.IEDGE_MAPPING: {
+ IEdgeMapping iEdgeMapping = (IEdgeMapping) theEObject;
+ T result = caseIEdgeMapping(iEdgeMapping);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.EDGE_MAPPING_IMPORT: {
+ EdgeMappingImport edgeMappingImport = (EdgeMappingImport) theEObject;
+ T result = caseEdgeMappingImport(edgeMappingImport);
+ if (result == null) {
+ result = caseDocumentedElement(edgeMappingImport);
+ }
+ if (result == null) {
+ result = caseIEdgeMapping(edgeMappingImport);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(edgeMappingImport);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.CONDITIONAL_NODE_STYLE_DESCRIPTION: {
+ ConditionalNodeStyleDescription conditionalNodeStyleDescription = (ConditionalNodeStyleDescription) theEObject;
+ T result = caseConditionalNodeStyleDescription(conditionalNodeStyleDescription);
+ if (result == null) {
+ result = caseConditionalStyleDescription(conditionalNodeStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.CONDITIONAL_EDGE_STYLE_DESCRIPTION: {
+ ConditionalEdgeStyleDescription conditionalEdgeStyleDescription = (ConditionalEdgeStyleDescription) theEObject;
+ T result = caseConditionalEdgeStyleDescription(conditionalEdgeStyleDescription);
+ if (result == null) {
+ result = caseConditionalStyleDescription(conditionalEdgeStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.CONDITIONAL_CONTAINER_STYLE_DESCRIPTION: {
+ ConditionalContainerStyleDescription conditionalContainerStyleDescription = (ConditionalContainerStyleDescription) theEObject;
+ T result = caseConditionalContainerStyleDescription(conditionalContainerStyleDescription);
+ if (result == null) {
+ result = caseConditionalStyleDescription(conditionalContainerStyleDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.LAYOUT: {
+ Layout layout = (Layout) theEObject;
+ T result = caseLayout(layout);
+ if (result == null) {
+ result = caseDocumentedElement(layout);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.ORDERED_TREE_LAYOUT: {
+ OrderedTreeLayout orderedTreeLayout = (OrderedTreeLayout) theEObject;
+ T result = caseOrderedTreeLayout(orderedTreeLayout);
+ if (result == null) {
+ result = caseLayout(orderedTreeLayout);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(orderedTreeLayout);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.COMPOSITE_LAYOUT: {
+ CompositeLayout compositeLayout = (CompositeLayout) theEObject;
+ T result = caseCompositeLayout(compositeLayout);
+ if (result == null) {
+ result = caseLayout(compositeLayout);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(compositeLayout);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.CUSTOM_LAYOUT_CONFIGURATION: {
+ CustomLayoutConfiguration customLayoutConfiguration = (CustomLayoutConfiguration) theEObject;
+ T result = caseCustomLayoutConfiguration(customLayoutConfiguration);
+ if (result == null) {
+ result = caseLayout(customLayoutConfiguration);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(customLayoutConfiguration);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.LAYOUT_OPTION: {
+ LayoutOption layoutOption = (LayoutOption) theEObject;
+ T result = caseLayoutOption(layoutOption);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.BOOLEAN_LAYOUT_OPTION: {
+ BooleanLayoutOption booleanLayoutOption = (BooleanLayoutOption) theEObject;
+ T result = caseBooleanLayoutOption(booleanLayoutOption);
+ if (result == null) {
+ result = caseLayoutOption(booleanLayoutOption);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.STRING_LAYOUT_OPTION: {
+ StringLayoutOption stringLayoutOption = (StringLayoutOption) theEObject;
+ T result = caseStringLayoutOption(stringLayoutOption);
+ if (result == null) {
+ result = caseLayoutOption(stringLayoutOption);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.INTEGER_LAYOUT_OPTION: {
+ IntegerLayoutOption integerLayoutOption = (IntegerLayoutOption) theEObject;
+ T result = caseIntegerLayoutOption(integerLayoutOption);
+ if (result == null) {
+ result = caseLayoutOption(integerLayoutOption);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.DOUBLE_LAYOUT_OPTION: {
+ DoubleLayoutOption doubleLayoutOption = (DoubleLayoutOption) theEObject;
+ T result = caseDoubleLayoutOption(doubleLayoutOption);
+ if (result == null) {
+ result = caseLayoutOption(doubleLayoutOption);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.ENUM_LAYOUT_OPTION: {
+ EnumLayoutOption enumLayoutOption = (EnumLayoutOption) theEObject;
+ T result = caseEnumLayoutOption(enumLayoutOption);
+ if (result == null) {
+ result = caseEnumOption(enumLayoutOption);
+ }
+ if (result == null) {
+ result = caseLayoutOption(enumLayoutOption);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.ENUM_SET_LAYOUT_OPTION: {
+ EnumSetLayoutOption enumSetLayoutOption = (EnumSetLayoutOption) theEObject;
+ T result = caseEnumSetLayoutOption(enumSetLayoutOption);
+ if (result == null) {
+ result = caseEnumOption(enumSetLayoutOption);
+ }
+ if (result == null) {
+ result = caseLayoutOption(enumSetLayoutOption);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.ENUM_OPTION: {
+ EnumOption enumOption = (EnumOption) theEObject;
+ T result = caseEnumOption(enumOption);
+ if (result == null) {
+ result = caseLayoutOption(enumOption);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.ENUM_LAYOUT_VALUE: {
+ EnumLayoutValue enumLayoutValue = (EnumLayoutValue) theEObject;
+ T result = caseEnumLayoutValue(enumLayoutValue);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.MAPPING_BASED_DECORATION: {
+ MappingBasedDecoration mappingBasedDecoration = (MappingBasedDecoration) theEObject;
+ T result = caseMappingBasedDecoration(mappingBasedDecoration);
+ if (result == null) {
+ result = caseDecorationDescription(mappingBasedDecoration);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.LAYER: {
+ Layer layer = (Layer) theEObject;
+ T result = caseLayer(layer);
+ if (result == null) {
+ result = caseDocumentedElement(layer);
+ }
+ if (result == null) {
+ result = caseEndUserDocumentedElement(layer);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(layer);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.ADDITIONAL_LAYER: {
+ AdditionalLayer additionalLayer = (AdditionalLayer) theEObject;
+ T result = caseAdditionalLayer(additionalLayer);
+ if (result == null) {
+ result = caseLayer(additionalLayer);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(additionalLayer);
+ }
+ if (result == null) {
+ result = caseEndUserDocumentedElement(additionalLayer);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(additionalLayer);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DescriptionPackage.DRAG_AND_DROP_TARGET_DESCRIPTION: {
+ DragAndDropTargetDescription dragAndDropTargetDescription = (DragAndDropTargetDescription) theEObject;
+ T result = caseDragAndDropTargetDescription(dragAndDropTargetDescription);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Diagram Description</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>Diagram Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagramDescription(DiagramDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Diagram Import Description</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>Diagram Import Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagramImportDescription(DiagramImportDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Diagram Extension Description</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>Diagram Extension Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagramExtensionDescription(DiagramExtensionDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Diagram Element Mapping</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>Diagram Element Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagramElementMapping(DiagramElementMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Node Mapping</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Node Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractNodeMapping(AbstractNodeMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node Mapping</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 Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeMapping(NodeMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container Mapping</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>Container Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainerMapping(ContainerMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node Mapping Import</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 Mapping Import</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNodeMappingImport(NodeMappingImport object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container Mapping Import</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>Container Mapping Import</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainerMappingImport(ContainerMappingImport object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Edge Mapping</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>Edge Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEdgeMapping(EdgeMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IEdge Mapping</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>IEdge Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIEdgeMapping(IEdgeMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Edge Mapping Import</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>Edge Mapping Import</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEdgeMappingImport(EdgeMappingImport object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional Node Style Description</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>Conditional Node Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalNodeStyleDescription(ConditionalNodeStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional Edge Style Description</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>Conditional Edge Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalEdgeStyleDescription(ConditionalEdgeStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional Container Style
+ * Description</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>Conditional Container Style
+ * Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalContainerStyleDescription(ConditionalContainerStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Layout</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>Layout</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLayout(Layout object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ordered Tree Layout</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>Ordered Tree Layout</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOrderedTreeLayout(OrderedTreeLayout object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Composite Layout</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>Composite Layout</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCompositeLayout(CompositeLayout object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Custom Layout Configuration</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>Custom Layout Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCustomLayoutConfiguration(CustomLayoutConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Layout Option</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>Layout Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLayoutOption(LayoutOption object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Boolean Layout Option</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>Boolean Layout Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBooleanLayoutOption(BooleanLayoutOption object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>String Layout Option</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>String Layout Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStringLayoutOption(StringLayoutOption object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Integer Layout Option</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>Integer Layout Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIntegerLayoutOption(IntegerLayoutOption object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Double Layout Option</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>Double Layout Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDoubleLayoutOption(DoubleLayoutOption object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enum Layout Option</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>Enum Layout Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumLayoutOption(EnumLayoutOption object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enum Set Layout Option</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>Enum Set Layout Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumSetLayoutOption(EnumSetLayoutOption object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enum Option</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>Enum Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumOption(EnumOption object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enum Layout Value</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>Enum Layout Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumLayoutValue(EnumLayoutValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Mapping Based Decoration</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>Mapping Based Decoration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMappingBasedDecoration(MappingBasedDecoration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Layer</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>Layer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLayer(Layer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Additional Layer</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>Additional Layer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAdditionalLayer(AdditionalLayer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Drag And Drop Target Description</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>Drag And Drop Target Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDragAndDropTargetDescription(DragAndDropTargetDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documented Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentedElement(DocumentedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>End User Documented Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>End User Documented Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEndUserDocumentedElement(EndUserDocumentedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Identified Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Identified Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdentifiedElement(IdentifiedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Representation Description</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>Representation Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRepresentationDescription(RepresentationDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Paste Target Description</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>Paste Target Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePasteTargetDescription(PasteTargetDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Representation Import Description</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>Representation Import Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRepresentationImportDescription(RepresentationImportDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Representation Extension Description</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>Representation Extension Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRepresentationExtensionDescription(RepresentationExtensionDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Representation Element Mapping</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>Representation Element Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRepresentationElementMapping(RepresentationElementMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Mapping Import</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Mapping Import</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractMappingImport(AbstractMappingImport object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional Style Description</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>Conditional Style Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalStyleDescription(ConditionalStyleDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Decoration Description</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>Decoration Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDecorationDescription(DecorationDescription 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // DescriptionSwitch

Back to the top