Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd')
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/AlignmentKind.java236
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Bounds.java165
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/DCFactory.java69
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/DCPackage.java761
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Dimension.java111
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/KnownColor.java573
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Point.java89
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/BoundsImpl.java401
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DCFactoryImpl.java342
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DCPackageImpl.java596
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DimensionImpl.java292
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/PointImpl.java229
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCAdapterFactory.java171
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCSwitch.java173
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCValidator.java353
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Canvas.java61
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Circle.java109
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/ClipPath.java28
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/ClosePath.java29
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/CubicCurveTo.java128
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/DGFactory.java365
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/DGPackage.java6677
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Definition.java57
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Definitions.java80
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Ellipse.java90
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/EllipticalCurveTo.java179
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/FontDecoration.java244
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Gradient.java51
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/GradientStop.java158
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/GraphicalElement.java154
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Group.java53
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Image.java120
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Line.java88
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/LineTo.java61
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/LinearGradient.java108
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/MarkedElement.java120
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Marker.java90
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Matrix.java188
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/MoveTo.java61
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Paint.java86
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/PaintServer.java50
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Path.java50
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/PathCommand.java67
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Pattern.java90
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Polygon.java52
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Polyline.java52
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/QuadraticCurveTo.java94
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/RadialGradient.java172
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Rectangle.java93
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/RootCanvas.java144
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Rotate.java91
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Scale.java109
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Skew.java91
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Style.java766
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleRule.java76
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleSelector.java77
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleSheet.java48
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Text.java88
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Transform.java29
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Translate.java89
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Use.java62
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CanvasImpl.java197
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CircleImpl.java328
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ClipPathImpl.java47
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ClosePathImpl.java47
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CubicCurveToImpl.java360
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DGFactoryImpl.java584
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DGPackageImpl.java2890
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DefinitionImpl.java174
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DefinitionsImpl.java249
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/EllipseImpl.java276
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/EllipticalCurveToImpl.java467
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GradientImpl.java156
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GradientStopImpl.java386
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GraphicalElementImpl.java465
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GroupImpl.java180
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ImageImpl.java328
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LineImpl.java270
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LineToImpl.java197
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LinearGradientImpl.java333
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MarkedElementImpl.java303
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MarkerImpl.java274
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MatrixImpl.java447
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MoveToImpl.java197
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PaintImpl.java243
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PaintServerImpl.java163
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PathCommandImpl.java176
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PathImpl.java162
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PatternImpl.java274
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PolygonImpl.java162
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PolylineImpl.java162
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/QuadraticCurveToImpl.java281
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RadialGradientImpl.java477
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RectangleImpl.java271
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RootCanvasImpl.java360
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RotateImpl.java268
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ScaleImpl.java289
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/SkewImpl.java229
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleImpl.java1469
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleRuleImpl.java247
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleSelectorImpl.java229
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleSheetImpl.java164
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TextImpl.java268
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TransformImpl.java50
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TranslateImpl.java229
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/UseImpl.java196
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGAdapterFactory.java973
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGSwitch.java1261
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGValidator.java1130
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DIFactory.java42
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DIPackage.java855
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Diagram.java121
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DiagramElement.java156
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Edge.java85
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Shape.java62
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Style.java30
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DIFactoryImpl.java95
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DIPackageImpl.java489
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DiagramElementImpl.java374
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DiagramImpl.java290
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/EdgeImpl.java239
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/ShapeImpl.java198
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/StyleImpl.java51
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/util/DIAdapterFactory.java211
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/util/DISwitch.java229
125 files changed, 38751 insertions, 0 deletions
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/AlignmentKind.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/AlignmentKind.java
new file mode 100644
index 00000000000..36d46eb51c0
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/AlignmentKind.java
@@ -0,0 +1,236 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc;
+
+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>Alignment Kind</b></em>', and utility methods for working with them.
+ * <!-- end-user-doc --> <!-- begin-model-doc --> AlignmentKind enumerates the
+ * possible options for alignment for layout purposes. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getAlignmentKind()
+ * @model
+ * @generated
+ */
+public enum AlignmentKind implements Enumerator {
+ /**
+ * The '<em><b>Start</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #START_VALUE
+ * @generated
+ * @ordered
+ */
+ START(0, "start", "start"),
+
+ /**
+ * The '<em><b>End</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #END_VALUE
+ * @generated
+ * @ordered
+ */
+ END(1, "end", "end"),
+
+ /**
+ * The '<em><b>Center</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #CENTER_VALUE
+ * @generated
+ * @ordered
+ */
+ CENTER(2, "center", "center");
+
+ /**
+ * The '<em><b>Start</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> an alignment to the start of a
+ * given length. <!-- end-model-doc -->
+ *
+ * @see #START
+ * @model name="start"
+ * @generated
+ * @ordered
+ */
+ public static final int START_VALUE = 0;
+
+ /**
+ * The '<em><b>End</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> an alignment to the end of a
+ * given length <!-- end-model-doc -->
+ *
+ * @see #END
+ * @model name="end"
+ * @generated
+ * @ordered
+ */
+ public static final int END_VALUE = 1;
+
+ /**
+ * The '<em><b>Center</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> an alignment to the center of a
+ * given length <!-- end-model-doc -->
+ *
+ * @see #CENTER
+ * @model name="center"
+ * @generated
+ * @ordered
+ */
+ public static final int CENTER_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Alignment Kind</b></em>' enumerators. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final AlignmentKind[] VALUES_ARRAY = new AlignmentKind[] {
+ START, END, CENTER, };
+
+ /**
+ * A public read-only list of all the '<em><b>Alignment Kind</b></em>'
+ * enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<AlignmentKind> VALUES = Collections
+ .unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Alignment Kind</b></em>' literal with the specified
+ * literal value. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static AlignmentKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AlignmentKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Alignment Kind</b></em>' literal with the specified
+ * name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static AlignmentKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AlignmentKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Alignment Kind</b></em>' literal with the specified
+ * integer value. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static AlignmentKind get(int value) {
+ switch (value) {
+ case START_VALUE:
+ return START;
+ case END_VALUE:
+ return END;
+ case CENTER_VALUE:
+ return CENTER;
+ }
+ 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 AlignmentKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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;
+ }
+
+} // AlignmentKind
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Bounds.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Bounds.java
new file mode 100644
index 00000000000..5b94cf56e64
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Bounds.java
@@ -0,0 +1,165 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Bounds</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Bounds specifies a rectangular area in some x-y
+ * coordinate system that is defined by a location (x and y) and a size (width
+ * and height). <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dc.Bounds#getX <em>X</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.Bounds#getY <em>Y</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.Bounds#getWidth <em>Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.Bounds#getHeight <em>Height</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getBounds()
+ * @model
+ * @generated
+ */
+public interface Bounds extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>X</b></em>' attribute. The default value
+ * is <code>"0"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> a real number (>=0 or <=0) that represents the
+ * x-coordinate of the bounds <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>X</em>' attribute.
+ * @see #setX(double)
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getBounds_X()
+ * @model default="0" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * required="true" ordered="false"
+ * @generated
+ */
+ double getX();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dc.Bounds#getX
+ * <em>X</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>X</em>' attribute.
+ * @see #getX()
+ * @generated
+ */
+ void setX(double value);
+
+ /**
+ * Returns the value of the '<em><b>Y</b></em>' attribute. The default value
+ * is <code>"0"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> a real number (>=0 or <=0) that represents the
+ * y-coordinate of the bounds <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Y</em>' attribute.
+ * @see #setY(double)
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getBounds_Y()
+ * @model default="0" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * required="true" ordered="false"
+ * @generated
+ */
+ double getY();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dc.Bounds#getY
+ * <em>Y</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Y</em>' attribute.
+ * @see #getY()
+ * @generated
+ */
+ void setY(double value);
+
+ /**
+ * Returns the value of the '<em><b>Width</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number (>=0) that represents the width of the bounds <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Width</em>' attribute.
+ * @see #setWidth(double)
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getBounds_Width()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dc.Bounds#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(double value);
+
+ /**
+ * Returns the value of the '<em><b>Height</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number (>=0) that represents the height of the bounds <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Height</em>' attribute.
+ * @see #setHeight(double)
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getBounds_Height()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getHeight();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dc.Bounds#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(double value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the width and height of bounds cannot be negative
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='width >= 0 and height >=0'"
+ * @generated
+ */
+ boolean nonNegativeSize(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+} // Bounds
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/DCFactory.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/DCFactory.java
new file mode 100644
index 00000000000..ebecccd1f12
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/DCFactory.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc;
+
+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.papyrus.dd.dc.DCPackage
+ * @generated
+ */
+public interface DCFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ DCFactory eINSTANCE = org.eclipse.papyrus.dd.dc.impl.DCFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Point</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Point</em>'.
+ * @generated
+ */
+ Point createPoint();
+
+ /**
+ * Returns a new object of class '<em>Dimension</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Dimension</em>'.
+ * @generated
+ */
+ Dimension createDimension();
+
+ /**
+ * Returns a new object of class '<em>Bounds</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Bounds</em>'.
+ * @generated
+ */
+ Bounds createBounds();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DCPackage getDCPackage();
+
+} // DCFactory
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/DCPackage.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/DCPackage.java
new file mode 100644
index 00000000000..57e90b163e8
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/DCPackage.java
@@ -0,0 +1,761 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The Diagram Common (DC)
+ * package contains abstractions shared by the Diagram Interchange and the
+ * Diagram Graphics packages. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.DCFactory
+ * @model kind="package" annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore validationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL'"
+ * @generated
+ */
+public interface DCPackage extends EPackage {
+
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "dc";
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.omg.org/spec/DD/20110901/DC";
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "dc";
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ DCPackage eINSTANCE = org.eclipse.papyrus.dd.dc.impl.DCPackageImpl.init();
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dc.impl.PointImpl <em>Point</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.PointImpl
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getPoint()
+ * @generated
+ */
+ int POINT = 0;
+
+ /**
+ * The feature id for the '<em><b>X</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POINT__X = 0;
+
+ /**
+ * The feature id for the '<em><b>Y</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POINT__Y = 1;
+
+ /**
+ * The number of structural features of the '<em>Point</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POINT_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Point</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POINT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dc.impl.DimensionImpl <em>Dimension</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.DimensionImpl
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getDimension()
+ * @generated
+ */
+ int DIMENSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Width</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIMENSION__WIDTH = 0;
+
+ /**
+ * The feature id for the '<em><b>Height</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIMENSION__HEIGHT = 1;
+
+ /**
+ * The number of structural features of the '<em>Dimension</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIMENSION_FEATURE_COUNT = 2;
+
+ /**
+ * The operation id for the '<em>Non Negative Dimension</em>' operation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIMENSION___NON_NEGATIVE_DIMENSION__DIAGNOSTICCHAIN_MAP = 0;
+
+ /**
+ * The number of operations of the '<em>Dimension</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIMENSION_OPERATION_COUNT = 1;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dc.impl.BoundsImpl <em>Bounds</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.BoundsImpl
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getBounds()
+ * @generated
+ */
+ int BOUNDS = 2;
+
+ /**
+ * The feature id for the '<em><b>X</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUNDS__X = 0;
+
+ /**
+ * The feature id for the '<em><b>Y</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUNDS__Y = 1;
+
+ /**
+ * The feature id for the '<em><b>Width</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUNDS__WIDTH = 2;
+
+ /**
+ * The feature id for the '<em><b>Height</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUNDS__HEIGHT = 3;
+
+ /**
+ * The number of structural features of the '<em>Bounds</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUNDS_FEATURE_COUNT = 4;
+
+ /**
+ * The operation id for the '<em>Non Negative Size</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUNDS___NON_NEGATIVE_SIZE__DIAGNOSTICCHAIN_MAP = 0;
+
+ /**
+ * The number of operations of the '<em>Bounds</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUNDS_OPERATION_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.dd.dc.KnownColor
+ * <em>Known Color</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.KnownColor
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getKnownColor()
+ * @generated
+ */
+ int KNOWN_COLOR = 3;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dc.AlignmentKind <em>Alignment Kind</em>}'
+ * enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.AlignmentKind
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getAlignmentKind()
+ * @generated
+ */
+ int ALIGNMENT_KIND = 4;
+
+ /**
+ * The meta object id for the '<em>Boolean</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getBoolean()
+ * @generated
+ */
+ int BOOLEAN = 5;
+
+ /**
+ * The meta object id for the '<em>Integer</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getInteger()
+ * @generated
+ */
+ int INTEGER = 6;
+
+ /**
+ * The meta object id for the '<em>Real</em>' data type. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getReal()
+ * @generated
+ */
+ int REAL = 7;
+
+ /**
+ * The meta object id for the '<em>String</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getString()
+ * @generated
+ */
+ int STRING = 8;
+
+ /**
+ * The meta object id for the '<em>Color</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see java.awt.Color
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getColor()
+ * @generated
+ */
+ int COLOR = 9;
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dc.Point <em>Point</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Point</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Point
+ * @generated
+ */
+ EClass getPoint();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dc.Point#getX <em>X</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>X</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Point#getX()
+ * @see #getPoint()
+ * @generated
+ */
+ EAttribute getPoint_X();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dc.Point#getY <em>Y</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Y</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Point#getY()
+ * @see #getPoint()
+ * @generated
+ */
+ EAttribute getPoint_Y();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dc.Dimension <em>Dimension</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Dimension</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Dimension
+ * @generated
+ */
+ EClass getDimension();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dc.Dimension#getWidth <em>Width</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Width</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Dimension#getWidth()
+ * @see #getDimension()
+ * @generated
+ */
+ EAttribute getDimension_Width();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dc.Dimension#getHeight <em>Height</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Height</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Dimension#getHeight()
+ * @see #getDimension()
+ * @generated
+ */
+ EAttribute getDimension_Height();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dc.Dimension#nonNegativeDimension(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Non Negative Dimension</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Non Negative Dimension</em>'
+ * operation.
+ * @see org.eclipse.papyrus.dd.dc.Dimension#nonNegativeDimension(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getDimension__NonNegativeDimension__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dc.Bounds <em>Bounds</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Bounds</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Bounds
+ * @generated
+ */
+ EClass getBounds();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dc.Bounds#getX <em>X</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>X</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Bounds#getX()
+ * @see #getBounds()
+ * @generated
+ */
+ EAttribute getBounds_X();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dc.Bounds#getY <em>Y</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Y</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Bounds#getY()
+ * @see #getBounds()
+ * @generated
+ */
+ EAttribute getBounds_Y();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dc.Bounds#getWidth <em>Width</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Width</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Bounds#getWidth()
+ * @see #getBounds()
+ * @generated
+ */
+ EAttribute getBounds_Width();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dc.Bounds#getHeight <em>Height</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Height</em>'.
+ * @see org.eclipse.papyrus.dd.dc.Bounds#getHeight()
+ * @see #getBounds()
+ * @generated
+ */
+ EAttribute getBounds_Height();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dc.Bounds#nonNegativeSize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Non Negative Size</em>} ' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Non Negative Size</em>' operation.
+ * @see org.eclipse.papyrus.dd.dc.Bounds#nonNegativeSize(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getBounds__NonNegativeSize__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for enum '
+ * {@link org.eclipse.papyrus.dd.dc.KnownColor <em>Known Color</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Known Color</em>'.
+ * @see org.eclipse.papyrus.dd.dc.KnownColor
+ * @generated
+ */
+ EEnum getKnownColor();
+
+ /**
+ * Returns the meta object for enum '
+ * {@link org.eclipse.papyrus.dd.dc.AlignmentKind <em>Alignment Kind</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Alignment Kind</em>'.
+ * @see org.eclipse.papyrus.dd.dc.AlignmentKind
+ * @generated
+ */
+ EEnum getAlignmentKind();
+
+ /**
+ * Returns the meta object for data type '<em>Boolean</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for data type '<em>Boolean</em>'.
+ * @model instanceClass="boolean"
+ * @generated
+ */
+ EDataType getBoolean();
+
+ /**
+ * Returns the meta object for data type '<em>Integer</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for data type '<em>Integer</em>'.
+ * @model instanceClass="int"
+ * @generated
+ */
+ EDataType getInteger();
+
+ /**
+ * Returns the meta object for data type '<em>Real</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for data type '<em>Real</em>'.
+ * @model instanceClass="double"
+ * @generated
+ */
+ EDataType getReal();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String
+ * <em>String</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for data type '<em>String</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType getString();
+
+ /**
+ * Returns the meta object for data type '{@link java.awt.Color
+ * <em>Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for data type '<em>Color</em>'.
+ * @see java.awt.Color
+ * @model instanceClass="java.awt.Color"
+ * @generated
+ */
+ EDataType getColor();
+
+ /**
+ * 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
+ */
+ DCFactory getDCFactory();
+
+ /**
+ * <!-- begin-user-doc --> Defines literals for the meta objects that
+ * represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dc.impl.PointImpl <em>Point</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.PointImpl
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getPoint()
+ * @generated
+ */
+ EClass POINT = eINSTANCE.getPoint();
+
+ /**
+ * The meta object literal for the '<em><b>X</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute POINT__X = eINSTANCE.getPoint_X();
+
+ /**
+ * The meta object literal for the '<em><b>Y</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute POINT__Y = eINSTANCE.getPoint_Y();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dc.impl.DimensionImpl
+ * <em>Dimension</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.DimensionImpl
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getDimension()
+ * @generated
+ */
+ EClass DIMENSION = eINSTANCE.getDimension();
+
+ /**
+ * The meta object literal for the '<em><b>Width</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIMENSION__WIDTH = eINSTANCE.getDimension_Width();
+
+ /**
+ * The meta object literal for the '<em><b>Height</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIMENSION__HEIGHT = eINSTANCE.getDimension_Height();
+
+ /**
+ * The meta object literal for the '
+ * <em><b>Non Negative Dimension</b></em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation DIMENSION___NON_NEGATIVE_DIMENSION__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getDimension__NonNegativeDimension__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dc.impl.BoundsImpl <em>Bounds</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.BoundsImpl
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getBounds()
+ * @generated
+ */
+ EClass BOUNDS = eINSTANCE.getBounds();
+
+ /**
+ * The meta object literal for the '<em><b>X</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BOUNDS__X = eINSTANCE.getBounds_X();
+
+ /**
+ * The meta object literal for the '<em><b>Y</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BOUNDS__Y = eINSTANCE.getBounds_Y();
+
+ /**
+ * The meta object literal for the '<em><b>Width</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BOUNDS__WIDTH = eINSTANCE.getBounds_Width();
+
+ /**
+ * The meta object literal for the '<em><b>Height</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BOUNDS__HEIGHT = eINSTANCE.getBounds_Height();
+
+ /**
+ * The meta object literal for the '<em><b>Non Negative Size</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation BOUNDS___NON_NEGATIVE_SIZE__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getBounds__NonNegativeSize__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dc.KnownColor <em>Known Color</em>}'
+ * enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.KnownColor
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getKnownColor()
+ * @generated
+ */
+ EEnum KNOWN_COLOR = eINSTANCE.getKnownColor();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dc.AlignmentKind
+ * <em>Alignment Kind</em>}' enum. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.AlignmentKind
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getAlignmentKind()
+ * @generated
+ */
+ EEnum ALIGNMENT_KIND = eINSTANCE.getAlignmentKind();
+
+ /**
+ * The meta object literal for the '<em>Boolean</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getBoolean()
+ * @generated
+ */
+ EDataType BOOLEAN = eINSTANCE.getBoolean();
+
+ /**
+ * The meta object literal for the '<em>Integer</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getInteger()
+ * @generated
+ */
+ EDataType INTEGER = eINSTANCE.getInteger();
+
+ /**
+ * The meta object literal for the '<em>Real</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getReal()
+ * @generated
+ */
+ EDataType REAL = eINSTANCE.getReal();
+
+ /**
+ * The meta object literal for the '<em>String</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getString()
+ * @generated
+ */
+ EDataType STRING = eINSTANCE.getString();
+
+ /**
+ * The meta object literal for the '<em>Color</em>' data type. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see java.awt.Color
+ * @see org.eclipse.papyrus.dd.dc.impl.DCPackageImpl#getColor()
+ * @generated
+ */
+ EDataType COLOR = eINSTANCE.getColor();
+
+ }
+
+} // DCPackage
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Dimension.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Dimension.java
new file mode 100644
index 00000000000..551ec51a66f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Dimension.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Dimension</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Dimension specifies two lengths (width and height)
+ * along the x and y axes in some x-y coordinate system. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dc.Dimension#getWidth <em>Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.Dimension#getHeight <em>Height</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getDimension()
+ * @model
+ * @generated
+ */
+public interface Dimension extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>Width</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number (>=0) that represents a length along the x-axis. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Width</em>' attribute.
+ * @see #setWidth(double)
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getDimension_Width()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getWidth();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dc.Dimension#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(double value);
+
+ /**
+ * Returns the value of the '<em><b>Height</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number (>=0) that represents a length along the y-axis. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Height</em>' attribute.
+ * @see #setHeight(double)
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getDimension_Height()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getHeight();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dc.Dimension#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(double value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the width and height of a dimension cannot be negative
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='width >= 0 and height >=0'"
+ * @generated
+ */
+ boolean nonNegativeDimension(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+} // Dimension
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/KnownColor.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/KnownColor.java
new file mode 100644
index 00000000000..c9f01f0ed02
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/KnownColor.java
@@ -0,0 +1,573 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc;
+
+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>Known Color</b></em>', and utility methods for working with them. <!--
+ * end-user-doc --> <!-- begin-model-doc --> KnownColor is an enumeration of 17
+ * known colors. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getKnownColor()
+ * @model
+ * @generated
+ */
+public enum KnownColor implements Enumerator {
+ /**
+ * The '<em><b>Maroon</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #MAROON_VALUE
+ * @generated
+ * @ordered
+ */
+ MAROON(0, "maroon", "#800000"),
+
+ /**
+ * The '<em><b>Red</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #RED_VALUE
+ * @generated
+ * @ordered
+ */
+ RED(1, "red", "#FF0000"),
+
+ /**
+ * The '<em><b>Orange</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #ORANGE_VALUE
+ * @generated
+ * @ordered
+ */
+ ORANGE(2, "orange", "#FFA500"),
+
+ /**
+ * The '<em><b>Yellow</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #YELLOW_VALUE
+ * @generated
+ * @ordered
+ */
+ YELLOW(3, "yellow", "#FFFF00"),
+
+ /**
+ * The '<em><b>Olive</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #OLIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ OLIVE(4, "olive", "#808000"),
+
+ /**
+ * The '<em><b>Purple</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #PURPLE_VALUE
+ * @generated
+ * @ordered
+ */
+ PURPLE(5, "purple", "#800080"),
+
+ /**
+ * The '<em><b>Fuchsia</b></em>' literal object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #FUCHSIA_VALUE
+ * @generated
+ * @ordered
+ */
+ FUCHSIA(6, "fuchsia", "#FF00FF"),
+
+ /**
+ * The '<em><b>White</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #WHITE_VALUE
+ * @generated
+ * @ordered
+ */
+ WHITE(7, "white", "#FFFFFF"),
+
+ /**
+ * The '<em><b>Lime</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #LIME_VALUE
+ * @generated
+ * @ordered
+ */
+ LIME(8, "lime", "#00FF00"),
+
+ /**
+ * The '<em><b>Green</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #GREEN_VALUE
+ * @generated
+ * @ordered
+ */
+ GREEN(9, "green", "#008000"),
+
+ /**
+ * The '<em><b>Navy</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #NAVY_VALUE
+ * @generated
+ * @ordered
+ */
+ NAVY(10, "navy", "#000080"),
+
+ /**
+ * The '<em><b>Blue</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #BLUE_VALUE
+ * @generated
+ * @ordered
+ */
+ BLUE(11, "blue", "#0000FF"),
+
+ /**
+ * The '<em><b>Aqua</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #AQUA_VALUE
+ * @generated
+ * @ordered
+ */
+ AQUA(12, "aqua", "#00FFFF"),
+
+ /**
+ * The '<em><b>Teal</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #TEAL_VALUE
+ * @generated
+ * @ordered
+ */
+ TEAL(13, "teal", "#008080"),
+
+ /**
+ * The '<em><b>Black</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #BLACK_VALUE
+ * @generated
+ * @ordered
+ */
+ BLACK(14, "black", "#000000"),
+
+ /**
+ * The '<em><b>Silver</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #SILVER_VALUE
+ * @generated
+ * @ordered
+ */
+ SILVER(15, "silver", "#C0C0C0"),
+
+ /**
+ * The '<em><b>Gray</b></em>' literal object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #GRAY_VALUE
+ * @generated
+ * @ordered
+ */
+ GRAY(16, "gray", "#808080");
+
+ /**
+ * The '<em><b>Maroon</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #800000
+ * <!-- end-model-doc -->
+ *
+ * @see #MAROON
+ * @model name="maroon" literal="#800000"
+ * @generated
+ * @ordered
+ */
+ public static final int MAROON_VALUE = 0;
+
+ /**
+ * The '<em><b>Red</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #FF0000
+ * <!-- end-model-doc -->
+ *
+ * @see #RED
+ * @model name="red" literal="#FF0000"
+ * @generated
+ * @ordered
+ */
+ public static final int RED_VALUE = 1;
+
+ /**
+ * The '<em><b>Orange</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #FFA500
+ * <!-- end-model-doc -->
+ *
+ * @see #ORANGE
+ * @model name="orange" literal="#FFA500"
+ * @generated
+ * @ordered
+ */
+ public static final int ORANGE_VALUE = 2;
+
+ /**
+ * The '<em><b>Yellow</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #FFFF00
+ * <!-- end-model-doc -->
+ *
+ * @see #YELLOW
+ * @model name="yellow" literal="#FFFF00"
+ * @generated
+ * @ordered
+ */
+ public static final int YELLOW_VALUE = 3;
+
+ /**
+ * The '<em><b>Olive</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #808000
+ * <!-- end-model-doc -->
+ *
+ * @see #OLIVE
+ * @model name="olive" literal="#808000"
+ * @generated
+ * @ordered
+ */
+ public static final int OLIVE_VALUE = 4;
+
+ /**
+ * The '<em><b>Purple</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #800080
+ * <!-- end-model-doc -->
+ *
+ * @see #PURPLE
+ * @model name="purple" literal="#800080"
+ * @generated
+ * @ordered
+ */
+ public static final int PURPLE_VALUE = 5;
+
+ /**
+ * The '<em><b>Fuchsia</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #FF00FF
+ * <!-- end-model-doc -->
+ *
+ * @see #FUCHSIA
+ * @model name="fuchsia" literal="#FF00FF"
+ * @generated
+ * @ordered
+ */
+ public static final int FUCHSIA_VALUE = 6;
+
+ /**
+ * The '<em><b>White</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #FFFFFF
+ * <!-- end-model-doc -->
+ *
+ * @see #WHITE
+ * @model name="white" literal="#FFFFFF"
+ * @generated
+ * @ordered
+ */
+ public static final int WHITE_VALUE = 7;
+
+ /**
+ * The '<em><b>Lime</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #00FF00
+ * <!-- end-model-doc -->
+ *
+ * @see #LIME
+ * @model name="lime" literal="#00FF00"
+ * @generated
+ * @ordered
+ */
+ public static final int LIME_VALUE = 8;
+
+ /**
+ * The '<em><b>Green</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #008000
+ * <!-- end-model-doc -->
+ *
+ * @see #GREEN
+ * @model name="green" literal="#008000"
+ * @generated
+ * @ordered
+ */
+ public static final int GREEN_VALUE = 9;
+
+ /**
+ * The '<em><b>Navy</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #000080
+ * <!-- end-model-doc -->
+ *
+ * @see #NAVY
+ * @model name="navy" literal="#000080"
+ * @generated
+ * @ordered
+ */
+ public static final int NAVY_VALUE = 10;
+
+ /**
+ * The '<em><b>Blue</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #0000FF
+ * <!-- end-model-doc -->
+ *
+ * @see #BLUE
+ * @model name="blue" literal="#0000FF"
+ * @generated
+ * @ordered
+ */
+ public static final int BLUE_VALUE = 11;
+
+ /**
+ * The '<em><b>Aqua</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #00FFFF
+ * <!-- end-model-doc -->
+ *
+ * @see #AQUA
+ * @model name="aqua" literal="#00FFFF"
+ * @generated
+ * @ordered
+ */
+ public static final int AQUA_VALUE = 12;
+
+ /**
+ * The '<em><b>Teal</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #008080
+ * <!-- end-model-doc -->
+ *
+ * @see #TEAL
+ * @model name="teal" literal="#008080"
+ * @generated
+ * @ordered
+ */
+ public static final int TEAL_VALUE = 13;
+
+ /**
+ * The '<em><b>Black</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #000000
+ * <!-- end-model-doc -->
+ *
+ * @see #BLACK
+ * @model name="black" literal="#000000"
+ * @generated
+ * @ordered
+ */
+ public static final int BLACK_VALUE = 14;
+
+ /**
+ * The '<em><b>Silver</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #C0C0C0
+ * <!-- end-model-doc -->
+ *
+ * @see #SILVER
+ * @model name="silver" literal="#C0C0C0"
+ * @generated
+ * @ordered
+ */
+ public static final int SILVER_VALUE = 15;
+
+ /**
+ * The '<em><b>Gray</b></em>' literal value. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a color with a value of #808080
+ * <!-- end-model-doc -->
+ *
+ * @see #GRAY
+ * @model name="gray" literal="#808080"
+ * @generated
+ * @ordered
+ */
+ public static final int GRAY_VALUE = 16;
+
+ /**
+ * An array of all the '<em><b>Known Color</b></em>' enumerators. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final KnownColor[] VALUES_ARRAY = new KnownColor[] { MAROON,
+ RED, ORANGE, YELLOW, OLIVE, PURPLE, FUCHSIA, WHITE, LIME, GREEN,
+ NAVY, BLUE, AQUA, TEAL, BLACK, SILVER, GRAY, };
+
+ /**
+ * A public read-only list of all the '<em><b>Known Color</b></em>'
+ * enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<KnownColor> VALUES = Collections
+ .unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Known Color</b></em>' literal with the specified
+ * literal value. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static KnownColor get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ KnownColor result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Known Color</b></em>' literal with the specified
+ * name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static KnownColor getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ KnownColor result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Known Color</b></em>' literal with the specified
+ * integer value. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static KnownColor get(int value) {
+ switch (value) {
+ case MAROON_VALUE:
+ return MAROON;
+ case RED_VALUE:
+ return RED;
+ case ORANGE_VALUE:
+ return ORANGE;
+ case YELLOW_VALUE:
+ return YELLOW;
+ case OLIVE_VALUE:
+ return OLIVE;
+ case PURPLE_VALUE:
+ return PURPLE;
+ case FUCHSIA_VALUE:
+ return FUCHSIA;
+ case WHITE_VALUE:
+ return WHITE;
+ case LIME_VALUE:
+ return LIME;
+ case GREEN_VALUE:
+ return GREEN;
+ case NAVY_VALUE:
+ return NAVY;
+ case BLUE_VALUE:
+ return BLUE;
+ case AQUA_VALUE:
+ return AQUA;
+ case TEAL_VALUE:
+ return TEAL;
+ case BLACK_VALUE:
+ return BLACK;
+ case SILVER_VALUE:
+ return SILVER;
+ case GRAY_VALUE:
+ return GRAY;
+ }
+ 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 KnownColor(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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;
+ }
+
+} // KnownColor
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Point.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Point.java
new file mode 100644
index 00000000000..6b5abb8022f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/Point.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Point</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> A Point specifies an location in some x-y coordinate
+ * system. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dc.Point#getX <em>X</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.Point#getY <em>Y</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getPoint()
+ * @model
+ * @generated
+ */
+public interface Point extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>X</b></em>' attribute. The default value
+ * is <code>"0"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> a real number (<= 0 or >= 0) that represents the
+ * x-coordinate of the point. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>X</em>' attribute.
+ * @see #setX(double)
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getPoint_X()
+ * @model default="0" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * required="true" ordered="false"
+ * @generated
+ */
+ double getX();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dc.Point#getX
+ * <em>X</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>X</em>' attribute.
+ * @see #getX()
+ * @generated
+ */
+ void setX(double value);
+
+ /**
+ * Returns the value of the '<em><b>Y</b></em>' attribute. The default value
+ * is <code>"0"</code>. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> a real number (<= 0 or >= 0) that represents the
+ * y-coordinate of the point. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Y</em>' attribute.
+ * @see #setY(double)
+ * @see org.eclipse.papyrus.dd.dc.DCPackage#getPoint_Y()
+ * @model default="0" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * required="true" ordered="false"
+ * @generated
+ */
+ double getY();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dc.Point#getY
+ * <em>Y</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Y</em>' attribute.
+ * @see #getY()
+ * @generated
+ */
+ void setY(double value);
+
+} // Point
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/BoundsImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/BoundsImpl.java
new file mode 100644
index 00000000000..28a416b4de0
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/BoundsImpl.java
@@ -0,0 +1,401 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+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.papyrus.dd.dc.Bounds;
+import org.eclipse.papyrus.dd.dc.DCPackage;
+
+import org.eclipse.papyrus.dd.dc.util.DCValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Bounds</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dc.impl.BoundsImpl#getX <em>X</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.impl.BoundsImpl#getY <em>Y</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.impl.BoundsImpl#getWidth <em>Width</em>}
+ * </li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.impl.BoundsImpl#getHeight <em>Height
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BoundsImpl extends MinimalEObjectImpl.Container implements Bounds {
+
+ /**
+ * The default value of the '{@link #getX() <em>X</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getX()
+ * @generated
+ * @ordered
+ */
+ protected static final double X_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getX() <em>X</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getX()
+ * @generated
+ * @ordered
+ */
+ protected double x = X_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getY() <em>Y</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getY()
+ * @generated
+ * @ordered
+ */
+ protected static final double Y_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getY() <em>Y</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getY()
+ * @generated
+ * @ordered
+ */
+ protected double y = Y_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWidth() <em>Width</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final double WIDTH_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getWidth() <em>Width</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected double width = 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 double HEIGHT_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getHeight() <em>Height</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeight()
+ * @generated
+ * @ordered
+ */
+ protected double height = HEIGHT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BoundsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DCPackage.Literals.BOUNDS;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getX() {
+ return x;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setX(double newX) {
+ double oldX = x;
+ x = newX;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DCPackage.BOUNDS__X, oldX, x));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getY() {
+ return y;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setY(double newY) {
+ double oldY = y;
+ y = newY;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DCPackage.BOUNDS__Y, oldY, y));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getWidth() {
+ return width;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setWidth(double newWidth) {
+ double oldWidth = width;
+ width = newWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DCPackage.BOUNDS__WIDTH, oldWidth, width));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getHeight() {
+ return height;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setHeight(double newHeight) {
+ double oldHeight = height;
+ height = newHeight;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DCPackage.BOUNDS__HEIGHT, oldHeight, height));
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #nonNegativeSize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Non Negative Size</em>}' invariant operation. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nonNegativeSize(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NON_NEGATIVE_SIZE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "width >= 0 and height >=0";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nonNegativeSize(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DCValidator
+ .validate(
+ DCPackage.Literals.BOUNDS,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DCPackage.Literals.BOUNDS___NON_NEGATIVE_SIZE__DIAGNOSTICCHAIN_MAP,
+ NON_NEGATIVE_SIZE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DCValidator.DIAGNOSTIC_SOURCE,
+ DCValidator.BOUNDS__NON_NEGATIVE_SIZE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DCPackage.BOUNDS__X:
+ return getX();
+ case DCPackage.BOUNDS__Y:
+ return getY();
+ case DCPackage.BOUNDS__WIDTH:
+ return getWidth();
+ case DCPackage.BOUNDS__HEIGHT:
+ return getHeight();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DCPackage.BOUNDS__X:
+ setX((Double) newValue);
+ return;
+ case DCPackage.BOUNDS__Y:
+ setY((Double) newValue);
+ return;
+ case DCPackage.BOUNDS__WIDTH:
+ setWidth((Double) newValue);
+ return;
+ case DCPackage.BOUNDS__HEIGHT:
+ setHeight((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DCPackage.BOUNDS__X:
+ setX(X_EDEFAULT);
+ return;
+ case DCPackage.BOUNDS__Y:
+ setY(Y_EDEFAULT);
+ return;
+ case DCPackage.BOUNDS__WIDTH:
+ setWidth(WIDTH_EDEFAULT);
+ return;
+ case DCPackage.BOUNDS__HEIGHT:
+ setHeight(HEIGHT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DCPackage.BOUNDS__X:
+ return x != X_EDEFAULT;
+ case DCPackage.BOUNDS__Y:
+ return y != Y_EDEFAULT;
+ case DCPackage.BOUNDS__WIDTH:
+ return width != WIDTH_EDEFAULT;
+ case DCPackage.BOUNDS__HEIGHT:
+ return height != HEIGHT_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case DCPackage.BOUNDS___NON_NEGATIVE_SIZE__DIAGNOSTICCHAIN_MAP:
+ return nonNegativeSize((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (x: ");
+ result.append(x);
+ result.append(", y: ");
+ result.append(y);
+ result.append(", width: ");
+ result.append(width);
+ result.append(", height: ");
+ result.append(height);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BoundsImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DCFactoryImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DCFactoryImpl.java
new file mode 100644
index 00000000000..ce9fbc3b5b9
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DCFactoryImpl.java
@@ -0,0 +1,342 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc.impl;
+
+import java.awt.Color;
+
+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.papyrus.dd.dc.*;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class DCFactoryImpl extends EFactoryImpl implements DCFactory {
+
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static DCFactory init() {
+ try {
+ DCFactory theDCFactory = (DCFactory) EPackage.Registry.INSTANCE
+ .getEFactory(DCPackage.eNS_URI);
+ if (theDCFactory != null) {
+ return theDCFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DCFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DCFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DCPackage.POINT:
+ return createPoint();
+ case DCPackage.DIMENSION:
+ return createDimension();
+ case DCPackage.BOUNDS:
+ return createBounds();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName()
+ + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case DCPackage.KNOWN_COLOR:
+ return createKnownColorFromString(eDataType, initialValue);
+ case DCPackage.ALIGNMENT_KIND:
+ return createAlignmentKindFromString(eDataType, initialValue);
+ case DCPackage.BOOLEAN:
+ return createBooleanFromString(eDataType, initialValue);
+ case DCPackage.INTEGER:
+ return createIntegerFromString(eDataType, initialValue);
+ case DCPackage.REAL:
+ return createRealFromString(eDataType, initialValue);
+ case DCPackage.STRING:
+ return createStringFromString(eDataType, initialValue);
+ case DCPackage.COLOR:
+ return createColorFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '"
+ + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case DCPackage.KNOWN_COLOR:
+ return convertKnownColorToString(eDataType, instanceValue);
+ case DCPackage.ALIGNMENT_KIND:
+ return convertAlignmentKindToString(eDataType, instanceValue);
+ case DCPackage.BOOLEAN:
+ return convertBooleanToString(eDataType, instanceValue);
+ case DCPackage.INTEGER:
+ return convertIntegerToString(eDataType, instanceValue);
+ case DCPackage.REAL:
+ return convertRealToString(eDataType, instanceValue);
+ case DCPackage.STRING:
+ return convertStringToString(eDataType, instanceValue);
+ case DCPackage.COLOR:
+ return convertColorToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '"
+ + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point createPoint() {
+ PointImpl point = new PointImpl();
+ return point;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Dimension createDimension() {
+ DimensionImpl dimension = new DimensionImpl();
+ return dimension;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Bounds createBounds() {
+ BoundsImpl bounds = new BoundsImpl();
+ return bounds;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public KnownColor createKnownColorFromString(EDataType eDataType,
+ String initialValue) {
+ KnownColor result = KnownColor.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue
+ + "' is not a valid enumerator of '" + eDataType.getName()
+ + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertKnownColorToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlignmentKind createAlignmentKindFromString(EDataType eDataType,
+ String initialValue) {
+ AlignmentKind result = AlignmentKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue
+ + "' is not a valid enumerator of '" + eDataType.getName()
+ + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertAlignmentKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Boolean createBooleanFromString(EDataType eDataType,
+ String initialValue) {
+ return (Boolean) super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertBooleanToString(EDataType eDataType,
+ Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Integer createIntegerFromString(EDataType eDataType,
+ String initialValue) {
+ return (Integer) super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertIntegerToString(EDataType eDataType,
+ Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Double createRealFromString(EDataType eDataType, String initialValue) {
+ return (Double) super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertRealToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String createStringFromString(EDataType eDataType,
+ String initialValue) {
+ return (String) super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertStringToString(EDataType eDataType,
+ Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Color createColorFromString(EDataType eDataType, String initialValue) {
+ if (initialValue == null || initialValue.isEmpty())
+ return null;
+ return Color.decode(initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public String convertColorToString(EDataType eDataType, Object instanceValue) {
+ if (instanceValue == null)
+ return null;
+ Color c = (Color) instanceValue;
+ return String.format("#%02X%02X%02X", c.getRed(), c.getGreen(),
+ c.getBlue());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DCPackage getDCPackage() {
+ return (DCPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DCPackage getPackage() {
+ return DCPackage.eINSTANCE;
+ }
+
+} // DCFactoryImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DCPackageImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DCPackageImpl.java
new file mode 100644
index 00000000000..019c95ac9cd
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DCPackageImpl.java
@@ -0,0 +1,596 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc.impl;
+
+import java.awt.Color;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EGenericType;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EValidator;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.dd.dc.AlignmentKind;
+import org.eclipse.papyrus.dd.dc.Bounds;
+import org.eclipse.papyrus.dd.dc.DCFactory;
+import org.eclipse.papyrus.dd.dc.DCPackage;
+import org.eclipse.papyrus.dd.dc.Dimension;
+import org.eclipse.papyrus.dd.dc.KnownColor;
+import org.eclipse.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dc.util.DCValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class DCPackageImpl extends EPackageImpl implements DCPackage {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass pointEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass dimensionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass boundsEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum knownColorEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum alignmentKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EDataType booleanEDataType = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EDataType integerEDataType = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EDataType realEDataType = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EDataType stringEDataType = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EDataType colorEDataType = 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.papyrus.dd.dc.DCPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DCPackageImpl() {
+ super(eNS_URI, DCFactory.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 DCPackage#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 DCPackage init() {
+ if (isInited)
+ return (DCPackage) EPackage.Registry.INSTANCE
+ .getEPackage(DCPackage.eNS_URI);
+
+ // Obtain or create and register package
+ DCPackageImpl theDCPackage = (DCPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof DCPackageImpl ? EPackage.Registry.INSTANCE
+ .get(eNS_URI) : new DCPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theDCPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDCPackage.initializePackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put(theDCPackage,
+ new EValidator.Descriptor() {
+
+ public EValidator getEValidator() {
+ return DCValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ theDCPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DCPackage.eNS_URI, theDCPackage);
+ return theDCPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPoint() {
+ return pointEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getPoint_X() {
+ return (EAttribute) pointEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getPoint_Y() {
+ return (EAttribute) pointEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDimension() {
+ return dimensionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDimension_Width() {
+ return (EAttribute) dimensionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDimension_Height() {
+ return (EAttribute) dimensionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDimension__NonNegativeDimension__DiagnosticChain_Map() {
+ return dimensionEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBounds() {
+ return boundsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getBounds_X() {
+ return (EAttribute) boundsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getBounds_Y() {
+ return (EAttribute) boundsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getBounds_Width() {
+ return (EAttribute) boundsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getBounds_Height() {
+ return (EAttribute) boundsEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBounds__NonNegativeSize__DiagnosticChain_Map() {
+ return boundsEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EEnum getKnownColor() {
+ return knownColorEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EEnum getAlignmentKind() {
+ return alignmentKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EDataType getBoolean() {
+ return booleanEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EDataType getInteger() {
+ return integerEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EDataType getReal() {
+ return realEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EDataType getString() {
+ return stringEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EDataType getColor() {
+ return colorEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DCFactory getDCFactory() {
+ return (DCFactory) 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
+ pointEClass = createEClass(POINT);
+ createEAttribute(pointEClass, POINT__X);
+ createEAttribute(pointEClass, POINT__Y);
+
+ dimensionEClass = createEClass(DIMENSION);
+ createEAttribute(dimensionEClass, DIMENSION__WIDTH);
+ createEAttribute(dimensionEClass, DIMENSION__HEIGHT);
+ createEOperation(dimensionEClass,
+ DIMENSION___NON_NEGATIVE_DIMENSION__DIAGNOSTICCHAIN_MAP);
+
+ boundsEClass = createEClass(BOUNDS);
+ createEAttribute(boundsEClass, BOUNDS__X);
+ createEAttribute(boundsEClass, BOUNDS__Y);
+ createEAttribute(boundsEClass, BOUNDS__WIDTH);
+ createEAttribute(boundsEClass, BOUNDS__HEIGHT);
+ createEOperation(boundsEClass,
+ BOUNDS___NON_NEGATIVE_SIZE__DIAGNOSTICCHAIN_MAP);
+
+ // Create enums
+ knownColorEEnum = createEEnum(KNOWN_COLOR);
+ alignmentKindEEnum = createEEnum(ALIGNMENT_KIND);
+
+ // Create data types
+ booleanEDataType = createEDataType(BOOLEAN);
+ integerEDataType = createEDataType(INTEGER);
+ realEDataType = createEDataType(REAL);
+ stringEDataType = createEDataType(STRING);
+ colorEDataType = createEDataType(COLOR);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized)
+ return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(pointEClass, Point.class, "Point", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPoint_X(), this.getReal(), "x", "0", 1, 1,
+ Point.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getPoint_Y(), this.getReal(), "y", "0", 1, 1,
+ Point.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(dimensionEClass, Dimension.class, "Dimension", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDimension_Width(), this.getReal(), "width", null, 1,
+ 1, Dimension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDimension_Height(), this.getReal(), "height", null,
+ 1, 1, Dimension.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ EOperation op = initEOperation(
+ getDimension__NonNegativeDimension__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "nonNegativeDimension", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ EGenericType g1 = createEGenericType(ecorePackage.getEMap());
+ EGenericType g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(boundsEClass, Bounds.class, "Bounds", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBounds_X(), this.getReal(), "x", "0", 1, 1,
+ Bounds.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getBounds_Y(), this.getReal(), "y", "0", 1, 1,
+ Bounds.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getBounds_Width(), this.getReal(), "width", null, 1, 1,
+ Bounds.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getBounds_Height(), this.getReal(), "height", null, 1,
+ 1, Bounds.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ op = initEOperation(getBounds__NonNegativeSize__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "nonNegativeSize", 0, 1, IS_UNIQUE,
+ IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(knownColorEEnum, KnownColor.class, "KnownColor");
+ addEEnumLiteral(knownColorEEnum, KnownColor.MAROON);
+ addEEnumLiteral(knownColorEEnum, KnownColor.RED);
+ addEEnumLiteral(knownColorEEnum, KnownColor.ORANGE);
+ addEEnumLiteral(knownColorEEnum, KnownColor.YELLOW);
+ addEEnumLiteral(knownColorEEnum, KnownColor.OLIVE);
+ addEEnumLiteral(knownColorEEnum, KnownColor.PURPLE);
+ addEEnumLiteral(knownColorEEnum, KnownColor.FUCHSIA);
+ addEEnumLiteral(knownColorEEnum, KnownColor.WHITE);
+ addEEnumLiteral(knownColorEEnum, KnownColor.LIME);
+ addEEnumLiteral(knownColorEEnum, KnownColor.GREEN);
+ addEEnumLiteral(knownColorEEnum, KnownColor.NAVY);
+ addEEnumLiteral(knownColorEEnum, KnownColor.BLUE);
+ addEEnumLiteral(knownColorEEnum, KnownColor.AQUA);
+ addEEnumLiteral(knownColorEEnum, KnownColor.TEAL);
+ addEEnumLiteral(knownColorEEnum, KnownColor.BLACK);
+ addEEnumLiteral(knownColorEEnum, KnownColor.SILVER);
+ addEEnumLiteral(knownColorEEnum, KnownColor.GRAY);
+
+ initEEnum(alignmentKindEEnum, AlignmentKind.class, "AlignmentKind");
+ addEEnumLiteral(alignmentKindEEnum, AlignmentKind.START);
+ addEEnumLiteral(alignmentKindEEnum, AlignmentKind.END);
+ addEEnumLiteral(alignmentKindEEnum, AlignmentKind.CENTER);
+
+ // Initialize data types
+ initEDataType(booleanEDataType, boolean.class, "Boolean",
+ IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(integerEDataType, int.class, "Integer", IS_SERIALIZABLE,
+ !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(realEDataType, double.class, "Real", IS_SERIALIZABLE,
+ !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(stringEDataType, String.class, "String", IS_SERIALIZABLE,
+ !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(colorEDataType, Color.class, "Color", IS_SERIALIZABLE,
+ !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ // http://www.eclipse.org/emf/2002/Ecore/OCL
+ createOCLAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for
+ * <b>http://www.eclipse.org/emf/2002/Ecore</b>. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore";
+ addAnnotation(this, source, new String[] { "validationDelegates",
+ "http://www.eclipse.org/emf/2002/Ecore/OCL" });
+ }
+
+ /**
+ * Initializes the annotations for
+ * <b>http://www.eclipse.org/emf/2002/Ecore/OCL</b>. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createOCLAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore/OCL";
+ addAnnotation(
+ getDimension__NonNegativeDimension__DiagnosticChain_Map(),
+ source, new String[] { "body", "width >= 0 and height >=0" });
+ addAnnotation(getBounds__NonNegativeSize__DiagnosticChain_Map(),
+ source, new String[] { "body", "width >= 0 and height >=0" });
+ }
+
+} // DCPackageImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DimensionImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DimensionImpl.java
new file mode 100644
index 00000000000..2fc03c792a5
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/DimensionImpl.java
@@ -0,0 +1,292 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+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.papyrus.dd.dc.DCPackage;
+import org.eclipse.papyrus.dd.dc.Dimension;
+
+import org.eclipse.papyrus.dd.dc.util.DCValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Dimension</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dc.impl.DimensionImpl#getWidth <em>Width
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.impl.DimensionImpl#getHeight <em>Height
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DimensionImpl extends MinimalEObjectImpl.Container implements
+ Dimension {
+
+ /**
+ * The default value of the '{@link #getWidth() <em>Width</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final double WIDTH_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getWidth() <em>Width</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected double width = 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 double HEIGHT_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getHeight() <em>Height</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHeight()
+ * @generated
+ * @ordered
+ */
+ protected double height = HEIGHT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DimensionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DCPackage.Literals.DIMENSION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getWidth() {
+ return width;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setWidth(double newWidth) {
+ double oldWidth = width;
+ width = newWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DCPackage.DIMENSION__WIDTH, oldWidth, width));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getHeight() {
+ return height;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setHeight(double newHeight) {
+ double oldHeight = height;
+ height = newHeight;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DCPackage.DIMENSION__HEIGHT, oldHeight, height));
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #nonNegativeDimension(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Non Negative Dimension</em>}' invariant operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #nonNegativeDimension(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NON_NEGATIVE_DIMENSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "width >= 0 and height >=0";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nonNegativeDimension(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DCValidator
+ .validate(
+ DCPackage.Literals.DIMENSION,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DCPackage.Literals.DIMENSION___NON_NEGATIVE_DIMENSION__DIAGNOSTICCHAIN_MAP,
+ NON_NEGATIVE_DIMENSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DCValidator.DIAGNOSTIC_SOURCE,
+ DCValidator.DIMENSION__NON_NEGATIVE_DIMENSION);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DCPackage.DIMENSION__WIDTH:
+ return getWidth();
+ case DCPackage.DIMENSION__HEIGHT:
+ return getHeight();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DCPackage.DIMENSION__WIDTH:
+ setWidth((Double) newValue);
+ return;
+ case DCPackage.DIMENSION__HEIGHT:
+ setHeight((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DCPackage.DIMENSION__WIDTH:
+ setWidth(WIDTH_EDEFAULT);
+ return;
+ case DCPackage.DIMENSION__HEIGHT:
+ setHeight(HEIGHT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DCPackage.DIMENSION__WIDTH:
+ return width != WIDTH_EDEFAULT;
+ case DCPackage.DIMENSION__HEIGHT:
+ return height != HEIGHT_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case DCPackage.DIMENSION___NON_NEGATIVE_DIMENSION__DIAGNOSTICCHAIN_MAP:
+ return nonNegativeDimension((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (width: ");
+ result.append(width);
+ result.append(", height: ");
+ result.append(height);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DimensionImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/PointImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/PointImpl.java
new file mode 100644
index 00000000000..e902c1e3ff3
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/impl/PointImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc.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.papyrus.dd.dc.DCPackage;
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Point</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dc.impl.PointImpl#getX <em>X</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dc.impl.PointImpl#getY <em>Y</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PointImpl extends MinimalEObjectImpl.Container implements Point {
+
+ /**
+ * The default value of the '{@link #getX() <em>X</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getX()
+ * @generated
+ * @ordered
+ */
+ protected static final double X_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getX() <em>X</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getX()
+ * @generated
+ * @ordered
+ */
+ protected double x = X_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getY() <em>Y</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getY()
+ * @generated
+ * @ordered
+ */
+ protected static final double Y_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getY() <em>Y</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getY()
+ * @generated
+ * @ordered
+ */
+ protected double y = Y_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PointImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DCPackage.Literals.POINT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getX() {
+ return x;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setX(double newX) {
+ double oldX = x;
+ x = newX;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DCPackage.POINT__X, oldX, x));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getY() {
+ return y;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setY(double newY) {
+ double oldY = y;
+ y = newY;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DCPackage.POINT__Y, oldY, y));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DCPackage.POINT__X:
+ return getX();
+ case DCPackage.POINT__Y:
+ return getY();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DCPackage.POINT__X:
+ setX((Double) newValue);
+ return;
+ case DCPackage.POINT__Y:
+ setY((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DCPackage.POINT__X:
+ setX(X_EDEFAULT);
+ return;
+ case DCPackage.POINT__Y:
+ setY(Y_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DCPackage.POINT__X:
+ return x != X_EDEFAULT;
+ case DCPackage.POINT__Y:
+ return y != Y_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (x: ");
+ result.append(x);
+ result.append(", y: ");
+ result.append(y);
+ result.append(')');
+ return result.toString();
+ }
+
+} // PointImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCAdapterFactory.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCAdapterFactory.java
new file mode 100644
index 00000000000..5678bb454a3
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCAdapterFactory.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc.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.papyrus.dd.dc.*;
+
+/**
+ * <!-- 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.papyrus.dd.dc.DCPackage
+ * @generated
+ */
+public class DCAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DCPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DCAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = DCPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+ * the object is either the model's package or is an instance object of the
+ * model. <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DCSwitch<Adapter> modelSwitch = new DCSwitch<Adapter>() {
+
+ @Override
+ public Adapter casePoint(Point object) {
+ return createPointAdapter();
+ }
+
+ @Override
+ public Adapter caseDimension(Dimension object) {
+ return createDimensionAdapter();
+ }
+
+ @Override
+ public Adapter caseBounds(Bounds object) {
+ return createBoundsAdapter();
+ }
+
+ @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.papyrus.dd.dc.Point <em>Point</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.papyrus.dd.dc.Point
+ * @generated
+ */
+ public Adapter createPointAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dc.Dimension <em>Dimension</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.papyrus.dd.dc.Dimension
+ * @generated
+ */
+ public Adapter createDimensionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dc.Bounds <em>Bounds</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.papyrus.dd.dc.Bounds
+ * @generated
+ */
+ public Adapter createBoundsAdapter() {
+ 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;
+ }
+
+} // DCAdapterFactory
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCSwitch.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCSwitch.java
new file mode 100644
index 00000000000..ff95308cc47
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCSwitch.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.dd.dc.*;
+
+/**
+ * <!-- 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.papyrus.dd.dc.DCPackage
+ * @generated
+ */
+public class DCSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DCPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DCSwitch() {
+ if (modelPackage == null) {
+ modelPackage = DCPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns
+ * a non null result; it yields that result. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code>
+ * call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case DCPackage.POINT: {
+ Point point = (Point) theEObject;
+ T result = casePoint(point);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DCPackage.DIMENSION: {
+ Dimension dimension = (Dimension) theEObject;
+ T result = caseDimension(dimension);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DCPackage.BOUNDS: {
+ Bounds bounds = (Bounds) theEObject;
+ T result = caseBounds(bounds);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Point</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>Point</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePoint(Point object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Dimension</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>Dimension</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDimension(Dimension object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Bounds</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>Bounds</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBounds(Bounds object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>EObject</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch, but this is
+ * the last case anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // DCSwitch
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCValidator.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCValidator.java
new file mode 100644
index 00000000000..ab42f6e1395
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dc/util/DCValidator.java
@@ -0,0 +1,353 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dc.util;
+
+import java.awt.Color;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.dd.dc.*;
+
+/**
+ * <!-- begin-user-doc --> The <b>Validator</b> for the model. <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dc.DCPackage
+ * @generated
+ */
+public class DCValidator extends EObjectValidator {
+
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final DCValidator INSTANCE = new DCValidator();
+
+ /**
+ * A constant for the
+ * {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of
+ * diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes}
+ * from this package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "org.eclipse.papyrus.dd.dc";
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Non Negative Dimension' of 'Dimension'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int DIMENSION__NON_NEGATIVE_DIMENSION = 1;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Non Negative Size' of 'Bounds'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BOUNDS__NON_NEGATIVE_SIZE = 2;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for
+ * additional hand written constants. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 2;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for
+ * additional hand written constants in a derived class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+ /**
+ * Delegates evaluation of the given invariant expression against the object
+ * in the given context. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static boolean validate(EClass eClass, EObject eObject,
+ DiagnosticChain diagnostics, Map<Object, Object> context,
+ String validationDelegate, EOperation invariant, String expression,
+ int severity, String source, int code) {
+ return EObjectValidator.validate(eClass, eObject, diagnostics, context,
+ validationDelegate, invariant, expression, severity, source,
+ code);
+ }
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DCValidator() {
+ super();
+ }
+
+ /**
+ * Returns the package of this validator switch. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EPackage getEPackage() {
+ return DCPackage.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresponding classifier of the
+ * model. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean validate(int classifierID, Object value,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ switch (classifierID) {
+ case DCPackage.POINT:
+ return validatePoint((Point) value, diagnostics, context);
+ case DCPackage.DIMENSION:
+ return validateDimension((Dimension) value, diagnostics, context);
+ case DCPackage.BOUNDS:
+ return validateBounds((Bounds) value, diagnostics, context);
+ case DCPackage.KNOWN_COLOR:
+ return validateKnownColor((KnownColor) value, diagnostics, context);
+ case DCPackage.ALIGNMENT_KIND:
+ return validateAlignmentKind((AlignmentKind) value, diagnostics,
+ context);
+ case DCPackage.BOOLEAN:
+ return validateBoolean((Boolean) value, diagnostics, context);
+ case DCPackage.INTEGER:
+ return validateInteger((Integer) value, diagnostics, context);
+ case DCPackage.REAL:
+ return validateReal((Double) value, diagnostics, context);
+ case DCPackage.STRING:
+ return validateString((String) value, diagnostics, context);
+ case DCPackage.COLOR:
+ return validateColor((Color) value, diagnostics, context);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePoint(Point point, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(point, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDimension(Dimension dimension,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dimension, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms(dimension,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms(dimension, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained(dimension,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired(dimension,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves(dimension, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID(dimension, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique(dimension, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique(dimension, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validateDimension_nonNegativeDimension(dimension,
+ diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the nonNegativeDimension constraint of '<em>Dimension</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDimension_nonNegativeDimension(Dimension dimension,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dimension.nonNegativeDimension(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBounds(Bounds bounds, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bounds, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms(bounds,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms(bounds, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained(bounds, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired(bounds,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves(bounds, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID(bounds, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique(bounds, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique(bounds, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBounds_nonNegativeSize(bounds, diagnostics,
+ context);
+ return result;
+ }
+
+ /**
+ * Validates the nonNegativeSize constraint of '<em>Bounds</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBounds_nonNegativeSize(Bounds bounds,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bounds.nonNegativeSize(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateKnownColor(KnownColor knownColor,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAlignmentKind(AlignmentKind alignmentKind,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBoolean(boolean boolean_,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInteger(int integer, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReal(double real, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateString(String string, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateColor(Color color, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * Returns the resource locator that will be used to fetch messages for this
+ * validator's diagnostics. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ // TODO
+ // Specialize this to return a resource locator for messages specific to
+ // this validator.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return super.getResourceLocator();
+ }
+
+} // DCValidator
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Canvas.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Canvas.java
new file mode 100644
index 00000000000..55c63ad0a74
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Canvas.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Bounds;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Canvas</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Canvas is a kind of group that has bounds. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Canvas#getBounds <em>Bounds</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCanvas()
+ * @model
+ * @generated
+ */
+public interface Canvas extends Group {
+ /**
+ * Returns the value of the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the bounds of the canvas in the x-y coordinate system. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Bounds</em>' containment reference.
+ * @see #setBounds(Bounds)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCanvas_Bounds()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Bounds getBounds();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Canvas#getBounds
+ * <em>Bounds</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Bounds</em>' containment reference.
+ * @see #getBounds()
+ * @generated
+ */
+ void setBounds(Bounds value);
+
+} // Canvas
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Circle.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Circle.java
new file mode 100644
index 00000000000..a48af9d97a4
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Circle.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Circle</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Circle is a graphical element that defines a
+ * circular shape with a given center point and a radius. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Circle#getCenter <em>Center</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Circle#getRadius <em>Radius</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCircle()
+ * @model
+ * @generated
+ */
+public interface Circle extends GraphicalElement {
+ /**
+ * Returns the value of the '<em><b>Center</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the center point of the circle in the x-y coordinate system. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Center</em>' containment reference.
+ * @see #setCenter(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCircle_Center()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getCenter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Circle#getCenter
+ * <em>Center</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Center</em>' containment reference.
+ * @see #getCenter()
+ * @generated
+ */
+ void setCenter(Point value);
+
+ /**
+ * Returns the value of the '<em><b>Radius</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number (>=0) that represents the radius of the circle. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Radius</em>' attribute.
+ * @see #setRadius(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCircle_Radius()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getRadius();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Circle#getRadius
+ * <em>Radius</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Radius</em>' attribute.
+ * @see #getRadius()
+ * @generated
+ */
+ void setRadius(double value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the radius cannot be negative
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='radius >= 0'"
+ * @generated
+ */
+ boolean nonNegativeRadius(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+} // Circle
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/ClipPath.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/ClipPath.java
new file mode 100644
index 00000000000..8652e6c3eb9
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/ClipPath.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Clip Path</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> ClipPath is a kind of group whose members
+ * collectively define a painting mask for its referencing graphical elements.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getClipPath()
+ * @model
+ * @generated
+ */
+public interface ClipPath extends Group {
+} // ClipPath
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/ClosePath.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/ClosePath.java
new file mode 100644
index 00000000000..d6d6efc3457
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/ClosePath.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Close Path</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> ClosePath is a kind of path command that ends the
+ * current subpath and causes an automatic straight line to be drawn from the
+ * current point to the initial point of the current subpath. <!-- end-model-doc
+ * -->
+ *
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getClosePath()
+ * @model
+ * @generated
+ */
+public interface ClosePath extends PathCommand {
+} // ClosePath
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/CubicCurveTo.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/CubicCurveTo.java
new file mode 100644
index 00000000000..cad76fb9705
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/CubicCurveTo.java
@@ -0,0 +1,128 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Cubic Curve To</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> CubicCurveTo is a kind of path command that draws a
+ * cubic b?zier curve from the current point to a new point using a start and an
+ * end control points. Definitions nests definitions that are commonly
+ * referenced in the containing canvas. It can also nest an embedded stylesheet.
+ * EllipticalArcTo is a kind of path command that draws an elliptical arc from
+ * the current point to a new point in the coordinate system. QuadraticCurveTo
+ * is a kind of path command that draws a quadratic b?zier curve from the
+ * current point to a new point using a single control point. <!-- end-model-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getPoint <em>Point</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getStartControl <em>Start
+ * Control</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getEndControl <em>End
+ * Control</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCubicCurveTo()
+ * @model
+ * @generated
+ */
+public interface CubicCurveTo extends PathCommand {
+ /**
+ * Returns the value of the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * point to draw a cubic b?zier curve to from the current point in the
+ * coordinate system. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Point</em>' containment reference.
+ * @see #setPoint(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCubicCurveTo_Point()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getPoint();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getPoint <em>Point</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Point</em>' containment reference.
+ * @see #getPoint()
+ * @generated
+ */
+ void setPoint(Point value);
+
+ /**
+ * Returns the value of the '<em><b>Start Control</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> the start control point of the cubic b?zier curve.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Start Control</em>' containment reference.
+ * @see #setStartControl(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCubicCurveTo_StartControl()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getStartControl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getStartControl
+ * <em>Start Control</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Start Control</em>' containment
+ * reference.
+ * @see #getStartControl()
+ * @generated
+ */
+ void setStartControl(Point value);
+
+ /**
+ * Returns the value of the '<em><b>End Control</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> the end control point of the cubic b?zier curve. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>End Control</em>' containment reference.
+ * @see #setEndControl(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getCubicCurveTo_EndControl()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getEndControl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getEndControl
+ * <em>End Control</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>End Control</em>' containment
+ * reference.
+ * @see #getEndControl()
+ * @generated
+ */
+ void setEndControl(Point value);
+
+} // CubicCurveTo
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/DGFactory.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/DGFactory.java
new file mode 100644
index 00000000000..63fb694ffa8
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/DGFactory.java
@@ -0,0 +1,365 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+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.papyrus.dd.dg.DGPackage
+ * @generated
+ */
+public interface DGFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ DGFactory eINSTANCE = org.eclipse.papyrus.dd.dg.impl.DGFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Canvas</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Canvas</em>'.
+ * @generated
+ */
+ Canvas createCanvas();
+
+ /**
+ * 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
+ */
+ Group createGroup();
+
+ /**
+ * Returns a new object of class '<em>Move To</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Move To</em>'.
+ * @generated
+ */
+ MoveTo createMoveTo();
+
+ /**
+ * Returns a new object of class '<em>Clip Path</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Clip Path</em>'.
+ * @generated
+ */
+ ClipPath createClipPath();
+
+ /**
+ * Returns a new object of class '<em>Style</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Style</em>'.
+ * @generated
+ */
+ Style createStyle();
+
+ /**
+ * Returns a new object of class '<em>Paint</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Paint</em>'.
+ * @generated
+ */
+ Paint createPaint();
+
+ /**
+ * Returns a new object of class '<em>Circle</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Circle</em>'.
+ * @generated
+ */
+ Circle createCircle();
+
+ /**
+ * Returns a new object of class '<em>Close Path</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Close Path</em>'.
+ * @generated
+ */
+ ClosePath createClosePath();
+
+ /**
+ * Returns a new object of class '<em>Cubic Curve To</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Cubic Curve To</em>'.
+ * @generated
+ */
+ CubicCurveTo createCubicCurveTo();
+
+ /**
+ * Returns a new object of class '<em>Definitions</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Definitions</em>'.
+ * @generated
+ */
+ Definitions createDefinitions();
+
+ /**
+ * Returns a new object of class '<em>Style Sheet</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Style Sheet</em>'.
+ * @generated
+ */
+ StyleSheet createStyleSheet();
+
+ /**
+ * Returns a new object of class '<em>Style Rule</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Style Rule</em>'.
+ * @generated
+ */
+ StyleRule createStyleRule();
+
+ /**
+ * Returns a new object of class '<em>Style Selector</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Style Selector</em>'.
+ * @generated
+ */
+ StyleSelector createStyleSelector();
+
+ /**
+ * Returns a new object of class '<em>Ellipse</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Ellipse</em>'.
+ * @generated
+ */
+ Ellipse createEllipse();
+
+ /**
+ * Returns a new object of class '<em>Elliptical Curve To</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Elliptical Curve To</em>'.
+ * @generated
+ */
+ EllipticalCurveTo createEllipticalCurveTo();
+
+ /**
+ * Returns a new object of class '<em>Quadratic Curve To</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Quadratic Curve To</em>'.
+ * @generated
+ */
+ QuadraticCurveTo createQuadraticCurveTo();
+
+ /**
+ * Returns a new object of class '<em>Gradient Stop</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Gradient Stop</em>'.
+ * @generated
+ */
+ GradientStop createGradientStop();
+
+ /**
+ * Returns a new object of class '<em>Image</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Image</em>'.
+ * @generated
+ */
+ Image createImage();
+
+ /**
+ * Returns a new object of class '<em>Line</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Line</em>'.
+ * @generated
+ */
+ Line createLine();
+
+ /**
+ * Returns a new object of class '<em>Marker</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Marker</em>'.
+ * @generated
+ */
+ Marker createMarker();
+
+ /**
+ * Returns a new object of class '<em>Linear Gradient</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Linear Gradient</em>'.
+ * @generated
+ */
+ LinearGradient createLinearGradient();
+
+ /**
+ * Returns a new object of class '<em>Line To</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Line To</em>'.
+ * @generated
+ */
+ LineTo createLineTo();
+
+ /**
+ * Returns a new object of class '<em>Matrix</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Matrix</em>'.
+ * @generated
+ */
+ Matrix createMatrix();
+
+ /**
+ * Returns a new object of class '<em>Path</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Path</em>'.
+ * @generated
+ */
+ Path createPath();
+
+ /**
+ * Returns a new object of class '<em>Pattern</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Pattern</em>'.
+ * @generated
+ */
+ Pattern createPattern();
+
+ /**
+ * Returns a new object of class '<em>Polygon</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Polygon</em>'.
+ * @generated
+ */
+ Polygon createPolygon();
+
+ /**
+ * Returns a new object of class '<em>Polyline</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Polyline</em>'.
+ * @generated
+ */
+ Polyline createPolyline();
+
+ /**
+ * Returns a new object of class '<em>Radial Gradient</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Radial Gradient</em>'.
+ * @generated
+ */
+ RadialGradient createRadialGradient();
+
+ /**
+ * Returns a new object of class '<em>Rectangle</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Rectangle</em>'.
+ * @generated
+ */
+ Rectangle createRectangle();
+
+ /**
+ * Returns a new object of class '<em>Root Canvas</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Root Canvas</em>'.
+ * @generated
+ */
+ RootCanvas createRootCanvas();
+
+ /**
+ * Returns a new object of class '<em>Rotate</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Rotate</em>'.
+ * @generated
+ */
+ Rotate createRotate();
+
+ /**
+ * Returns a new object of class '<em>Scale</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Scale</em>'.
+ * @generated
+ */
+ Scale createScale();
+
+ /**
+ * Returns a new object of class '<em>Skew</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Skew</em>'.
+ * @generated
+ */
+ Skew createSkew();
+
+ /**
+ * Returns a new object of class '<em>Text</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Text</em>'.
+ * @generated
+ */
+ Text createText();
+
+ /**
+ * Returns a new object of class '<em>Translate</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Translate</em>'.
+ * @generated
+ */
+ Translate createTranslate();
+
+ /**
+ * Returns a new object of class '<em>Use</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Use</em>'.
+ * @generated
+ */
+ Use createUse();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DGPackage getDGPackage();
+
+} // DGFactory
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/DGPackage.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/DGPackage.java
new file mode 100644
index 00000000000..078667a8d9a
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/DGPackage.java
@@ -0,0 +1,6677 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+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;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The Diagram Graphics (DG)
+ * package contains a model of graphical primitives that can be instantiated
+ * when mapping from a language abstract syntax models and diagram interchange
+ * (DI) models to visual presentations. The mapping effectively defines the
+ * concrete syntax of a language. This specification does not restrict how the
+ * mappings are done, or what languages are used to define them. <!--
+ * end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGFactory
+ * @model kind="package" annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore validationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL'"
+ * @generated
+ */
+public interface DGPackage extends EPackage {
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "dg";
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.omg.org/spec/DD/20110901/DG";
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "dg";
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ DGPackage eINSTANCE = org.eclipse.papyrus.dd.dg.impl.DGPackageImpl.init();
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.DefinitionImpl <em>Definition</em>}
+ * ' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.DefinitionImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getDefinition()
+ * @generated
+ */
+ int DEFINITION = 3;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEFINITION__ID = 0;
+
+ /**
+ * The number of structural features of the '<em>Definition</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEFINITION_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Definition</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEFINITION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl
+ * <em>Graphical Element</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getGraphicalElement()
+ * @generated
+ */
+ int GRAPHICAL_ELEMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRAPHICAL_ELEMENT__ID = DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRAPHICAL_ELEMENT__CLIP_PATH = DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRAPHICAL_ELEMENT__GROUP = DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRAPHICAL_ELEMENT__KEYWORD = DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRAPHICAL_ELEMENT__STYLE = DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRAPHICAL_ELEMENT__TRANSFORM = DEFINITION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Graphical Element</em>'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRAPHICAL_ELEMENT_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Graphical Element</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRAPHICAL_ELEMENT_OPERATION_COUNT = DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.GroupImpl <em>Group</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.GroupImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getGroup()
+ * @generated
+ */
+ int GROUP = 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP__ID = GRAPHICAL_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP__CLIP_PATH = GRAPHICAL_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP__GROUP = GRAPHICAL_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP__KEYWORD = GRAPHICAL_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP__STYLE = GRAPHICAL_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP__TRANSFORM = GRAPHICAL_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP__MEMBER = GRAPHICAL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Group</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP_FEATURE_COUNT = GRAPHICAL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Group</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GROUP_OPERATION_COUNT = GRAPHICAL_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.CanvasImpl <em>Canvas</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.CanvasImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getCanvas()
+ * @generated
+ */
+ int CANVAS = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS__ID = GROUP__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS__CLIP_PATH = GROUP__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS__GROUP = GROUP__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS__KEYWORD = GROUP__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS__STYLE = GROUP__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS__TRANSFORM = GROUP__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS__MEMBER = GROUP__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS__BOUNDS = GROUP_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Canvas</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS_FEATURE_COUNT = GROUP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Canvas</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CANVAS_OPERATION_COUNT = GROUP_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PathCommandImpl
+ * <em>Path Command</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PathCommandImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPathCommand()
+ * @generated
+ */
+ int PATH_COMMAND = 5;
+
+ /**
+ * The feature id for the '<em><b>Is Relative</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH_COMMAND__IS_RELATIVE = 0;
+
+ /**
+ * The number of structural features of the '<em>Path Command</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH_COMMAND_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Path Command</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH_COMMAND_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.MoveToImpl <em>Move To</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.MoveToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getMoveTo()
+ * @generated
+ */
+ int MOVE_TO = 4;
+
+ /**
+ * The feature id for the '<em><b>Is Relative</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MOVE_TO__IS_RELATIVE = PATH_COMMAND__IS_RELATIVE;
+
+ /**
+ * The feature id for the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MOVE_TO__POINT = PATH_COMMAND_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Move To</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MOVE_TO_FEATURE_COUNT = PATH_COMMAND_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Move To</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MOVE_TO_OPERATION_COUNT = PATH_COMMAND_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.ClipPathImpl <em>Clip Path</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.ClipPathImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getClipPath()
+ * @generated
+ */
+ int CLIP_PATH = 6;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH__ID = GROUP__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH__CLIP_PATH = GROUP__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH__GROUP = GROUP__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH__KEYWORD = GROUP__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH__STYLE = GROUP__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH__TRANSFORM = GROUP__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH__MEMBER = GROUP__MEMBER;
+
+ /**
+ * The number of structural features of the '<em>Clip Path</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH_FEATURE_COUNT = GROUP_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Clip Path</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLIP_PATH_OPERATION_COUNT = GROUP_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.StyleImpl <em>Style</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.StyleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getStyle()
+ * @generated
+ */
+ int STYLE = 7;
+
+ /**
+ * The feature id for the '<em><b>Fill</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__FILL = 0;
+
+ /**
+ * The feature id for the '<em><b>Fill Opacity</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__FILL_OPACITY = 1;
+
+ /**
+ * The feature id for the '<em><b>Stroke</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__STROKE = 2;
+
+ /**
+ * The feature id for the '<em><b>Stroke Width</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__STROKE_WIDTH = 3;
+
+ /**
+ * The feature id for the '<em><b>Stroke Opacity</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__STROKE_OPACITY = 4;
+
+ /**
+ * The feature id for the '<em><b>Stroke Dash Length</b></em>' attribute
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__STROKE_DASH_LENGTH = 5;
+
+ /**
+ * The feature id for the '<em><b>Font Size</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__FONT_SIZE = 6;
+
+ /**
+ * The feature id for the '<em><b>Font Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__FONT_NAME = 7;
+
+ /**
+ * The feature id for the '<em><b>Font Italic</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__FONT_ITALIC = 8;
+
+ /**
+ * The feature id for the '<em><b>Font Bold</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__FONT_BOLD = 9;
+
+ /**
+ * The feature id for the '<em><b>Font Decoration</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE__FONT_DECORATION = 10;
+
+ /**
+ * The number of structural features of the '<em>Style</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_FEATURE_COUNT = 11;
+
+ /**
+ * The operation id for the '<em>Valid Font Size</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE___VALID_FONT_SIZE__DIAGNOSTICCHAIN_MAP = 0;
+
+ /**
+ * The operation id for the '<em>Valid Fill Opacity</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE___VALID_FILL_OPACITY__DIAGNOSTICCHAIN_MAP = 1;
+
+ /**
+ * The operation id for the '<em>Valid Stroke Width</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE___VALID_STROKE_WIDTH__DIAGNOSTICCHAIN_MAP = 2;
+
+ /**
+ * The operation id for the '<em>Valid Dash Length Size</em>' operation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE___VALID_DASH_LENGTH_SIZE__DIAGNOSTICCHAIN_MAP = 3;
+
+ /**
+ * The operation id for the '<em>Valid Stroke Opacity</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE___VALID_STROKE_OPACITY__DIAGNOSTICCHAIN_MAP = 4;
+
+ /**
+ * The number of operations of the '<em>Style</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_OPERATION_COUNT = 5;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PaintImpl <em>Paint</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PaintImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPaint()
+ * @generated
+ */
+ int PAINT = 8;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAINT__COLOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Paint Server</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAINT__PAINT_SERVER = 1;
+
+ /**
+ * The number of structural features of the '<em>Paint</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAINT_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Paint</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAINT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PaintServerImpl
+ * <em>Paint Server</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PaintServerImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPaintServer()
+ * @generated
+ */
+ int PAINT_SERVER = 9;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAINT_SERVER__ID = DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAINT_SERVER__TRANSFORM = DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Paint Server</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAINT_SERVER_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Paint Server</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAINT_SERVER_OPERATION_COUNT = DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.TransformImpl <em>Transform</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.TransformImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getTransform()
+ * @generated
+ */
+ int TRANSFORM = 10;
+
+ /**
+ * The number of structural features of the '<em>Transform</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSFORM_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Transform</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSFORM_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.CircleImpl <em>Circle</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.CircleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getCircle()
+ * @generated
+ */
+ int CIRCLE = 11;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE__ID = GRAPHICAL_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE__CLIP_PATH = GRAPHICAL_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE__GROUP = GRAPHICAL_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE__KEYWORD = GRAPHICAL_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE__STYLE = GRAPHICAL_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE__TRANSFORM = GRAPHICAL_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Center</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE__CENTER = GRAPHICAL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Radius</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE__RADIUS = GRAPHICAL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Circle</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE_FEATURE_COUNT = GRAPHICAL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Non Negative Radius</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE___NON_NEGATIVE_RADIUS__DIAGNOSTICCHAIN_MAP = GRAPHICAL_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Circle</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CIRCLE_OPERATION_COUNT = GRAPHICAL_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.ClosePathImpl <em>Close Path</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.ClosePathImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getClosePath()
+ * @generated
+ */
+ int CLOSE_PATH = 12;
+
+ /**
+ * The feature id for the '<em><b>Is Relative</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLOSE_PATH__IS_RELATIVE = PATH_COMMAND__IS_RELATIVE;
+
+ /**
+ * The number of structural features of the '<em>Close Path</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLOSE_PATH_FEATURE_COUNT = PATH_COMMAND_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Close Path</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLOSE_PATH_OPERATION_COUNT = PATH_COMMAND_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.CubicCurveToImpl
+ * <em>Cubic Curve To</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.CubicCurveToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getCubicCurveTo()
+ * @generated
+ */
+ int CUBIC_CURVE_TO = 13;
+
+ /**
+ * The feature id for the '<em><b>Is Relative</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUBIC_CURVE_TO__IS_RELATIVE = PATH_COMMAND__IS_RELATIVE;
+
+ /**
+ * The feature id for the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUBIC_CURVE_TO__POINT = PATH_COMMAND_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Start Control</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUBIC_CURVE_TO__START_CONTROL = PATH_COMMAND_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>End Control</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUBIC_CURVE_TO__END_CONTROL = PATH_COMMAND_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Cubic Curve To</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUBIC_CURVE_TO_FEATURE_COUNT = PATH_COMMAND_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Cubic Curve To</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CUBIC_CURVE_TO_OPERATION_COUNT = PATH_COMMAND_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.DefinitionsImpl
+ * <em>Definitions</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.DefinitionsImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getDefinitions()
+ * @generated
+ */
+ int DEFINITIONS = 14;
+
+ /**
+ * The feature id for the '<em><b>Defnition</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__DEFNITION = 0;
+
+ /**
+ * The feature id for the '<em><b>Style Sheet</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__STYLE_SHEET = 1;
+
+ /**
+ * The number of structural features of the '<em>Definitions</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Definitions</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.StyleSheetImpl
+ * <em>Style Sheet</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.StyleSheetImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getStyleSheet()
+ * @generated
+ */
+ int STYLE_SHEET = 15;
+
+ /**
+ * The feature id for the '<em><b>Rule</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_SHEET__RULE = 0;
+
+ /**
+ * The number of structural features of the '<em>Style Sheet</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_SHEET_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Style Sheet</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_SHEET_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.StyleRuleImpl <em>Style Rule</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.StyleRuleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getStyleRule()
+ * @generated
+ */
+ int STYLE_RULE = 16;
+
+ /**
+ * The feature id for the '<em><b>Selector</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_RULE__SELECTOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_RULE__STYLE = 1;
+
+ /**
+ * The number of structural features of the '<em>Style Rule</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_RULE_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Style Rule</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_RULE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.StyleSelectorImpl
+ * <em>Style Selector</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.StyleSelectorImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getStyleSelector()
+ * @generated
+ */
+ int STYLE_SELECTOR = 17;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_SELECTOR__TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_SELECTOR__KEYWORD = 1;
+
+ /**
+ * The number of structural features of the '<em>Style Selector</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_SELECTOR_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Style Selector</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_SELECTOR_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.EllipseImpl <em>Ellipse</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.EllipseImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getEllipse()
+ * @generated
+ */
+ int ELLIPSE = 18;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__ID = GRAPHICAL_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__CLIP_PATH = GRAPHICAL_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__GROUP = GRAPHICAL_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__KEYWORD = GRAPHICAL_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__STYLE = GRAPHICAL_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__TRANSFORM = GRAPHICAL_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Center</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__CENTER = GRAPHICAL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Radii</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__RADII = GRAPHICAL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Ellipse</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_FEATURE_COUNT = GRAPHICAL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Ellipse</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE_OPERATION_COUNT = GRAPHICAL_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl
+ * <em>Elliptical Curve To</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getEllipticalCurveTo()
+ * @generated
+ */
+ int ELLIPTICAL_CURVE_TO = 19;
+
+ /**
+ * The feature id for the '<em><b>Is Relative</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPTICAL_CURVE_TO__IS_RELATIVE = PATH_COMMAND__IS_RELATIVE;
+
+ /**
+ * The feature id for the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPTICAL_CURVE_TO__POINT = PATH_COMMAND_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Radii</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPTICAL_CURVE_TO__RADII = PATH_COMMAND_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Rotation</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPTICAL_CURVE_TO__ROTATION = PATH_COMMAND_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Large Arc</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPTICAL_CURVE_TO__IS_LARGE_ARC = PATH_COMMAND_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Sweep</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPTICAL_CURVE_TO__IS_SWEEP = PATH_COMMAND_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Elliptical Curve To</em>'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPTICAL_CURVE_TO_FEATURE_COUNT = PATH_COMMAND_FEATURE_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Elliptical Curve To</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELLIPTICAL_CURVE_TO_OPERATION_COUNT = PATH_COMMAND_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.QuadraticCurveToImpl
+ * <em>Quadratic Curve To</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.QuadraticCurveToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getQuadraticCurveTo()
+ * @generated
+ */
+ int QUADRATIC_CURVE_TO = 20;
+
+ /**
+ * The feature id for the '<em><b>Is Relative</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUADRATIC_CURVE_TO__IS_RELATIVE = PATH_COMMAND__IS_RELATIVE;
+
+ /**
+ * The feature id for the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUADRATIC_CURVE_TO__POINT = PATH_COMMAND_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Control</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUADRATIC_CURVE_TO__CONTROL = PATH_COMMAND_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Quadratic Curve To</em>'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUADRATIC_CURVE_TO_FEATURE_COUNT = PATH_COMMAND_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Quadratic Curve To</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUADRATIC_CURVE_TO_OPERATION_COUNT = PATH_COMMAND_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.GradientImpl <em>Gradient</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.GradientImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getGradient()
+ * @generated
+ */
+ int GRADIENT = 21;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT__ID = PAINT_SERVER__ID;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT__TRANSFORM = PAINT_SERVER__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Stop</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT__STOP = PAINT_SERVER_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Gradient</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_FEATURE_COUNT = PAINT_SERVER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Gradient</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_OPERATION_COUNT = PAINT_SERVER_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.GradientStopImpl
+ * <em>Gradient Stop</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.GradientStopImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getGradientStop()
+ * @generated
+ */
+ int GRADIENT_STOP = 22;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_STOP__COLOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Offset</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_STOP__OFFSET = 1;
+
+ /**
+ * The feature id for the '<em><b>Opacity</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_STOP__OPACITY = 2;
+
+ /**
+ * The number of structural features of the '<em>Gradient Stop</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_STOP_FEATURE_COUNT = 3;
+
+ /**
+ * The operation id for the '<em>Valid Offset</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_STOP___VALID_OFFSET__DIAGNOSTICCHAIN_MAP = 0;
+
+ /**
+ * The operation id for the '<em>Valid Opacity</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_STOP___VALID_OPACITY__DIAGNOSTICCHAIN_MAP = 1;
+
+ /**
+ * The number of operations of the '<em>Gradient Stop</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GRADIENT_STOP_OPERATION_COUNT = 2;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.ImageImpl <em>Image</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.ImageImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getImage()
+ * @generated
+ */
+ int IMAGE = 23;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__ID = GRAPHICAL_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__CLIP_PATH = GRAPHICAL_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__GROUP = GRAPHICAL_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__KEYWORD = GRAPHICAL_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__STYLE = GRAPHICAL_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__TRANSFORM = GRAPHICAL_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__SOURCE = GRAPHICAL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__BOUNDS = GRAPHICAL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Aspect Ratio Preserved</b></em>'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE__IS_ASPECT_RATIO_PRESERVED = GRAPHICAL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Image</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE_FEATURE_COUNT = GRAPHICAL_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Image</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMAGE_OPERATION_COUNT = GRAPHICAL_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.MarkedElementImpl
+ * <em>Marked Element</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.MarkedElementImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getMarkedElement()
+ * @generated
+ */
+ int MARKED_ELEMENT = 25;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__ID = GRAPHICAL_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__CLIP_PATH = GRAPHICAL_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__GROUP = GRAPHICAL_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__KEYWORD = GRAPHICAL_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__STYLE = GRAPHICAL_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__TRANSFORM = GRAPHICAL_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>End Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__END_MARKER = GRAPHICAL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Mid Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__MID_MARKER = GRAPHICAL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Start Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT__START_MARKER = GRAPHICAL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Marked Element</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT_FEATURE_COUNT = GRAPHICAL_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Marked Element</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKED_ELEMENT_OPERATION_COUNT = GRAPHICAL_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.LineImpl <em>Line</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.LineImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getLine()
+ * @generated
+ */
+ int LINE = 24;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__ID = MARKED_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__CLIP_PATH = MARKED_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__GROUP = MARKED_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__KEYWORD = MARKED_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__STYLE = MARKED_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__TRANSFORM = MARKED_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>End Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__END_MARKER = MARKED_ELEMENT__END_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Mid Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__MID_MARKER = MARKED_ELEMENT__MID_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Start Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__START_MARKER = MARKED_ELEMENT__START_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Start</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__START = MARKED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>End</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE__END = MARKED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Line</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE_FEATURE_COUNT = MARKED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Line</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE_OPERATION_COUNT = MARKED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.MarkerImpl <em>Marker</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.MarkerImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getMarker()
+ * @generated
+ */
+ int MARKER = 26;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__ID = GROUP__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__CLIP_PATH = GROUP__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__GROUP = GROUP__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__KEYWORD = GROUP__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__STYLE = GROUP__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__TRANSFORM = GROUP__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__MEMBER = GROUP__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Size</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__SIZE = GROUP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Reference</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER__REFERENCE = GROUP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Marker</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER_FEATURE_COUNT = GROUP_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Marker</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKER_OPERATION_COUNT = GROUP_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.LinearGradientImpl
+ * <em>Linear Gradient</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.LinearGradientImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getLinearGradient()
+ * @generated
+ */
+ int LINEAR_GRADIENT = 27;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINEAR_GRADIENT__ID = GRADIENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINEAR_GRADIENT__TRANSFORM = GRADIENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Stop</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINEAR_GRADIENT__STOP = GRADIENT__STOP;
+
+ /**
+ * The feature id for the '<em><b>Start</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINEAR_GRADIENT__START = GRADIENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>End</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINEAR_GRADIENT__END = GRADIENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Linear Gradient</em>'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINEAR_GRADIENT_FEATURE_COUNT = GRADIENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Valid Gradient Vector</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINEAR_GRADIENT___VALID_GRADIENT_VECTOR__DIAGNOSTICCHAIN_MAP = GRADIENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Linear Gradient</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINEAR_GRADIENT_OPERATION_COUNT = GRADIENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.LineToImpl <em>Line To</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.LineToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getLineTo()
+ * @generated
+ */
+ int LINE_TO = 28;
+
+ /**
+ * The feature id for the '<em><b>Is Relative</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE_TO__IS_RELATIVE = PATH_COMMAND__IS_RELATIVE;
+
+ /**
+ * The feature id for the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE_TO__POINT = PATH_COMMAND_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Line To</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE_TO_FEATURE_COUNT = PATH_COMMAND_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Line To</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINE_TO_OPERATION_COUNT = PATH_COMMAND_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.MatrixImpl <em>Matrix</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.MatrixImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getMatrix()
+ * @generated
+ */
+ int MATRIX = 29;
+
+ /**
+ * The feature id for the '<em><b>A</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATRIX__A = TRANSFORM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>B</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATRIX__B = TRANSFORM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>C</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATRIX__C = TRANSFORM_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>D</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATRIX__D = TRANSFORM_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>E</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATRIX__E = TRANSFORM_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>F</b></em>' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATRIX__F = TRANSFORM_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Matrix</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATRIX_FEATURE_COUNT = TRANSFORM_FEATURE_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Matrix</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MATRIX_OPERATION_COUNT = TRANSFORM_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PathImpl <em>Path</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PathImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPath()
+ * @generated
+ */
+ int PATH = 30;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__ID = MARKED_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__CLIP_PATH = MARKED_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__GROUP = MARKED_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__KEYWORD = MARKED_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__STYLE = MARKED_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__TRANSFORM = MARKED_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>End Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__END_MARKER = MARKED_ELEMENT__END_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Mid Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__MID_MARKER = MARKED_ELEMENT__MID_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Start Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__START_MARKER = MARKED_ELEMENT__START_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Command</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH__COMMAND = MARKED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Path</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH_FEATURE_COUNT = MARKED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Path</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATH_OPERATION_COUNT = MARKED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PatternImpl <em>Pattern</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PatternImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPattern()
+ * @generated
+ */
+ int PATTERN = 31;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATTERN__ID = PAINT_SERVER__ID;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATTERN__TRANSFORM = PAINT_SERVER__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATTERN__BOUNDS = PAINT_SERVER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Tile</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATTERN__TILE = PAINT_SERVER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Pattern</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATTERN_FEATURE_COUNT = PAINT_SERVER_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Pattern</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PATTERN_OPERATION_COUNT = PAINT_SERVER_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PolygonImpl <em>Polygon</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PolygonImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPolygon()
+ * @generated
+ */
+ int POLYGON = 32;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__ID = MARKED_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__CLIP_PATH = MARKED_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__GROUP = MARKED_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__KEYWORD = MARKED_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__STYLE = MARKED_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__TRANSFORM = MARKED_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>End Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__END_MARKER = MARKED_ELEMENT__END_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Mid Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__MID_MARKER = MARKED_ELEMENT__MID_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Start Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__START_MARKER = MARKED_ELEMENT__START_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Point</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON__POINT = MARKED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Polygon</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON_FEATURE_COUNT = MARKED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Polygon</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYGON_OPERATION_COUNT = MARKED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PolylineImpl <em>Polyline</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PolylineImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPolyline()
+ * @generated
+ */
+ int POLYLINE = 33;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__ID = MARKED_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__CLIP_PATH = MARKED_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__GROUP = MARKED_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__KEYWORD = MARKED_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__STYLE = MARKED_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__TRANSFORM = MARKED_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>End Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__END_MARKER = MARKED_ELEMENT__END_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Mid Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__MID_MARKER = MARKED_ELEMENT__MID_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Start Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__START_MARKER = MARKED_ELEMENT__START_MARKER;
+
+ /**
+ * The feature id for the '<em><b>Point</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__POINT = MARKED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Polyline</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE_FEATURE_COUNT = MARKED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Polyline</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POLYLINE_OPERATION_COUNT = MARKED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.RadialGradientImpl
+ * <em>Radial Gradient</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.RadialGradientImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getRadialGradient()
+ * @generated
+ */
+ int RADIAL_GRADIENT = 34;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT__ID = GRADIENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT__TRANSFORM = GRADIENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Stop</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT__STOP = GRADIENT__STOP;
+
+ /**
+ * The feature id for the '<em><b>Center</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT__CENTER = GRADIENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Focus</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT__FOCUS = GRADIENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Radius</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT__RADIUS = GRADIENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Radial Gradient</em>'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT_FEATURE_COUNT = GRADIENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Valid Center Point</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT___VALID_CENTER_POINT__DIAGNOSTICCHAIN_MAP = GRADIENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Valid Focus Point</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT___VALID_FOCUS_POINT__DIAGNOSTICCHAIN_MAP = GRADIENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Valid Radius</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT___VALID_RADIUS__DIAGNOSTICCHAIN_MAP = GRADIENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Radial Gradient</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RADIAL_GRADIENT_OPERATION_COUNT = GRADIENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.RectangleImpl <em>Rectangle</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.RectangleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getRectangle()
+ * @generated
+ */
+ int RECTANGLE = 35;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE__ID = GRAPHICAL_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE__CLIP_PATH = GRAPHICAL_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE__GROUP = GRAPHICAL_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE__KEYWORD = GRAPHICAL_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE__STYLE = GRAPHICAL_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE__TRANSFORM = GRAPHICAL_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE__BOUNDS = GRAPHICAL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Corner Radius</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE__CORNER_RADIUS = GRAPHICAL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Rectangle</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE_FEATURE_COUNT = GRAPHICAL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Rectangle</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECTANGLE_OPERATION_COUNT = GRAPHICAL_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.RootCanvasImpl
+ * <em>Root Canvas</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.RootCanvasImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getRootCanvas()
+ * @generated
+ */
+ int ROOT_CANVAS = 36;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__ID = CANVAS__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__CLIP_PATH = CANVAS__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__GROUP = CANVAS__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__KEYWORD = CANVAS__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__STYLE = CANVAS__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__TRANSFORM = CANVAS__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__MEMBER = CANVAS__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__BOUNDS = CANVAS__BOUNDS;
+
+ /**
+ * The feature id for the '<em><b>Background Color</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__BACKGROUND_COLOR = CANVAS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Definitions</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__DEFINITIONS = CANVAS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Style Sheet</b></em>' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS__STYLE_SHEET = CANVAS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Root Canvas</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS_FEATURE_COUNT = CANVAS_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Root Canvas</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROOT_CANVAS_OPERATION_COUNT = CANVAS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.RotateImpl <em>Rotate</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.RotateImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getRotate()
+ * @generated
+ */
+ int ROTATE = 37;
+
+ /**
+ * The feature id for the '<em><b>Angle</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROTATE__ANGLE = TRANSFORM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Center</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROTATE__CENTER = TRANSFORM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Rotate</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROTATE_FEATURE_COUNT = TRANSFORM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Rotate</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ROTATE_OPERATION_COUNT = TRANSFORM_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.ScaleImpl <em>Scale</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.ScaleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getScale()
+ * @generated
+ */
+ int SCALE = 38;
+
+ /**
+ * The feature id for the '<em><b>Factor X</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCALE__FACTOR_X = TRANSFORM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Factor Y</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCALE__FACTOR_Y = TRANSFORM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Scale</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCALE_FEATURE_COUNT = TRANSFORM_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Nonnegativescale</em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCALE___NONNEGATIVESCALE__DIAGNOSTICCHAIN_MAP = TRANSFORM_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Scale</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCALE_OPERATION_COUNT = TRANSFORM_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.SkewImpl <em>Skew</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.SkewImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getSkew()
+ * @generated
+ */
+ int SKEW = 39;
+
+ /**
+ * The feature id for the '<em><b>Angle X</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SKEW__ANGLE_X = TRANSFORM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Angle Y</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SKEW__ANGLE_Y = TRANSFORM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Skew</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SKEW_FEATURE_COUNT = TRANSFORM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Skew</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SKEW_OPERATION_COUNT = TRANSFORM_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.TextImpl <em>Text</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.TextImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getText()
+ * @generated
+ */
+ int TEXT = 40;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT__ID = GRAPHICAL_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT__CLIP_PATH = GRAPHICAL_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT__GROUP = GRAPHICAL_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT__KEYWORD = GRAPHICAL_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT__STYLE = GRAPHICAL_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT__TRANSFORM = GRAPHICAL_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Data</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT__DATA = GRAPHICAL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Position</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT__POSITION = GRAPHICAL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Text</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT_FEATURE_COUNT = GRAPHICAL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Text</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEXT_OPERATION_COUNT = GRAPHICAL_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.TranslateImpl <em>Translate</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.TranslateImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getTranslate()
+ * @generated
+ */
+ int TRANSLATE = 41;
+
+ /**
+ * The feature id for the '<em><b>Delta X</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSLATE__DELTA_X = TRANSFORM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Delta Y</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSLATE__DELTA_Y = TRANSFORM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Translate</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSLATE_FEATURE_COUNT = TRANSFORM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Translate</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSLATE_OPERATION_COUNT = TRANSFORM_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.UseImpl <em>Use</em>}' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.UseImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getUse()
+ * @generated
+ */
+ int USE = 42;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE__ID = GRAPHICAL_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE__CLIP_PATH = GRAPHICAL_ELEMENT__CLIP_PATH;
+
+ /**
+ * The feature id for the '<em><b>Group</b></em>' container reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE__GROUP = GRAPHICAL_ELEMENT__GROUP;
+
+ /**
+ * The feature id for the '<em><b>Keyword</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE__KEYWORD = GRAPHICAL_ELEMENT__KEYWORD;
+
+ /**
+ * The feature id for the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE__STYLE = GRAPHICAL_ELEMENT__STYLE;
+
+ /**
+ * The feature id for the '<em><b>Transform</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE__TRANSFORM = GRAPHICAL_ELEMENT__TRANSFORM;
+
+ /**
+ * The feature id for the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE__BOUNDS = GRAPHICAL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Use</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE_FEATURE_COUNT = GRAPHICAL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Use</em>' class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int USE_OPERATION_COUNT = GRAPHICAL_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.dg.FontDecoration <em>Font Decoration</em>}
+ * ' enum. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.FontDecoration
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getFontDecoration()
+ * @generated
+ */
+ int FONT_DECORATION = 43;
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Canvas <em>Canvas</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Canvas</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Canvas
+ * @generated
+ */
+ EClass getCanvas();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Canvas#getBounds <em>Bounds</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Bounds</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Canvas#getBounds()
+ * @see #getCanvas()
+ * @generated
+ */
+ EReference getCanvas_Bounds();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Group <em>Group</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Group</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Group
+ * @generated
+ */
+ EClass getGroup();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.Group#getMember <em>Member</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Member</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Group#getMember()
+ * @see #getGroup()
+ * @generated
+ */
+ EReference getGroup_Member();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement
+ * <em>Graphical Element</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Graphical Element</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GraphicalElement
+ * @generated
+ */
+ EClass getGraphicalElement();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#getClipPath
+ * <em>Clip Path</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Clip Path</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GraphicalElement#getClipPath()
+ * @see #getGraphicalElement()
+ * @generated
+ */
+ EReference getGraphicalElement_ClipPath();
+
+ /**
+ * Returns the meta object for the container reference '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#getGroup
+ * <em>Group</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the container reference '<em>Group</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GraphicalElement#getGroup()
+ * @see #getGraphicalElement()
+ * @generated
+ */
+ EReference getGraphicalElement_Group();
+
+ /**
+ * Returns the meta object for the attribute list '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#getKeyword
+ * <em>Keyword</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Keyword</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GraphicalElement#getKeyword()
+ * @see #getGraphicalElement()
+ * @generated
+ */
+ EAttribute getGraphicalElement_Keyword();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#getStyle
+ * <em>Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Style</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GraphicalElement#getStyle()
+ * @see #getGraphicalElement()
+ * @generated
+ */
+ EReference getGraphicalElement_Style();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#getTransform
+ * <em>Transform</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Transform</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GraphicalElement#getTransform()
+ * @see #getGraphicalElement()
+ * @generated
+ */
+ EReference getGraphicalElement_Transform();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Definition <em>Definition</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Definition</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Definition
+ * @generated
+ */
+ EClass getDefinition();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Definition#getId <em>Id</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Definition#getId()
+ * @see #getDefinition()
+ * @generated
+ */
+ EAttribute getDefinition_Id();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.MoveTo <em>Move To</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Move To</em>'.
+ * @see org.eclipse.papyrus.dd.dg.MoveTo
+ * @generated
+ */
+ EClass getMoveTo();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.MoveTo#getPoint <em>Point</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Point</em>'.
+ * @see org.eclipse.papyrus.dd.dg.MoveTo#getPoint()
+ * @see #getMoveTo()
+ * @generated
+ */
+ EReference getMoveTo_Point();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.PathCommand <em>Path Command</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Path Command</em>'.
+ * @see org.eclipse.papyrus.dd.dg.PathCommand
+ * @generated
+ */
+ EClass getPathCommand();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.PathCommand#isRelative
+ * <em>Is Relative</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Relative</em>'.
+ * @see org.eclipse.papyrus.dd.dg.PathCommand#isRelative()
+ * @see #getPathCommand()
+ * @generated
+ */
+ EAttribute getPathCommand_IsRelative();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.ClipPath <em>Clip Path</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Clip Path</em>'.
+ * @see org.eclipse.papyrus.dd.dg.ClipPath
+ * @generated
+ */
+ EClass getClipPath();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Style <em>Style</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Style</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style
+ * @generated
+ */
+ EClass getStyle();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFill <em>Fill</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Fill</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getFill()
+ * @see #getStyle()
+ * @generated
+ */
+ EReference getStyle_Fill();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFillOpacity
+ * <em>Fill Opacity</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Fill Opacity</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getFillOpacity()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_FillOpacity();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStroke <em>Stroke</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Stroke</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getStroke()
+ * @see #getStyle()
+ * @generated
+ */
+ EReference getStyle_Stroke();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeWidth
+ * <em>Stroke Width</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Stroke Width</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getStrokeWidth()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_StrokeWidth();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeOpacity
+ * <em>Stroke Opacity</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Stroke Opacity</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getStrokeOpacity()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_StrokeOpacity();
+
+ /**
+ * Returns the meta object for the attribute list '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeDashLength
+ * <em>Stroke Dash Length</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute list '
+ * <em>Stroke Dash Length</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getStrokeDashLength()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_StrokeDashLength();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontSize <em>Font Size</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Font Size</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getFontSize()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_FontSize();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontName <em>Font Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Font Name</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getFontName()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_FontName();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Style#isFontItalic <em>Font Italic</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Font Italic</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#isFontItalic()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_FontItalic();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Style#isFontBold <em>Font Bold</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Font Bold</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#isFontBold()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_FontBold();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontDecoration
+ * <em>Font Decoration</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Font Decoration</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Style#getFontDecoration()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_FontDecoration();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#validFontSize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Font Size</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Font Size</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.Style#validFontSize(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getStyle__ValidFontSize__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#validFillOpacity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Fill Opacity</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Fill Opacity</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.Style#validFillOpacity(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getStyle__ValidFillOpacity__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#validStrokeWidth(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Stroke Width</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Stroke Width</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.Style#validStrokeWidth(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getStyle__ValidStrokeWidth__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#validDashLengthSize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Dash Length Size</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Dash Length Size</em>'
+ * operation.
+ * @see org.eclipse.papyrus.dd.dg.Style#validDashLengthSize(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getStyle__ValidDashLengthSize__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#validStrokeOpacity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Stroke Opacity</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Stroke Opacity</em>'
+ * operation.
+ * @see org.eclipse.papyrus.dd.dg.Style#validStrokeOpacity(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getStyle__ValidStrokeOpacity__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Paint <em>Paint</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Paint</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Paint
+ * @generated
+ */
+ EClass getPaint();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Paint#getColor <em>Color</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Color</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Paint#getColor()
+ * @see #getPaint()
+ * @generated
+ */
+ EAttribute getPaint_Color();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.dg.Paint#getPaintServer
+ * <em>Paint Server</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Paint Server</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Paint#getPaintServer()
+ * @see #getPaint()
+ * @generated
+ */
+ EReference getPaint_PaintServer();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.PaintServer <em>Paint Server</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Paint Server</em>'.
+ * @see org.eclipse.papyrus.dd.dg.PaintServer
+ * @generated
+ */
+ EClass getPaintServer();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.PaintServer#getTransform
+ * <em>Transform</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Transform</em>'.
+ * @see org.eclipse.papyrus.dd.dg.PaintServer#getTransform()
+ * @see #getPaintServer()
+ * @generated
+ */
+ EReference getPaintServer_Transform();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Transform <em>Transform</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Transform</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Transform
+ * @generated
+ */
+ EClass getTransform();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Circle <em>Circle</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Circle</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Circle
+ * @generated
+ */
+ EClass getCircle();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Circle#getCenter <em>Center</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Center</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Circle#getCenter()
+ * @see #getCircle()
+ * @generated
+ */
+ EReference getCircle_Center();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Circle#getRadius <em>Radius</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Radius</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Circle#getRadius()
+ * @see #getCircle()
+ * @generated
+ */
+ EAttribute getCircle_Radius();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.Circle#nonNegativeRadius(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Non Negative Radius</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Non Negative Radius</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.Circle#nonNegativeRadius(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getCircle__NonNegativeRadius__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.ClosePath <em>Close Path</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Close Path</em>'.
+ * @see org.eclipse.papyrus.dd.dg.ClosePath
+ * @generated
+ */
+ EClass getClosePath();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.CubicCurveTo <em>Cubic Curve To</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Cubic Curve To</em>'.
+ * @see org.eclipse.papyrus.dd.dg.CubicCurveTo
+ * @generated
+ */
+ EClass getCubicCurveTo();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getPoint <em>Point</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Point</em>'.
+ * @see org.eclipse.papyrus.dd.dg.CubicCurveTo#getPoint()
+ * @see #getCubicCurveTo()
+ * @generated
+ */
+ EReference getCubicCurveTo_Point();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getStartControl
+ * <em>Start Control</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>Start Control</em>'.
+ * @see org.eclipse.papyrus.dd.dg.CubicCurveTo#getStartControl()
+ * @see #getCubicCurveTo()
+ * @generated
+ */
+ EReference getCubicCurveTo_StartControl();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.CubicCurveTo#getEndControl
+ * <em>End Control</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>End Control</em>'.
+ * @see org.eclipse.papyrus.dd.dg.CubicCurveTo#getEndControl()
+ * @see #getCubicCurveTo()
+ * @generated
+ */
+ EReference getCubicCurveTo_EndControl();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Definitions <em>Definitions</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Definitions</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Definitions
+ * @generated
+ */
+ EClass getDefinitions();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.Definitions#getDefnition
+ * <em>Defnition</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Defnition</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Definitions#getDefnition()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EReference getDefinitions_Defnition();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Definitions#getStyleSheet
+ * <em>Style Sheet</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>Style Sheet</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Definitions#getStyleSheet()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EReference getDefinitions_StyleSheet();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.StyleSheet <em>Style Sheet</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Style Sheet</em>'.
+ * @see org.eclipse.papyrus.dd.dg.StyleSheet
+ * @generated
+ */
+ EClass getStyleSheet();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.StyleSheet#getRule <em>Rule</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Rule</em>
+ * '.
+ * @see org.eclipse.papyrus.dd.dg.StyleSheet#getRule()
+ * @see #getStyleSheet()
+ * @generated
+ */
+ EReference getStyleSheet_Rule();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.StyleRule <em>Style Rule</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Style Rule</em>'.
+ * @see org.eclipse.papyrus.dd.dg.StyleRule
+ * @generated
+ */
+ EClass getStyleRule();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.StyleRule#getSelector <em>Selector</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Selector</em>'.
+ * @see org.eclipse.papyrus.dd.dg.StyleRule#getSelector()
+ * @see #getStyleRule()
+ * @generated
+ */
+ EReference getStyleRule_Selector();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.StyleRule#getStyle <em>Style</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Style</em>'.
+ * @see org.eclipse.papyrus.dd.dg.StyleRule#getStyle()
+ * @see #getStyleRule()
+ * @generated
+ */
+ EReference getStyleRule_Style();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.StyleSelector <em>Style Selector</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Style Selector</em>'.
+ * @see org.eclipse.papyrus.dd.dg.StyleSelector
+ * @generated
+ */
+ EClass getStyleSelector();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.dg.StyleSelector#getType <em>Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.dd.dg.StyleSelector#getType()
+ * @see #getStyleSelector()
+ * @generated
+ */
+ EReference getStyleSelector_Type();
+
+ /**
+ * Returns the meta object for the attribute list '
+ * {@link org.eclipse.papyrus.dd.dg.StyleSelector#getKeyword
+ * <em>Keyword</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Keyword</em>'.
+ * @see org.eclipse.papyrus.dd.dg.StyleSelector#getKeyword()
+ * @see #getStyleSelector()
+ * @generated
+ */
+ EAttribute getStyleSelector_Keyword();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Ellipse <em>Ellipse</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Ellipse</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Ellipse
+ * @generated
+ */
+ EClass getEllipse();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Ellipse#getCenter <em>Center</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Center</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Ellipse#getCenter()
+ * @see #getEllipse()
+ * @generated
+ */
+ EReference getEllipse_Center();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Ellipse#getRadii <em>Radii</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Radii</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Ellipse#getRadii()
+ * @see #getEllipse()
+ * @generated
+ */
+ EReference getEllipse_Radii();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo
+ * <em>Elliptical Curve To</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Elliptical Curve To</em>'.
+ * @see org.eclipse.papyrus.dd.dg.EllipticalCurveTo
+ * @generated
+ */
+ EClass getEllipticalCurveTo();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getPoint
+ * <em>Point</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Point</em>'.
+ * @see org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getPoint()
+ * @see #getEllipticalCurveTo()
+ * @generated
+ */
+ EReference getEllipticalCurveTo_Point();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getRadii
+ * <em>Radii</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Radii</em>'.
+ * @see org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getRadii()
+ * @see #getEllipticalCurveTo()
+ * @generated
+ */
+ EReference getEllipticalCurveTo_Radii();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getRotation
+ * <em>Rotation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Rotation</em>'.
+ * @see org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getRotation()
+ * @see #getEllipticalCurveTo()
+ * @generated
+ */
+ EAttribute getEllipticalCurveTo_Rotation();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#isLargeArc
+ * <em>Is Large Arc</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Large Arc</em>'.
+ * @see org.eclipse.papyrus.dd.dg.EllipticalCurveTo#isLargeArc()
+ * @see #getEllipticalCurveTo()
+ * @generated
+ */
+ EAttribute getEllipticalCurveTo_IsLargeArc();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#isSweep
+ * <em>Is Sweep</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Sweep</em>'.
+ * @see org.eclipse.papyrus.dd.dg.EllipticalCurveTo#isSweep()
+ * @see #getEllipticalCurveTo()
+ * @generated
+ */
+ EAttribute getEllipticalCurveTo_IsSweep();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.QuadraticCurveTo
+ * <em>Quadratic Curve To</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Quadratic Curve To</em>'.
+ * @see org.eclipse.papyrus.dd.dg.QuadraticCurveTo
+ * @generated
+ */
+ EClass getQuadraticCurveTo();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.QuadraticCurveTo#getPoint
+ * <em>Point</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Point</em>'.
+ * @see org.eclipse.papyrus.dd.dg.QuadraticCurveTo#getPoint()
+ * @see #getQuadraticCurveTo()
+ * @generated
+ */
+ EReference getQuadraticCurveTo_Point();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.QuadraticCurveTo#getControl
+ * <em>Control</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Control</em>'.
+ * @see org.eclipse.papyrus.dd.dg.QuadraticCurveTo#getControl()
+ * @see #getQuadraticCurveTo()
+ * @generated
+ */
+ EReference getQuadraticCurveTo_Control();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Gradient <em>Gradient</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Gradient</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Gradient
+ * @generated
+ */
+ EClass getGradient();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.Gradient#getStop <em>Stop</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Stop</em>
+ * '.
+ * @see org.eclipse.papyrus.dd.dg.Gradient#getStop()
+ * @see #getGradient()
+ * @generated
+ */
+ EReference getGradient_Stop();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop <em>Gradient Stop</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Gradient Stop</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GradientStop
+ * @generated
+ */
+ EClass getGradientStop();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop#getColor <em>Color</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Color</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GradientStop#getColor()
+ * @see #getGradientStop()
+ * @generated
+ */
+ EAttribute getGradientStop_Color();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop#getOffset <em>Offset</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Offset</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GradientStop#getOffset()
+ * @see #getGradientStop()
+ * @generated
+ */
+ EAttribute getGradientStop_Offset();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop#getOpacity
+ * <em>Opacity</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Opacity</em>'.
+ * @see org.eclipse.papyrus.dd.dg.GradientStop#getOpacity()
+ * @see #getGradientStop()
+ * @generated
+ */
+ EAttribute getGradientStop_Opacity();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop#validOffset(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Offset</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Offset</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.GradientStop#validOffset(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getGradientStop__ValidOffset__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop#validOpacity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Opacity</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Opacity</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.GradientStop#validOpacity(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getGradientStop__ValidOpacity__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Image <em>Image</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Image</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Image
+ * @generated
+ */
+ EClass getImage();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Image#getSource <em>Source</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Source</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Image#getSource()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Source();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Image#getBounds <em>Bounds</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Bounds</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Image#getBounds()
+ * @see #getImage()
+ * @generated
+ */
+ EReference getImage_Bounds();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Image#isAspectRatioPreserved
+ * <em>Is Aspect Ratio Preserved</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the attribute '
+ * <em>Is Aspect Ratio Preserved</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Image#isAspectRatioPreserved()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_IsAspectRatioPreserved();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.dd.dg.Line
+ * <em>Line</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Line</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Line
+ * @generated
+ */
+ EClass getLine();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Line#getStart <em>Start</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Start</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Line#getStart()
+ * @see #getLine()
+ * @generated
+ */
+ EReference getLine_Start();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Line#getEnd <em>End</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>End</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Line#getEnd()
+ * @see #getLine()
+ * @generated
+ */
+ EReference getLine_End();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.MarkedElement <em>Marked Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Marked Element</em>'.
+ * @see org.eclipse.papyrus.dd.dg.MarkedElement
+ * @generated
+ */
+ EClass getMarkedElement();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.dg.MarkedElement#getEndMarker
+ * <em>End Marker</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>End Marker</em>'.
+ * @see org.eclipse.papyrus.dd.dg.MarkedElement#getEndMarker()
+ * @see #getMarkedElement()
+ * @generated
+ */
+ EReference getMarkedElement_EndMarker();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.dg.MarkedElement#getMidMarker
+ * <em>Mid Marker</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Mid Marker</em>'.
+ * @see org.eclipse.papyrus.dd.dg.MarkedElement#getMidMarker()
+ * @see #getMarkedElement()
+ * @generated
+ */
+ EReference getMarkedElement_MidMarker();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.dg.MarkedElement#getStartMarker
+ * <em>Start Marker</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Start Marker</em>'.
+ * @see org.eclipse.papyrus.dd.dg.MarkedElement#getStartMarker()
+ * @see #getMarkedElement()
+ * @generated
+ */
+ EReference getMarkedElement_StartMarker();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Marker <em>Marker</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Marker</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Marker
+ * @generated
+ */
+ EClass getMarker();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Marker#getSize <em>Size</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Size</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Marker#getSize()
+ * @see #getMarker()
+ * @generated
+ */
+ EReference getMarker_Size();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Marker#getReference <em>Reference</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Reference</em>
+ * '.
+ * @see org.eclipse.papyrus.dd.dg.Marker#getReference()
+ * @see #getMarker()
+ * @generated
+ */
+ EReference getMarker_Reference();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.LinearGradient <em>Linear Gradient</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Linear Gradient</em>'.
+ * @see org.eclipse.papyrus.dd.dg.LinearGradient
+ * @generated
+ */
+ EClass getLinearGradient();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.LinearGradient#getStart <em>Start</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Start</em>'.
+ * @see org.eclipse.papyrus.dd.dg.LinearGradient#getStart()
+ * @see #getLinearGradient()
+ * @generated
+ */
+ EReference getLinearGradient_Start();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.LinearGradient#getEnd <em>End</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>End</em>'.
+ * @see org.eclipse.papyrus.dd.dg.LinearGradient#getEnd()
+ * @see #getLinearGradient()
+ * @generated
+ */
+ EReference getLinearGradient_End();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.LinearGradient#validGradientVector(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Gradient Vector</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Gradient Vector</em>'
+ * operation.
+ * @see org.eclipse.papyrus.dd.dg.LinearGradient#validGradientVector(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getLinearGradient__ValidGradientVector__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.LineTo <em>Line To</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Line To</em>'.
+ * @see org.eclipse.papyrus.dd.dg.LineTo
+ * @generated
+ */
+ EClass getLineTo();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.LineTo#getPoint <em>Point</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Point</em>'.
+ * @see org.eclipse.papyrus.dd.dg.LineTo#getPoint()
+ * @see #getLineTo()
+ * @generated
+ */
+ EReference getLineTo_Point();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Matrix <em>Matrix</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Matrix</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Matrix
+ * @generated
+ */
+ EClass getMatrix();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Matrix#getA <em>A</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>A</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Matrix#getA()
+ * @see #getMatrix()
+ * @generated
+ */
+ EAttribute getMatrix_A();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Matrix#getB <em>B</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>B</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Matrix#getB()
+ * @see #getMatrix()
+ * @generated
+ */
+ EAttribute getMatrix_B();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Matrix#getC <em>C</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>C</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Matrix#getC()
+ * @see #getMatrix()
+ * @generated
+ */
+ EAttribute getMatrix_C();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Matrix#getD <em>D</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>D</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Matrix#getD()
+ * @see #getMatrix()
+ * @generated
+ */
+ EAttribute getMatrix_D();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Matrix#getE <em>E</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>E</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Matrix#getE()
+ * @see #getMatrix()
+ * @generated
+ */
+ EAttribute getMatrix_E();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Matrix#getF <em>F</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>F</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Matrix#getF()
+ * @see #getMatrix()
+ * @generated
+ */
+ EAttribute getMatrix_F();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.dd.dg.Path
+ * <em>Path</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Path</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Path
+ * @generated
+ */
+ EClass getPath();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.Path#getCommand <em>Command</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Command</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Path#getCommand()
+ * @see #getPath()
+ * @generated
+ */
+ EReference getPath_Command();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Pattern <em>Pattern</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Pattern</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Pattern
+ * @generated
+ */
+ EClass getPattern();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Pattern#getBounds <em>Bounds</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Bounds</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Pattern#getBounds()
+ * @see #getPattern()
+ * @generated
+ */
+ EReference getPattern_Bounds();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Pattern#getTile <em>Tile</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Tile</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Pattern#getTile()
+ * @see #getPattern()
+ * @generated
+ */
+ EReference getPattern_Tile();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Polygon <em>Polygon</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Polygon</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Polygon
+ * @generated
+ */
+ EClass getPolygon();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.Polygon#getPoint <em>Point</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Point</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Polygon#getPoint()
+ * @see #getPolygon()
+ * @generated
+ */
+ EReference getPolygon_Point();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Polyline <em>Polyline</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Polyline</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Polyline
+ * @generated
+ */
+ EClass getPolyline();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.dg.Polyline#getPoint <em>Point</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Point</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Polyline#getPoint()
+ * @see #getPolyline()
+ * @generated
+ */
+ EReference getPolyline_Point();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient <em>Radial Gradient</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Radial Gradient</em>'.
+ * @see org.eclipse.papyrus.dd.dg.RadialGradient
+ * @generated
+ */
+ EClass getRadialGradient();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#getCenter
+ * <em>Center</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Center</em>'.
+ * @see org.eclipse.papyrus.dd.dg.RadialGradient#getCenter()
+ * @see #getRadialGradient()
+ * @generated
+ */
+ EReference getRadialGradient_Center();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#getFocus <em>Focus</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Focus</em>'.
+ * @see org.eclipse.papyrus.dd.dg.RadialGradient#getFocus()
+ * @see #getRadialGradient()
+ * @generated
+ */
+ EReference getRadialGradient_Focus();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#getRadius
+ * <em>Radius</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Radius</em>'.
+ * @see org.eclipse.papyrus.dd.dg.RadialGradient#getRadius()
+ * @see #getRadialGradient()
+ * @generated
+ */
+ EAttribute getRadialGradient_Radius();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#validCenterPoint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Center Point</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Center Point</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.RadialGradient#validCenterPoint(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getRadialGradient__ValidCenterPoint__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#validFocusPoint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Focus Point</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Focus Point</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.RadialGradient#validFocusPoint(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getRadialGradient__ValidFocusPoint__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#validRadius(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Radius</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Valid Radius</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.RadialGradient#validRadius(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getRadialGradient__ValidRadius__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Rectangle <em>Rectangle</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Rectangle</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Rectangle
+ * @generated
+ */
+ EClass getRectangle();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Rectangle#getBounds <em>Bounds</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Bounds</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Rectangle#getBounds()
+ * @see #getRectangle()
+ * @generated
+ */
+ EReference getRectangle_Bounds();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Rectangle#getCornerRadius
+ * <em>Corner Radius</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Corner Radius</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Rectangle#getCornerRadius()
+ * @see #getRectangle()
+ * @generated
+ */
+ EAttribute getRectangle_CornerRadius();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas <em>Root Canvas</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Root Canvas</em>'.
+ * @see org.eclipse.papyrus.dd.dg.RootCanvas
+ * @generated
+ */
+ EClass getRootCanvas();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas#getBackgroundColor
+ * <em>Background Color</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute '<em>Background Color</em>'.
+ * @see org.eclipse.papyrus.dd.dg.RootCanvas#getBackgroundColor()
+ * @see #getRootCanvas()
+ * @generated
+ */
+ EAttribute getRootCanvas_BackgroundColor();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas#getDefinitions
+ * <em>Definitions</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>Definitions</em>'.
+ * @see org.eclipse.papyrus.dd.dg.RootCanvas#getDefinitions()
+ * @see #getRootCanvas()
+ * @generated
+ */
+ EReference getRootCanvas_Definitions();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas#getStyleSheet
+ * <em>Style Sheet</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Style Sheet</em>'.
+ * @see org.eclipse.papyrus.dd.dg.RootCanvas#getStyleSheet()
+ * @see #getRootCanvas()
+ * @generated
+ */
+ EReference getRootCanvas_StyleSheet();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Rotate <em>Rotate</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Rotate</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Rotate
+ * @generated
+ */
+ EClass getRotate();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Rotate#getAngle <em>Angle</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Angle</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Rotate#getAngle()
+ * @see #getRotate()
+ * @generated
+ */
+ EAttribute getRotate_Angle();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Rotate#getCenter <em>Center</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Center</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Rotate#getCenter()
+ * @see #getRotate()
+ * @generated
+ */
+ EReference getRotate_Center();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Scale <em>Scale</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Scale</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Scale
+ * @generated
+ */
+ EClass getScale();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Scale#getFactorX <em>Factor X</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Factor X</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Scale#getFactorX()
+ * @see #getScale()
+ * @generated
+ */
+ EAttribute getScale_FactorX();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Scale#getFactorY <em>Factor Y</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Factor Y</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Scale#getFactorY()
+ * @see #getScale()
+ * @generated
+ */
+ EAttribute getScale_FactorY();
+
+ /**
+ * Returns the meta object for the '
+ * {@link org.eclipse.papyrus.dd.dg.Scale#nonnegativescale(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Nonnegativescale</em>}' operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the '<em>Nonnegativescale</em>' operation.
+ * @see org.eclipse.papyrus.dd.dg.Scale#nonnegativescale(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ */
+ EOperation getScale__Nonnegativescale__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.dd.dg.Skew
+ * <em>Skew</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Skew</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Skew
+ * @generated
+ */
+ EClass getSkew();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Skew#getAngleX <em>Angle X</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Angle X</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Skew#getAngleX()
+ * @see #getSkew()
+ * @generated
+ */
+ EAttribute getSkew_AngleX();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Skew#getAngleY <em>Angle Y</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Angle Y</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Skew#getAngleY()
+ * @see #getSkew()
+ * @generated
+ */
+ EAttribute getSkew_AngleY();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.dd.dg.Text
+ * <em>Text</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Text</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Text
+ * @generated
+ */
+ EClass getText();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Text#getData <em>Data</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Data</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Text#getData()
+ * @see #getText()
+ * @generated
+ */
+ EAttribute getText_Data();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Text#getPosition <em>Position</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Position</em>
+ * '.
+ * @see org.eclipse.papyrus.dd.dg.Text#getPosition()
+ * @see #getText()
+ * @generated
+ */
+ EReference getText_Position();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.dg.Translate <em>Translate</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Translate</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Translate
+ * @generated
+ */
+ EClass getTranslate();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Translate#getDeltaX <em>Delta X</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Delta X</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Translate#getDeltaX()
+ * @see #getTranslate()
+ * @generated
+ */
+ EAttribute getTranslate_DeltaX();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.dg.Translate#getDeltaY <em>Delta Y</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Delta Y</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Translate#getDeltaY()
+ * @see #getTranslate()
+ * @generated
+ */
+ EAttribute getTranslate_DeltaY();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.dd.dg.Use
+ * <em>Use</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Use</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Use
+ * @generated
+ */
+ EClass getUse();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.dg.Use#getBounds <em>Bounds</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Bounds</em>'.
+ * @see org.eclipse.papyrus.dd.dg.Use#getBounds()
+ * @see #getUse()
+ * @generated
+ */
+ EReference getUse_Bounds();
+
+ /**
+ * Returns the meta object for enum '
+ * {@link org.eclipse.papyrus.dd.dg.FontDecoration <em>Font Decoration</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Font Decoration</em>'.
+ * @see org.eclipse.papyrus.dd.dg.FontDecoration
+ * @generated
+ */
+ EEnum getFontDecoration();
+
+ /**
+ * 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
+ */
+ DGFactory getDGFactory();
+
+ /**
+ * <!-- begin-user-doc --> Defines literals for the meta objects that
+ * represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.CanvasImpl <em>Canvas</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.CanvasImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getCanvas()
+ * @generated
+ */
+ EClass CANVAS = eINSTANCE.getCanvas();
+
+ /**
+ * The meta object literal for the '<em><b>Bounds</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CANVAS__BOUNDS = eINSTANCE.getCanvas_Bounds();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.GroupImpl <em>Group</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.GroupImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getGroup()
+ * @generated
+ */
+ EClass GROUP = eINSTANCE.getGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Member</b></em>' containment
+ * reference list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GROUP__MEMBER = eINSTANCE.getGroup_Member();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl
+ * <em>Graphical Element</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getGraphicalElement()
+ * @generated
+ */
+ EClass GRAPHICAL_ELEMENT = eINSTANCE.getGraphicalElement();
+
+ /**
+ * The meta object literal for the '<em><b>Clip Path</b></em>' reference
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GRAPHICAL_ELEMENT__CLIP_PATH = eINSTANCE
+ .getGraphicalElement_ClipPath();
+
+ /**
+ * The meta object literal for the '<em><b>Group</b></em>' container
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GRAPHICAL_ELEMENT__GROUP = eINSTANCE
+ .getGraphicalElement_Group();
+
+ /**
+ * The meta object literal for the '<em><b>Keyword</b></em>' attribute
+ * list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GRAPHICAL_ELEMENT__KEYWORD = eINSTANCE
+ .getGraphicalElement_Keyword();
+
+ /**
+ * The meta object literal for the '<em><b>Style</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GRAPHICAL_ELEMENT__STYLE = eINSTANCE
+ .getGraphicalElement_Style();
+
+ /**
+ * The meta object literal for the '<em><b>Transform</b></em>'
+ * containment reference list feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GRAPHICAL_ELEMENT__TRANSFORM = eINSTANCE
+ .getGraphicalElement_Transform();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.DefinitionImpl
+ * <em>Definition</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.DefinitionImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getDefinition()
+ * @generated
+ */
+ EClass DEFINITION = eINSTANCE.getDefinition();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DEFINITION__ID = eINSTANCE.getDefinition_Id();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.MoveToImpl <em>Move To</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.MoveToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getMoveTo()
+ * @generated
+ */
+ EClass MOVE_TO = eINSTANCE.getMoveTo();
+
+ /**
+ * The meta object literal for the '<em><b>Point</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MOVE_TO__POINT = eINSTANCE.getMoveTo_Point();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PathCommandImpl
+ * <em>Path Command</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PathCommandImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPathCommand()
+ * @generated
+ */
+ EClass PATH_COMMAND = eINSTANCE.getPathCommand();
+
+ /**
+ * The meta object literal for the '<em><b>Is Relative</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PATH_COMMAND__IS_RELATIVE = eINSTANCE
+ .getPathCommand_IsRelative();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.ClipPathImpl
+ * <em>Clip Path</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.ClipPathImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getClipPath()
+ * @generated
+ */
+ EClass CLIP_PATH = eINSTANCE.getClipPath();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.StyleImpl <em>Style</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.StyleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getStyle()
+ * @generated
+ */
+ EClass STYLE = eINSTANCE.getStyle();
+
+ /**
+ * The meta object literal for the '<em><b>Fill</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STYLE__FILL = eINSTANCE.getStyle_Fill();
+
+ /**
+ * The meta object literal for the '<em><b>Fill Opacity</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__FILL_OPACITY = eINSTANCE.getStyle_FillOpacity();
+
+ /**
+ * The meta object literal for the '<em><b>Stroke</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STYLE__STROKE = eINSTANCE.getStyle_Stroke();
+
+ /**
+ * The meta object literal for the '<em><b>Stroke Width</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__STROKE_WIDTH = eINSTANCE.getStyle_StrokeWidth();
+
+ /**
+ * The meta object literal for the '<em><b>Stroke Opacity</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__STROKE_OPACITY = eINSTANCE.getStyle_StrokeOpacity();
+
+ /**
+ * The meta object literal for the '<em><b>Stroke Dash Length</b></em>'
+ * attribute list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__STROKE_DASH_LENGTH = eINSTANCE
+ .getStyle_StrokeDashLength();
+
+ /**
+ * The meta object literal for the '<em><b>Font Size</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__FONT_SIZE = eINSTANCE.getStyle_FontSize();
+
+ /**
+ * The meta object literal for the '<em><b>Font Name</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__FONT_NAME = eINSTANCE.getStyle_FontName();
+
+ /**
+ * The meta object literal for the '<em><b>Font Italic</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__FONT_ITALIC = eINSTANCE.getStyle_FontItalic();
+
+ /**
+ * The meta object literal for the '<em><b>Font Bold</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__FONT_BOLD = eINSTANCE.getStyle_FontBold();
+
+ /**
+ * The meta object literal for the '<em><b>Font Decoration</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE__FONT_DECORATION = eINSTANCE.getStyle_FontDecoration();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Font Size</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation STYLE___VALID_FONT_SIZE__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getStyle__ValidFontSize__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Fill Opacity</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation STYLE___VALID_FILL_OPACITY__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getStyle__ValidFillOpacity__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Stroke Width</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation STYLE___VALID_STROKE_WIDTH__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getStyle__ValidStrokeWidth__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * <em><b>Valid Dash Length Size</b></em>' operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation STYLE___VALID_DASH_LENGTH_SIZE__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getStyle__ValidDashLengthSize__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Stroke Opacity</b></em>
+ * ' operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation STYLE___VALID_STROKE_OPACITY__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getStyle__ValidStrokeOpacity__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PaintImpl <em>Paint</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PaintImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPaint()
+ * @generated
+ */
+ EClass PAINT = eINSTANCE.getPaint();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PAINT__COLOR = eINSTANCE.getPaint_Color();
+
+ /**
+ * The meta object literal for the '<em><b>Paint Server</b></em>'
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PAINT__PAINT_SERVER = eINSTANCE.getPaint_PaintServer();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PaintServerImpl
+ * <em>Paint Server</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PaintServerImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPaintServer()
+ * @generated
+ */
+ EClass PAINT_SERVER = eINSTANCE.getPaintServer();
+
+ /**
+ * The meta object literal for the '<em><b>Transform</b></em>'
+ * containment reference list feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PAINT_SERVER__TRANSFORM = eINSTANCE
+ .getPaintServer_Transform();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.TransformImpl
+ * <em>Transform</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.TransformImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getTransform()
+ * @generated
+ */
+ EClass TRANSFORM = eINSTANCE.getTransform();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.CircleImpl <em>Circle</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.CircleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getCircle()
+ * @generated
+ */
+ EClass CIRCLE = eINSTANCE.getCircle();
+
+ /**
+ * The meta object literal for the '<em><b>Center</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CIRCLE__CENTER = eINSTANCE.getCircle_Center();
+
+ /**
+ * The meta object literal for the '<em><b>Radius</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CIRCLE__RADIUS = eINSTANCE.getCircle_Radius();
+
+ /**
+ * The meta object literal for the '<em><b>Non Negative Radius</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation CIRCLE___NON_NEGATIVE_RADIUS__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getCircle__NonNegativeRadius__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.ClosePathImpl
+ * <em>Close Path</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.ClosePathImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getClosePath()
+ * @generated
+ */
+ EClass CLOSE_PATH = eINSTANCE.getClosePath();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.CubicCurveToImpl
+ * <em>Cubic Curve To</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.CubicCurveToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getCubicCurveTo()
+ * @generated
+ */
+ EClass CUBIC_CURVE_TO = eINSTANCE.getCubicCurveTo();
+
+ /**
+ * The meta object literal for the '<em><b>Point</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CUBIC_CURVE_TO__POINT = eINSTANCE.getCubicCurveTo_Point();
+
+ /**
+ * The meta object literal for the '<em><b>Start Control</b></em>'
+ * containment reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CUBIC_CURVE_TO__START_CONTROL = eINSTANCE
+ .getCubicCurveTo_StartControl();
+
+ /**
+ * The meta object literal for the '<em><b>End Control</b></em>'
+ * containment reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CUBIC_CURVE_TO__END_CONTROL = eINSTANCE
+ .getCubicCurveTo_EndControl();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.DefinitionsImpl
+ * <em>Definitions</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.DefinitionsImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getDefinitions()
+ * @generated
+ */
+ EClass DEFINITIONS = eINSTANCE.getDefinitions();
+
+ /**
+ * The meta object literal for the '<em><b>Defnition</b></em>'
+ * containment reference list feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DEFINITIONS__DEFNITION = eINSTANCE
+ .getDefinitions_Defnition();
+
+ /**
+ * The meta object literal for the '<em><b>Style Sheet</b></em>'
+ * containment reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DEFINITIONS__STYLE_SHEET = eINSTANCE
+ .getDefinitions_StyleSheet();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.StyleSheetImpl
+ * <em>Style Sheet</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.StyleSheetImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getStyleSheet()
+ * @generated
+ */
+ EClass STYLE_SHEET = eINSTANCE.getStyleSheet();
+
+ /**
+ * The meta object literal for the '<em><b>Rule</b></em>' containment
+ * reference list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STYLE_SHEET__RULE = eINSTANCE.getStyleSheet_Rule();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.StyleRuleImpl
+ * <em>Style Rule</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.StyleRuleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getStyleRule()
+ * @generated
+ */
+ EClass STYLE_RULE = eINSTANCE.getStyleRule();
+
+ /**
+ * The meta object literal for the '<em><b>Selector</b></em>'
+ * containment reference list feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STYLE_RULE__SELECTOR = eINSTANCE.getStyleRule_Selector();
+
+ /**
+ * The meta object literal for the '<em><b>Style</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STYLE_RULE__STYLE = eINSTANCE.getStyleRule_Style();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.StyleSelectorImpl
+ * <em>Style Selector</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.StyleSelectorImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getStyleSelector()
+ * @generated
+ */
+ EClass STYLE_SELECTOR = eINSTANCE.getStyleSelector();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STYLE_SELECTOR__TYPE = eINSTANCE.getStyleSelector_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Keyword</b></em>' attribute
+ * list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STYLE_SELECTOR__KEYWORD = eINSTANCE
+ .getStyleSelector_Keyword();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.EllipseImpl <em>Ellipse</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.EllipseImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getEllipse()
+ * @generated
+ */
+ EClass ELLIPSE = eINSTANCE.getEllipse();
+
+ /**
+ * The meta object literal for the '<em><b>Center</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ELLIPSE__CENTER = eINSTANCE.getEllipse_Center();
+
+ /**
+ * The meta object literal for the '<em><b>Radii</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ELLIPSE__RADII = eINSTANCE.getEllipse_Radii();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl
+ * <em>Elliptical Curve To</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getEllipticalCurveTo()
+ * @generated
+ */
+ EClass ELLIPTICAL_CURVE_TO = eINSTANCE.getEllipticalCurveTo();
+
+ /**
+ * The meta object literal for the '<em><b>Point</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ELLIPTICAL_CURVE_TO__POINT = eINSTANCE
+ .getEllipticalCurveTo_Point();
+
+ /**
+ * The meta object literal for the '<em><b>Radii</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ELLIPTICAL_CURVE_TO__RADII = eINSTANCE
+ .getEllipticalCurveTo_Radii();
+
+ /**
+ * The meta object literal for the '<em><b>Rotation</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELLIPTICAL_CURVE_TO__ROTATION = eINSTANCE
+ .getEllipticalCurveTo_Rotation();
+
+ /**
+ * The meta object literal for the '<em><b>Is Large Arc</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELLIPTICAL_CURVE_TO__IS_LARGE_ARC = eINSTANCE
+ .getEllipticalCurveTo_IsLargeArc();
+
+ /**
+ * The meta object literal for the '<em><b>Is Sweep</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELLIPTICAL_CURVE_TO__IS_SWEEP = eINSTANCE
+ .getEllipticalCurveTo_IsSweep();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.QuadraticCurveToImpl
+ * <em>Quadratic Curve To</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.QuadraticCurveToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getQuadraticCurveTo()
+ * @generated
+ */
+ EClass QUADRATIC_CURVE_TO = eINSTANCE.getQuadraticCurveTo();
+
+ /**
+ * The meta object literal for the '<em><b>Point</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference QUADRATIC_CURVE_TO__POINT = eINSTANCE
+ .getQuadraticCurveTo_Point();
+
+ /**
+ * The meta object literal for the '<em><b>Control</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference QUADRATIC_CURVE_TO__CONTROL = eINSTANCE
+ .getQuadraticCurveTo_Control();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.GradientImpl <em>Gradient</em>}
+ * ' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.GradientImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getGradient()
+ * @generated
+ */
+ EClass GRADIENT = eINSTANCE.getGradient();
+
+ /**
+ * The meta object literal for the '<em><b>Stop</b></em>' containment
+ * reference list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference GRADIENT__STOP = eINSTANCE.getGradient_Stop();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.GradientStopImpl
+ * <em>Gradient Stop</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.GradientStopImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getGradientStop()
+ * @generated
+ */
+ EClass GRADIENT_STOP = eINSTANCE.getGradientStop();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GRADIENT_STOP__COLOR = eINSTANCE.getGradientStop_Color();
+
+ /**
+ * The meta object literal for the '<em><b>Offset</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GRADIENT_STOP__OFFSET = eINSTANCE.getGradientStop_Offset();
+
+ /**
+ * The meta object literal for the '<em><b>Opacity</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GRADIENT_STOP__OPACITY = eINSTANCE.getGradientStop_Opacity();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Offset</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation GRADIENT_STOP___VALID_OFFSET__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getGradientStop__ValidOffset__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Opacity</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation GRADIENT_STOP___VALID_OPACITY__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getGradientStop__ValidOpacity__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.ImageImpl <em>Image</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.ImageImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getImage()
+ * @generated
+ */
+ EClass IMAGE = eINSTANCE.getImage();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute IMAGE__SOURCE = eINSTANCE.getImage_Source();
+
+ /**
+ * The meta object literal for the '<em><b>Bounds</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference IMAGE__BOUNDS = eINSTANCE.getImage_Bounds();
+
+ /**
+ * The meta object literal for the '
+ * <em><b>Is Aspect Ratio Preserved</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute IMAGE__IS_ASPECT_RATIO_PRESERVED = eINSTANCE
+ .getImage_IsAspectRatioPreserved();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.LineImpl <em>Line</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.LineImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getLine()
+ * @generated
+ */
+ EClass LINE = eINSTANCE.getLine();
+
+ /**
+ * The meta object literal for the '<em><b>Start</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LINE__START = eINSTANCE.getLine_Start();
+
+ /**
+ * The meta object literal for the '<em><b>End</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LINE__END = eINSTANCE.getLine_End();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.MarkedElementImpl
+ * <em>Marked Element</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.MarkedElementImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getMarkedElement()
+ * @generated
+ */
+ EClass MARKED_ELEMENT = eINSTANCE.getMarkedElement();
+
+ /**
+ * The meta object literal for the '<em><b>End Marker</b></em>'
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MARKED_ELEMENT__END_MARKER = eINSTANCE
+ .getMarkedElement_EndMarker();
+
+ /**
+ * The meta object literal for the '<em><b>Mid Marker</b></em>'
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MARKED_ELEMENT__MID_MARKER = eINSTANCE
+ .getMarkedElement_MidMarker();
+
+ /**
+ * The meta object literal for the '<em><b>Start Marker</b></em>'
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MARKED_ELEMENT__START_MARKER = eINSTANCE
+ .getMarkedElement_StartMarker();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.MarkerImpl <em>Marker</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.MarkerImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getMarker()
+ * @generated
+ */
+ EClass MARKER = eINSTANCE.getMarker();
+
+ /**
+ * The meta object literal for the '<em><b>Size</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MARKER__SIZE = eINSTANCE.getMarker_Size();
+
+ /**
+ * The meta object literal for the '<em><b>Reference</b></em>'
+ * containment reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MARKER__REFERENCE = eINSTANCE.getMarker_Reference();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.LinearGradientImpl
+ * <em>Linear Gradient</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.LinearGradientImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getLinearGradient()
+ * @generated
+ */
+ EClass LINEAR_GRADIENT = eINSTANCE.getLinearGradient();
+
+ /**
+ * The meta object literal for the '<em><b>Start</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LINEAR_GRADIENT__START = eINSTANCE.getLinearGradient_Start();
+
+ /**
+ * The meta object literal for the '<em><b>End</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LINEAR_GRADIENT__END = eINSTANCE.getLinearGradient_End();
+
+ /**
+ * The meta object literal for the '
+ * <em><b>Valid Gradient Vector</b></em>' operation. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation LINEAR_GRADIENT___VALID_GRADIENT_VECTOR__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getLinearGradient__ValidGradientVector__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.LineToImpl <em>Line To</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.LineToImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getLineTo()
+ * @generated
+ */
+ EClass LINE_TO = eINSTANCE.getLineTo();
+
+ /**
+ * The meta object literal for the '<em><b>Point</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference LINE_TO__POINT = eINSTANCE.getLineTo_Point();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.MatrixImpl <em>Matrix</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.MatrixImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getMatrix()
+ * @generated
+ */
+ EClass MATRIX = eINSTANCE.getMatrix();
+
+ /**
+ * The meta object literal for the '<em><b>A</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MATRIX__A = eINSTANCE.getMatrix_A();
+
+ /**
+ * The meta object literal for the '<em><b>B</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MATRIX__B = eINSTANCE.getMatrix_B();
+
+ /**
+ * The meta object literal for the '<em><b>C</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MATRIX__C = eINSTANCE.getMatrix_C();
+
+ /**
+ * The meta object literal for the '<em><b>D</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MATRIX__D = eINSTANCE.getMatrix_D();
+
+ /**
+ * The meta object literal for the '<em><b>E</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MATRIX__E = eINSTANCE.getMatrix_E();
+
+ /**
+ * The meta object literal for the '<em><b>F</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute MATRIX__F = eINSTANCE.getMatrix_F();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PathImpl <em>Path</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PathImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPath()
+ * @generated
+ */
+ EClass PATH = eINSTANCE.getPath();
+
+ /**
+ * The meta object literal for the '<em><b>Command</b></em>' containment
+ * reference list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PATH__COMMAND = eINSTANCE.getPath_Command();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PatternImpl <em>Pattern</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PatternImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPattern()
+ * @generated
+ */
+ EClass PATTERN = eINSTANCE.getPattern();
+
+ /**
+ * The meta object literal for the '<em><b>Bounds</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PATTERN__BOUNDS = eINSTANCE.getPattern_Bounds();
+
+ /**
+ * The meta object literal for the '<em><b>Tile</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PATTERN__TILE = eINSTANCE.getPattern_Tile();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PolygonImpl <em>Polygon</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PolygonImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPolygon()
+ * @generated
+ */
+ EClass POLYGON = eINSTANCE.getPolygon();
+
+ /**
+ * The meta object literal for the '<em><b>Point</b></em>' containment
+ * reference list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference POLYGON__POINT = eINSTANCE.getPolygon_Point();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.PolylineImpl <em>Polyline</em>}
+ * ' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.PolylineImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getPolyline()
+ * @generated
+ */
+ EClass POLYLINE = eINSTANCE.getPolyline();
+
+ /**
+ * The meta object literal for the '<em><b>Point</b></em>' containment
+ * reference list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference POLYLINE__POINT = eINSTANCE.getPolyline_Point();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.RadialGradientImpl
+ * <em>Radial Gradient</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.RadialGradientImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getRadialGradient()
+ * @generated
+ */
+ EClass RADIAL_GRADIENT = eINSTANCE.getRadialGradient();
+
+ /**
+ * The meta object literal for the '<em><b>Center</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RADIAL_GRADIENT__CENTER = eINSTANCE
+ .getRadialGradient_Center();
+
+ /**
+ * The meta object literal for the '<em><b>Focus</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RADIAL_GRADIENT__FOCUS = eINSTANCE.getRadialGradient_Focus();
+
+ /**
+ * The meta object literal for the '<em><b>Radius</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RADIAL_GRADIENT__RADIUS = eINSTANCE
+ .getRadialGradient_Radius();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Center Point</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation RADIAL_GRADIENT___VALID_CENTER_POINT__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getRadialGradient__ValidCenterPoint__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Focus Point</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation RADIAL_GRADIENT___VALID_FOCUS_POINT__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getRadialGradient__ValidFocusPoint__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '<em><b>Valid Radius</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation RADIAL_GRADIENT___VALID_RADIUS__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getRadialGradient__ValidRadius__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.RectangleImpl
+ * <em>Rectangle</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.RectangleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getRectangle()
+ * @generated
+ */
+ EClass RECTANGLE = eINSTANCE.getRectangle();
+
+ /**
+ * The meta object literal for the '<em><b>Bounds</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RECTANGLE__BOUNDS = eINSTANCE.getRectangle_Bounds();
+
+ /**
+ * The meta object literal for the '<em><b>Corner Radius</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RECTANGLE__CORNER_RADIUS = eINSTANCE
+ .getRectangle_CornerRadius();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.RootCanvasImpl
+ * <em>Root Canvas</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.RootCanvasImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getRootCanvas()
+ * @generated
+ */
+ EClass ROOT_CANVAS = eINSTANCE.getRootCanvas();
+
+ /**
+ * The meta object literal for the '<em><b>Background Color</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ROOT_CANVAS__BACKGROUND_COLOR = eINSTANCE
+ .getRootCanvas_BackgroundColor();
+
+ /**
+ * The meta object literal for the '<em><b>Definitions</b></em>'
+ * containment reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ROOT_CANVAS__DEFINITIONS = eINSTANCE
+ .getRootCanvas_Definitions();
+
+ /**
+ * The meta object literal for the '<em><b>Style Sheet</b></em>'
+ * reference list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ROOT_CANVAS__STYLE_SHEET = eINSTANCE
+ .getRootCanvas_StyleSheet();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.RotateImpl <em>Rotate</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.RotateImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getRotate()
+ * @generated
+ */
+ EClass ROTATE = eINSTANCE.getRotate();
+
+ /**
+ * The meta object literal for the '<em><b>Angle</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ROTATE__ANGLE = eINSTANCE.getRotate_Angle();
+
+ /**
+ * The meta object literal for the '<em><b>Center</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ROTATE__CENTER = eINSTANCE.getRotate_Center();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.ScaleImpl <em>Scale</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.ScaleImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getScale()
+ * @generated
+ */
+ EClass SCALE = eINSTANCE.getScale();
+
+ /**
+ * The meta object literal for the '<em><b>Factor X</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SCALE__FACTOR_X = eINSTANCE.getScale_FactorX();
+
+ /**
+ * The meta object literal for the '<em><b>Factor Y</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SCALE__FACTOR_Y = eINSTANCE.getScale_FactorY();
+
+ /**
+ * The meta object literal for the '<em><b>Nonnegativescale</b></em>'
+ * operation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EOperation SCALE___NONNEGATIVESCALE__DIAGNOSTICCHAIN_MAP = eINSTANCE
+ .getScale__Nonnegativescale__DiagnosticChain_Map();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.SkewImpl <em>Skew</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.SkewImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getSkew()
+ * @generated
+ */
+ EClass SKEW = eINSTANCE.getSkew();
+
+ /**
+ * The meta object literal for the '<em><b>Angle X</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SKEW__ANGLE_X = eINSTANCE.getSkew_AngleX();
+
+ /**
+ * The meta object literal for the '<em><b>Angle Y</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SKEW__ANGLE_Y = eINSTANCE.getSkew_AngleY();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.TextImpl <em>Text</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.TextImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getText()
+ * @generated
+ */
+ EClass TEXT = eINSTANCE.getText();
+
+ /**
+ * The meta object literal for the '<em><b>Data</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute TEXT__DATA = eINSTANCE.getText_Data();
+
+ /**
+ * The meta object literal for the '<em><b>Position</b></em>'
+ * containment reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TEXT__POSITION = eINSTANCE.getText_Position();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.TranslateImpl
+ * <em>Translate</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.TranslateImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getTranslate()
+ * @generated
+ */
+ EClass TRANSLATE = eINSTANCE.getTranslate();
+
+ /**
+ * The meta object literal for the '<em><b>Delta X</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute TRANSLATE__DELTA_X = eINSTANCE.getTranslate_DeltaX();
+
+ /**
+ * The meta object literal for the '<em><b>Delta Y</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute TRANSLATE__DELTA_Y = eINSTANCE.getTranslate_DeltaY();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.impl.UseImpl <em>Use</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.impl.UseImpl
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getUse()
+ * @generated
+ */
+ EClass USE = eINSTANCE.getUse();
+
+ /**
+ * The meta object literal for the '<em><b>Bounds</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference USE__BOUNDS = eINSTANCE.getUse_Bounds();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.dg.FontDecoration
+ * <em>Font Decoration</em>}' enum. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.FontDecoration
+ * @see org.eclipse.papyrus.dd.dg.impl.DGPackageImpl#getFontDecoration()
+ * @generated
+ */
+ EEnum FONT_DECORATION = eINSTANCE.getFontDecoration();
+
+ }
+
+} // DGPackage
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Definition.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Definition.java
new file mode 100644
index 00000000000..a1aa5433109
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Definition.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Definition</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Definition#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getDefinition()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Definition extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a point
+ * to move to in the coordinate system <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getDefinition_Id()
+ * @model id="true" dataType="org.eclipse.papyrus.dd.dc.String"
+ * required="true" ordered="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Definition#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);
+
+} // Definition
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Definitions.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Definitions.java
new file mode 100644
index 00000000000..9a802eb5602
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Definitions.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Definitions</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Definitions#getDefnition <em>Defnition
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Definitions#getStyleSheet <em>Style
+ * Sheet</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getDefinitions()
+ * @model
+ * @generated
+ */
+public interface Definitions extends EObject {
+ /**
+ * Returns the value of the '<em><b>Defnition</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.Definition}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> A set of clip paths that
+ * are referenced by graphical elements in the containing canvas. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Defnition</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getDefinitions_Defnition()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Definition> getDefnition();
+
+ /**
+ * Returns the value of the '<em><b>Style Sheet</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> An optional embdded style sheet that that apply to
+ * graphical elements in the containing canvas. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Style Sheet</em>' containment reference.
+ * @see #setStyleSheet(StyleSheet)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getDefinitions_StyleSheet()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ StyleSheet getStyleSheet();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Definitions#getStyleSheet
+ * <em>Style Sheet</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Style Sheet</em>' containment
+ * reference.
+ * @see #getStyleSheet()
+ * @generated
+ */
+ void setStyleSheet(StyleSheet value);
+
+} // Definitions
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Ellipse.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Ellipse.java
new file mode 100644
index 00000000000..cdc94bb8ef9
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Ellipse.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Dimension;
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Ellipse</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Ellipse is a graphical element that defines an
+ * elliptical shape with a given center point and two radii on the x and y axes.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Ellipse#getCenter <em>Center</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Ellipse#getRadii <em>Radii</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipse()
+ * @model
+ * @generated
+ */
+public interface Ellipse extends GraphicalElement {
+ /**
+ * Returns the value of the '<em><b>Center</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the center point of the ellipse in the x-y coordinate system. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Center</em>' containment reference.
+ * @see #setCenter(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipse_Center()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getCenter();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Ellipse#getCenter <em>Center</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Center</em>' containment reference.
+ * @see #getCenter()
+ * @generated
+ */
+ void setCenter(Point value);
+
+ /**
+ * Returns the value of the '<em><b>Radii</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * dimension that specifies the two radii of the ellipse (a width along the
+ * x-axis and a height along the y-axis) <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Radii</em>' containment reference.
+ * @see #setRadii(Dimension)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipse_Radii()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Dimension getRadii();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Ellipse#getRadii
+ * <em>Radii</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Radii</em>' containment reference.
+ * @see #getRadii()
+ * @generated
+ */
+ void setRadii(Dimension value);
+
+} // Ellipse
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/EllipticalCurveTo.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/EllipticalCurveTo.java
new file mode 100644
index 00000000000..958aeeee478
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/EllipticalCurveTo.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Dimension;
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Elliptical Curve To</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getPoint <em>Point
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getRadii <em>Radii
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getRotation <em>
+ * Rotation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#isLargeArc <em>Is
+ * Large Arc</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#isSweep <em>Is Sweep
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipticalCurveTo()
+ * @model
+ * @generated
+ */
+public interface EllipticalCurveTo extends PathCommand {
+ /**
+ * Returns the value of the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * point to draw an elliptical arc to from the current point in the
+ * coordinate system. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Point</em>' containment reference.
+ * @see #setPoint(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipticalCurveTo_Point()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getPoint();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getPoint
+ * <em>Point</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Point</em>' containment reference.
+ * @see #getPoint()
+ * @generated
+ */
+ void setPoint(Point value);
+
+ /**
+ * Returns the value of the '<em><b>Radii</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the two radii of the ellipse from which the arc is created. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Radii</em>' containment reference.
+ * @see #setRadii(Dimension)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipticalCurveTo_Radii()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Dimension getRadii();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getRadii
+ * <em>Radii</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Radii</em>' containment reference.
+ * @see #getRadii()
+ * @generated
+ */
+ void setRadii(Dimension value);
+
+ /**
+ * Returns the value of the '<em><b>Rotation</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number representing a rotation (in degrees) of the ellipse from which the
+ * arc is created. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Rotation</em>' attribute.
+ * @see #setRotation(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipticalCurveTo_Rotation()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getRotation();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#getRotation
+ * <em>Rotation</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Rotation</em>' attribute.
+ * @see #getRotation()
+ * @generated
+ */
+ void setRotation(double value);
+
+ /**
+ * Returns the value of the '<em><b>Is Large Arc</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> whether
+ * the arc sweep is equal to or greater than 180 degrees (the large arc).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Large Arc</em>' attribute.
+ * @see #setIsLargeArc(boolean)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipticalCurveTo_IsLargeArc()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Boolean" required="true"
+ * ordered="false"
+ * @generated
+ */
+ boolean isLargeArc();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#isLargeArc
+ * <em>Is Large Arc</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Large Arc</em>' attribute.
+ * @see #isLargeArc()
+ * @generated
+ */
+ void setIsLargeArc(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Sweep</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> whether
+ * the arc is drawn in a positive-angle direction <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Sweep</em>' attribute.
+ * @see #setIsSweep(boolean)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getEllipticalCurveTo_IsSweep()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Boolean" required="true"
+ * ordered="false"
+ * @generated
+ */
+ boolean isSweep();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo#isSweep
+ * <em>Is Sweep</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Is Sweep</em>' attribute.
+ * @see #isSweep()
+ * @generated
+ */
+ void setIsSweep(boolean value);
+
+} // EllipticalCurveTo
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/FontDecoration.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/FontDecoration.java
new file mode 100644
index 00000000000..c90e039af48
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/FontDecoration.java
@@ -0,0 +1,244 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+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>Font Decoration</b></em>', and utility methods for working with them.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getFontDecoration()
+ * @model
+ * @generated
+ */
+public enum FontDecoration implements Enumerator {
+ /**
+ * The '<em><b>Underline</b></em>' literal object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #UNDERLINE_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDERLINE(0, "underline", "underline"),
+
+ /**
+ * The '<em><b>Overline</b></em>' literal object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #OVERLINE_VALUE
+ * @generated
+ * @ordered
+ */
+ OVERLINE(1, "overline", "overline"),
+
+ /**
+ * The '<em><b>Line Through</b></em>' literal object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #LINE_THROUGH_VALUE
+ * @generated
+ * @ordered
+ */
+ LINE_THROUGH(2, "lineThrough", "lineThrough");
+
+ /**
+ * The '<em><b>Underline</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Underline</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #UNDERLINE
+ * @model name="underline"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDERLINE_VALUE = 0;
+
+ /**
+ * The '<em><b>Overline</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Overline</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #OVERLINE
+ * @model name="overline"
+ * @generated
+ * @ordered
+ */
+ public static final int OVERLINE_VALUE = 1;
+
+ /**
+ * The '<em><b>Line Through</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Line Through</b></em>' literal object isn't
+ * clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #LINE_THROUGH
+ * @model name="lineThrough"
+ * @generated
+ * @ordered
+ */
+ public static final int LINE_THROUGH_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Font Decoration</b></em>' enumerators. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final FontDecoration[] VALUES_ARRAY = new FontDecoration[] {
+ UNDERLINE, OVERLINE, LINE_THROUGH, };
+
+ /**
+ * A public read-only list of all the '<em><b>Font Decoration</b></em>'
+ * enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<FontDecoration> VALUES = Collections
+ .unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Font Decoration</b></em>' literal with the specified
+ * literal value. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static FontDecoration get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ FontDecoration result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Font Decoration</b></em>' literal with the specified
+ * name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static FontDecoration getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ FontDecoration result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Font Decoration</b></em>' literal with the specified
+ * integer value. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static FontDecoration get(int value) {
+ switch (value) {
+ case UNDERLINE_VALUE:
+ return UNDERLINE;
+ case OVERLINE_VALUE:
+ return OVERLINE;
+ case LINE_THROUGH_VALUE:
+ return LINE_THROUGH;
+ }
+ 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 FontDecoration(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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;
+ }
+
+} // FontDecoration
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Gradient.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Gradient.java
new file mode 100644
index 00000000000..057a468221a
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Gradient.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Gradient</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Gradient is a kind of paint server that serves a
+ * continuously smooth color transition along the gradient range from one color
+ * to the next. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Gradient#getStop <em>Stop</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGradient()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Gradient extends PaintServer {
+ /**
+ * Returns the value of the '<em><b>Stop</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> a list of two or more
+ * gradient stops defining the color transitions of the gradient. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Stop</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGradient_Stop()
+ * @model containment="true" lower="2"
+ * @generated
+ */
+ EList<GradientStop> getStop();
+
+} // Gradient
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/GradientStop.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/GradientStop.java
new file mode 100644
index 00000000000..c542c2eb39e
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/GradientStop.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import java.awt.Color;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Gradient Stop</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> GradientStop defines a color transition along the
+ * distance from a gradient's start to its end offsets. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.GradientStop#getColor <em>Color</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.GradientStop#getOffset <em>Offset</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.GradientStop#getOpacity <em>Opacity
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGradientStop()
+ * @model
+ * @generated
+ */
+public interface GradientStop extends EObject {
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the
+ * color to use at this gradient stop. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Color</em>' attribute.
+ * @see #setColor(Color)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGradientStop_Color()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Color" required="true"
+ * ordered="false"
+ * @generated
+ */
+ Color getColor();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop#getColor <em>Color</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Color</em>' attribute.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(Color value);
+
+ /**
+ * Returns the value of the '<em><b>Offset</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> an
+ * offset of this gradient stop represented as a percentage of the distance
+ * between the start and end positions of the gradient along the x and y
+ * axes. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Offset</em>' attribute.
+ * @see #setOffset(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGradientStop_Offset()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getOffset();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop#getOffset <em>Offset</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Offset</em>' attribute.
+ * @see #getOffset()
+ * @generated
+ */
+ void setOffset(double value);
+
+ /**
+ * Returns the value of the '<em><b>Opacity</b></em>' attribute. The default
+ * value is <code>"1"</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> a real number (>=0 and<=1) representing the
+ * opacity of the color at the stop. A value of 0 means totally transparent,
+ * while a value of 1 means totally opaque. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Opacity</em>' attribute.
+ * @see #setOpacity(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGradientStop_Opacity()
+ * @model default="1" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * required="true" ordered="false"
+ * @generated
+ */
+ double getOpacity();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop#getOpacity
+ * <em>Opacity</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Opacity</em>' attribute.
+ * @see #getOpacity()
+ * @generated
+ */
+ void setOpacity(double value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the offset must be between 0 and 1.
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='offset>=0 and offset<=1'"
+ * @generated
+ */
+ boolean validOffset(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the opacity must be between 0 and 1.
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='opacity>=0 and opacity<=1'"
+ * @generated
+ */
+ boolean validOpacity(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+} // GradientStop
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/GraphicalElement.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/GraphicalElement.java
new file mode 100644
index 00000000000..65942eada34
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/GraphicalElement.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Graphical Element</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> GraphicalElement is the abstract superclass of all
+ * graphical elements that can be nested in a canvas. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.GraphicalElement#getClipPath <em>Clip
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.GraphicalElement#getGroup <em>Group
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.GraphicalElement#getKeyword <em>Keyword
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.GraphicalElement#getStyle <em>Style
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.GraphicalElement#getTransform <em>
+ * Transform</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGraphicalElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface GraphicalElement extends Definition {
+ /**
+ * Returns the value of the '<em><b>Clip Path</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A clip
+ * path that masks the painting of this graphical element. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Clip Path</em>' reference.
+ * @see #setClipPath(ClipPath)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGraphicalElement_ClipPath()
+ * @model ordered="false"
+ * @generated
+ */
+ ClipPath getClipPath();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#getClipPath
+ * <em>Clip Path</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Clip Path</em>' reference.
+ * @see #getClipPath()
+ * @generated
+ */
+ void setClipPath(ClipPath value);
+
+ /**
+ * Returns the value of the '<em><b>Group</b></em>' container reference. It
+ * is bidirectional and its opposite is '
+ * {@link org.eclipse.papyrus.dd.dg.Group#getMember <em>Member</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The
+ * group that owns this graphical element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Group</em>' container reference.
+ * @see #setGroup(Group)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGraphicalElement_Group()
+ * @see org.eclipse.papyrus.dd.dg.Group#getMember
+ * @model opposite="member" transient="false" ordered="false"
+ * @generated
+ */
+ Group getGroup();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#getGroup
+ * <em>Group</em>}' container reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Group</em>' container reference.
+ * @see #getGroup()
+ * @generated
+ */
+ void setGroup(Group value);
+
+ /**
+ * Returns the value of the '<em><b>Keyword</b></em>' attribute list. The
+ * list contents are of type {@link java.lang.String}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> A list of strings
+ * representing keywords of the graphical element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Keyword</em>' attribute list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGraphicalElement_Keyword()
+ * @model dataType="org.eclipse.papyrus.dd.dc.String"
+ * @generated
+ */
+ EList<String> getKeyword();
+
+ /**
+ * Returns the value of the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An
+ * inline style that applies on this graphical element. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Style</em>' containment reference.
+ * @see #setStyle(Style)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGraphicalElement_Style()
+ * @model containment="true"
+ * @generated
+ */
+ Style getStyle();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#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(Style value);
+
+ /**
+ * Returns the value of the '<em><b>Transform</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.Transform}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> A list of transforms that apply
+ * to this graphical element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Transform</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGraphicalElement_Transform()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Transform> getTransform();
+
+} // GraphicalElement
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Group.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Group.java
new file mode 100644
index 00000000000..6e6d64fcb37
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Group.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Group</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Group defines a group of graphical elements that can
+ * be styled, clipped and/or transformed together. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Group#getMember <em>Member</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGroup()
+ * @model
+ * @generated
+ */
+public interface Group extends GraphicalElement {
+ /**
+ * Returns the value of the '<em><b>Member</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement}. It is bidirectional
+ * and its opposite is '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement#getGroup
+ * <em>Group</em>}'. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> A list of graphical elements that are members of this
+ * group. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Member</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getGroup_Member()
+ * @see org.eclipse.papyrus.dd.dg.GraphicalElement#getGroup
+ * @model opposite="group" containment="true"
+ * @generated
+ */
+ EList<GraphicalElement> getMember();
+
+} // Group
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Image.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Image.java
new file mode 100644
index 00000000000..d74e6371853
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Image.java
@@ -0,0 +1,120 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Bounds;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Image</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Image is a graphical element that defines a shape
+ * that paints an image with a given URL within given bounds. <!-- end-model-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Image#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Image#getBounds <em>Bounds</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Image#isAspectRatioPreserved <em>Is
+ * Aspect Ratio Preserved</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getImage()
+ * @model
+ * @generated
+ */
+public interface Image extends GraphicalElement {
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the URL
+ * of a referenced image file. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source</em>' attribute.
+ * @see #setSource(String)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getImage_Source()
+ * @model dataType="org.eclipse.papyrus.dd.dc.String" required="true"
+ * ordered="false"
+ * @generated
+ */
+ String getSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Image#getSource
+ * <em>Source</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Source</em>' attribute.
+ * @see #getSource()
+ * @generated
+ */
+ void setSource(String value);
+
+ /**
+ * Returns the value of the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the bounds within which the image is rendered. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Bounds</em>' containment reference.
+ * @see #setBounds(Bounds)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getImage_Bounds()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Bounds getBounds();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Image#getBounds
+ * <em>Bounds</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Bounds</em>' containment reference.
+ * @see #getBounds()
+ * @generated
+ */
+ void setBounds(Bounds value);
+
+ /**
+ * Returns the value of the '<em><b>Is Aspect Ratio Preserved</b></em>'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> wether to preserve the aspect ratio of the image upon
+ * scaling, i.e. the same scale factor for width and height. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Is Aspect Ratio Preserved</em>' attribute.
+ * @see #setIsAspectRatioPreserved(boolean)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getImage_IsAspectRatioPreserved()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Boolean" required="true"
+ * ordered="false"
+ * @generated
+ */
+ boolean isAspectRatioPreserved();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Image#isAspectRatioPreserved
+ * <em>Is Aspect Ratio Preserved</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Aspect Ratio Preserved</em>'
+ * attribute.
+ * @see #isAspectRatioPreserved()
+ * @generated
+ */
+ void setIsAspectRatioPreserved(boolean value);
+
+} // Image
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Line.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Line.java
new file mode 100644
index 00000000000..de9aac940cc
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Line.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Line</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Line is a marked element that defines a shape
+ * consisting of one straight line between two points. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Line#getStart <em>Start</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Line#getEnd <em>End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getLine()
+ * @model
+ * @generated
+ */
+public interface Line extends MarkedElement {
+ /**
+ * Returns the value of the '<em><b>Start</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the starting point of the line in the x-y coordinate system. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Start</em>' containment reference.
+ * @see #setStart(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getLine_Start()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getStart();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Line#getStart
+ * <em>Start</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Start</em>' containment reference.
+ * @see #getStart()
+ * @generated
+ */
+ void setStart(Point value);
+
+ /**
+ * Returns the value of the '<em><b>End</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the ending point of the line in the x-y coordinate system. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>End</em>' containment reference.
+ * @see #setEnd(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getLine_End()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getEnd();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Line#getEnd
+ * <em>End</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>End</em>' containment reference.
+ * @see #getEnd()
+ * @generated
+ */
+ void setEnd(Point value);
+
+} // Line
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/LineTo.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/LineTo.java
new file mode 100644
index 00000000000..6c39ce8cd70
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/LineTo.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Line To</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> LineTo is a kind of path command that draw a
+ * straight line from the current point to a new point. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.LineTo#getPoint <em>Point</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getLineTo()
+ * @model
+ * @generated
+ */
+public interface LineTo extends PathCommand {
+ /**
+ * Returns the value of the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * point to draw a straight line to from the current point in the coordinate
+ * system. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Point</em>' containment reference.
+ * @see #setPoint(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getLineTo_Point()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getPoint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.LineTo#getPoint
+ * <em>Point</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Point</em>' containment reference.
+ * @see #getPoint()
+ * @generated
+ */
+ void setPoint(Point value);
+
+} // LineTo
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/LinearGradient.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/LinearGradient.java
new file mode 100644
index 00000000000..79efbe04ff4
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/LinearGradient.java
@@ -0,0 +1,108 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Linear Gradient</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> LinearGradient is a kind of gradient that fills a
+ * graphical element by smoothly changing color values along a vector. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.LinearGradient#getStart <em>Start</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.LinearGradient#getEnd <em>End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getLinearGradient()
+ * @model
+ * @generated
+ */
+public interface LinearGradient extends Gradient {
+ /**
+ * Returns the value of the '<em><b>Start</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * starting point for the linear gradient expressed as a percentage along
+ * the x and y axes. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Start</em>' containment reference.
+ * @see #setStart(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getLinearGradient_Start()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getStart();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.LinearGradient#getStart <em>Start</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Start</em>' containment reference.
+ * @see #getStart()
+ * @generated
+ */
+ void setStart(Point value);
+
+ /**
+ * Returns the value of the '<em><b>End</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> an
+ * ending point for the linear gradient expressed as a percentage along the
+ * x and y axes. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>End</em>' containment reference.
+ * @see #setEnd(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getLinearGradient_End()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getEnd();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.LinearGradient#getEnd <em>End</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>End</em>' containment reference.
+ * @see #getEnd()
+ * @generated
+ */
+ void setEnd(Point value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * all the components of the gradient vector must be between 0 and 1.
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='start.x>=0 and start.x<=1 and end.x>=0 and end.x<=1 and start.y>=0 and start.y<=1 and end.y>=0 and end.y<=1'"
+ * @generated
+ */
+ boolean validGradientVector(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+} // LinearGradient
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/MarkedElement.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/MarkedElement.java
new file mode 100644
index 00000000000..adcd12b8a68
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/MarkedElement.java
@@ -0,0 +1,120 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Marked Element</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> MarkedElement is a graphic element that can be
+ * decorated at its vertices with markers (e.g. arrowheads). <!-- end-model-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.MarkedElement#getEndMarker <em>End
+ * Marker</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.MarkedElement#getMidMarker <em>Mid
+ * Marker</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.MarkedElement#getStartMarker <em>Start
+ * Marker</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMarkedElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface MarkedElement extends GraphicalElement {
+ /**
+ * Returns the value of the '<em><b>End Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> an
+ * optional end marker that aligns with the last vertex of the marked
+ * element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>End Marker</em>' reference.
+ * @see #setEndMarker(Marker)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMarkedElement_EndMarker()
+ * @model ordered="false"
+ * @generated
+ */
+ Marker getEndMarker();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.MarkedElement#getEndMarker
+ * <em>End Marker</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>End Marker</em>' reference.
+ * @see #getEndMarker()
+ * @generated
+ */
+ void setEndMarker(Marker value);
+
+ /**
+ * Returns the value of the '<em><b>Mid Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> an
+ * optional mid marker that aligns with all vertices of the marked element
+ * except the first and the last. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Mid Marker</em>' reference.
+ * @see #setMidMarker(Marker)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMarkedElement_MidMarker()
+ * @model ordered="false"
+ * @generated
+ */
+ Marker getMidMarker();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.MarkedElement#getMidMarker
+ * <em>Mid Marker</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Mid Marker</em>' reference.
+ * @see #getMidMarker()
+ * @generated
+ */
+ void setMidMarker(Marker value);
+
+ /**
+ * Returns the value of the '<em><b>Start Marker</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> an
+ * optional start marker that aligns with the first vertex of the marked
+ * element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Start Marker</em>' reference.
+ * @see #setStartMarker(Marker)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMarkedElement_StartMarker()
+ * @model ordered="false"
+ * @generated
+ */
+ Marker getStartMarker();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.MarkedElement#getStartMarker
+ * <em>Start Marker</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Start Marker</em>' reference.
+ * @see #getStartMarker()
+ * @generated
+ */
+ void setStartMarker(Marker value);
+
+} // MarkedElement
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Marker.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Marker.java
new file mode 100644
index 00000000000..39ae66ebdd4
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Marker.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Dimension;
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Marker</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Marker is a kind of group that is used as a
+ * decoration (e.g. an arrowhead) for the vertices of a marked graphical
+ * element. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Marker#getSize <em>Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Marker#getReference <em>Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMarker()
+ * @model
+ * @generated
+ */
+public interface Marker extends Group {
+ /**
+ * Returns the value of the '<em><b>Size</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the size of the marker <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Size</em>' containment reference.
+ * @see #setSize(Dimension)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMarker_Size()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Dimension getSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Marker#getSize
+ * <em>Size</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Size</em>' containment reference.
+ * @see #getSize()
+ * @generated
+ */
+ void setSize(Dimension value);
+
+ /**
+ * Returns the value of the '<em><b>Reference</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> a point within the bounds of the marker that aligns
+ * exactly with the marked element's vertex. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Reference</em>' containment reference.
+ * @see #setReference(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMarker_Reference()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getReference();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Marker#getReference <em>Reference</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Reference</em>' containment
+ * reference.
+ * @see #getReference()
+ * @generated
+ */
+ void setReference(Point value);
+
+} // Marker
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Matrix.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Matrix.java
new file mode 100644
index 00000000000..4fa188dcfd5
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Matrix.java
@@ -0,0 +1,188 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Matrix</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Matrix is a kind of transform that represents any
+ * transform operation with a 3x3 transformation matrix. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Matrix#getA <em>A</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Matrix#getB <em>B</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Matrix#getC <em>C</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Matrix#getD <em>D</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Matrix#getE <em>E</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Matrix#getF <em>F</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMatrix()
+ * @model
+ * @generated
+ */
+public interface Matrix extends Transform {
+ /**
+ * Returns the value of the '<em><b>A</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the a
+ * value of the transform matrix. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>A</em>' attribute.
+ * @see #setA(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMatrix_A()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getA();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Matrix#getA
+ * <em>A</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>A</em>' attribute.
+ * @see #getA()
+ * @generated
+ */
+ void setA(double value);
+
+ /**
+ * Returns the value of the '<em><b>B</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the b
+ * value of the transform matrix. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>B</em>' attribute.
+ * @see #setB(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMatrix_B()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getB();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Matrix#getB
+ * <em>B</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>B</em>' attribute.
+ * @see #getB()
+ * @generated
+ */
+ void setB(double value);
+
+ /**
+ * Returns the value of the '<em><b>C</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the c
+ * value of the transform matrix. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>C</em>' attribute.
+ * @see #setC(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMatrix_C()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getC();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Matrix#getC
+ * <em>C</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>C</em>' attribute.
+ * @see #getC()
+ * @generated
+ */
+ void setC(double value);
+
+ /**
+ * Returns the value of the '<em><b>D</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the d
+ * value of the transform matrix. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>D</em>' attribute.
+ * @see #setD(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMatrix_D()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getD();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Matrix#getD
+ * <em>D</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>D</em>' attribute.
+ * @see #getD()
+ * @generated
+ */
+ void setD(double value);
+
+ /**
+ * Returns the value of the '<em><b>E</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the e
+ * value of the transform matrix. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>E</em>' attribute.
+ * @see #setE(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMatrix_E()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getE();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Matrix#getE
+ * <em>E</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>E</em>' attribute.
+ * @see #getE()
+ * @generated
+ */
+ void setE(double value);
+
+ /**
+ * Returns the value of the '<em><b>F</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the f
+ * value of the transform matrix. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>F</em>' attribute.
+ * @see #setF(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMatrix_F()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getF();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Matrix#getF
+ * <em>F</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>F</em>' attribute.
+ * @see #getF()
+ * @generated
+ */
+ void setF(double value);
+
+} // Matrix
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/MoveTo.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/MoveTo.java
new file mode 100644
index 00000000000..8e8bff2219d
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/MoveTo.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Move To</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> MoveTo is a kind of path command that establishes a
+ * new current point in the coordinate system. Definition is an object with an
+ * id that can be nested under Definitions. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.MoveTo#getPoint <em>Point</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMoveTo()
+ * @model
+ * @generated
+ */
+public interface MoveTo extends PathCommand {
+ /**
+ * Returns the value of the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * point to move to in the coordinate system <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Point</em>' containment reference.
+ * @see #setPoint(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getMoveTo_Point()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getPoint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.MoveTo#getPoint
+ * <em>Point</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Point</em>' containment reference.
+ * @see #getPoint()
+ * @generated
+ */
+ void setPoint(Point value);
+
+} // MoveTo
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Paint.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Paint.java
new file mode 100644
index 00000000000..ea7dd58f143
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Paint.java
@@ -0,0 +1,86 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import java.awt.Color;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Paint</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Paint#getColor <em>Color</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Paint#getPaintServer <em>Paint Server
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPaint()
+ * @model
+ * @generated
+ */
+public interface Paint extends EObject {
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A solid
+ * color to use in painting. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Color</em>' attribute.
+ * @see #setColor(Color)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPaint_Color()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Color" ordered="false"
+ * @generated
+ */
+ Color getColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Paint#getColor
+ * <em>Color</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Color</em>' attribute.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(Color value);
+
+ /**
+ * Returns the value of the '<em><b>Paint Server</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A paint
+ * server that is used in painting. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Paint Server</em>' reference.
+ * @see #setPaintServer(PaintServer)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPaint_PaintServer()
+ * @model ordered="false"
+ * @generated
+ */
+ PaintServer getPaintServer();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Paint#getPaintServer
+ * <em>Paint Server</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Paint Server</em>' reference.
+ * @see #getPaintServer()
+ * @generated
+ */
+ void setPaintServer(PaintServer value);
+
+} // Paint
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/PaintServer.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/PaintServer.java
new file mode 100644
index 00000000000..65d5c7a8f43
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/PaintServer.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Paint Server</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> PaintServer is the abstract super class of all paint
+ * servers, like gradients and patterns <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.PaintServer#getTransform <em>Transform
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPaintServer()
+ * @model abstract="true"
+ * @generated
+ */
+public interface PaintServer extends Definition {
+ /**
+ * Returns the value of the '<em><b>Transform</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.Transform}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> A set of transforms that apply
+ * to this paint server. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Transform</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPaintServer_Transform()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Transform> getTransform();
+
+} // PaintServer
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Path.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Path.java
new file mode 100644
index 00000000000..ada43845524
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Path.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Path</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Path is a marked element that defines a custom shape
+ * whose geometry is specified with a sequence of path commands. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Path#getCommand <em>Command</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPath()
+ * @model
+ * @generated
+ */
+public interface Path extends MarkedElement {
+ /**
+ * Returns the value of the '<em><b>Command</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.PathCommand}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> a list of path commands
+ * that define the geometry of the custom shape. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Command</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPath_Command()
+ * @model containment="true"
+ * @generated
+ */
+ EList<PathCommand> getCommand();
+
+} // Path
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/PathCommand.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/PathCommand.java
new file mode 100644
index 00000000000..184fe534eb3
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/PathCommand.java
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Path Command</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> PathCommand is the abstract super type of all
+ * commands that participate in specifying a path element. <!-- end-model-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.PathCommand#isRelative <em>Is Relative
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPathCommand()
+ * @model abstract="true"
+ * @generated
+ */
+public interface PathCommand extends EObject {
+ /**
+ * Returns the value of the '<em><b>Is Relative</b></em>' attribute. The
+ * default value is <code>"false"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> whether the coordinates
+ * specified by the command are relative to the current point (when true) or
+ * to the origin point of the coordinate system (when false). <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Is Relative</em>' attribute.
+ * @see #setIsRelative(boolean)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPathCommand_IsRelative()
+ * @model default="false" dataType="org.eclipse.papyrus.dd.dc.Boolean"
+ * required="true" ordered="false"
+ * @generated
+ */
+ boolean isRelative();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.PathCommand#isRelative
+ * <em>Is Relative</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Relative</em>' attribute.
+ * @see #isRelative()
+ * @generated
+ */
+ void setIsRelative(boolean value);
+
+} // PathCommand
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Pattern.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Pattern.java
new file mode 100644
index 00000000000..4f6efd5187c
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Pattern.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Bounds;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Pattern</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Pattern is a kind of paint server that paints a
+ * graphical element (a tile) repeatedly at fixed intervals in x and y axes to
+ * cover the areas to be filled. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Pattern#getBounds <em>Bounds</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Pattern#getTile <em>Tile</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPattern()
+ * @model
+ * @generated
+ */
+public interface Pattern extends PaintServer {
+ /**
+ * Returns the value of the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the bounds of the pattern that define a private coordinate system for the
+ * pattern's tile. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Bounds</em>' containment reference.
+ * @see #setBounds(Bounds)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPattern_Bounds()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Bounds getBounds();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Pattern#getBounds <em>Bounds</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Bounds</em>' containment reference.
+ * @see #getBounds()
+ * @generated
+ */
+ void setBounds(Bounds value);
+
+ /**
+ * Returns the value of the '<em><b>Tile</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * reference to a graphical element, owned by the pattern, that works as a
+ * tile to be painted repeatedly at a fixed interval to fill an closed area.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Tile</em>' containment reference.
+ * @see #setTile(GraphicalElement)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPattern_Tile()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ GraphicalElement getTile();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Pattern#getTile
+ * <em>Tile</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Tile</em>' containment reference.
+ * @see #getTile()
+ * @generated
+ */
+ void setTile(GraphicalElement value);
+
+} // Pattern
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Polygon.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Polygon.java
new file mode 100644
index 00000000000..1951de528dd
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Polygon.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Polygon</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Polygon is a marked element that defines a closed
+ * shape consisting of a sequence of connected straight line segments. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Polygon#getPoint <em>Point</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPolygon()
+ * @model
+ * @generated
+ */
+public interface Polygon extends MarkedElement {
+ /**
+ * Returns the value of the '<em><b>Point</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dc.Point}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a list of 3 or more points
+ * making up the polygon. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Point</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPolygon_Point()
+ * @model containment="true" lower="3"
+ * @generated
+ */
+ EList<Point> getPoint();
+
+} // Polygon
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Polyline.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Polyline.java
new file mode 100644
index 00000000000..7d8e41e12a9
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Polyline.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Polyline</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Polyline is a marked element that defines a shape
+ * consisting of a sequence of connected straight line segments. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Polyline#getPoint <em>Point</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPolyline()
+ * @model
+ * @generated
+ */
+public interface Polyline extends MarkedElement {
+ /**
+ * Returns the value of the '<em><b>Point</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dc.Point}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a list of 2 or more points
+ * making up the polyline. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Point</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getPolyline_Point()
+ * @model containment="true" lower="2"
+ * @generated
+ */
+ EList<Point> getPoint();
+
+} // Polyline
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/QuadraticCurveTo.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/QuadraticCurveTo.java
new file mode 100644
index 00000000000..a571b11bb03
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/QuadraticCurveTo.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Quadratic Curve To</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> QuadraticCurveTo is a kind of path command that
+ * draws a quadratic b?zier curve from the current point to a new point using a
+ * single control point. EllipticalArcTo is a kind of path command that draws an
+ * elliptical arc from the current point to a new point in the coordinate
+ * system. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.QuadraticCurveTo#getPoint <em>Point
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.QuadraticCurveTo#getControl <em>Control
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getQuadraticCurveTo()
+ * @model
+ * @generated
+ */
+public interface QuadraticCurveTo extends PathCommand {
+ /**
+ * Returns the value of the '<em><b>Point</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * point to draw a quadratic b?zier curve to from the current point in the
+ * coordinate system. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Point</em>' containment reference.
+ * @see #setPoint(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getQuadraticCurveTo_Point()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getPoint();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.QuadraticCurveTo#getPoint
+ * <em>Point</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Point</em>' containment reference.
+ * @see #getPoint()
+ * @generated
+ */
+ void setPoint(Point value);
+
+ /**
+ * Returns the value of the '<em><b>Control</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the control point of the quadratic b?zier curve. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Control</em>' containment reference.
+ * @see #setControl(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getQuadraticCurveTo_Control()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getControl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.QuadraticCurveTo#getControl
+ * <em>Control</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Control</em>' containment reference.
+ * @see #getControl()
+ * @generated
+ */
+ void setControl(Point value);
+
+} // QuadraticCurveTo
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/RadialGradient.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/RadialGradient.java
new file mode 100644
index 00000000000..6c829669207
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/RadialGradient.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Radial Gradient</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> RadialGradient is a kind of gradient that fills a
+ * graphical element by smoothly changing color values in a circle. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.RadialGradient#getCenter <em>Center
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.RadialGradient#getFocus <em>Focus</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.RadialGradient#getRadius <em>Radius
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRadialGradient()
+ * @model
+ * @generated
+ */
+public interface RadialGradient extends Gradient {
+ /**
+ * Returns the value of the '<em><b>Center</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * center point for the radial gradient expressed as a percentage along the
+ * x and y axes. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Center</em>' containment reference.
+ * @see #setCenter(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRadialGradient_Center()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getCenter();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#getCenter
+ * <em>Center</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Center</em>' containment reference.
+ * @see #getCenter()
+ * @generated
+ */
+ void setCenter(Point value);
+
+ /**
+ * Returns the value of the '<em><b>Focus</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * focus point for the radial gradient expressed as a percentage along the x
+ * and y axes. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Focus</em>' containment reference.
+ * @see #setFocus(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRadialGradient_Focus()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getFocus();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#getFocus <em>Focus</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Focus</em>' containment reference.
+ * @see #getFocus()
+ * @generated
+ */
+ void setFocus(Point value);
+
+ /**
+ * Returns the value of the '<em><b>Radius</b></em>' attribute. The default
+ * value is <code>"0.5"</code>. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> a real number (>=0 and >=1) representing a
+ * ratio of the graphical element's size that is the radius of the gradient.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Radius</em>' attribute.
+ * @see #setRadius(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRadialGradient_Radius()
+ * @model default="0.5" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * required="true" ordered="false"
+ * @generated
+ */
+ double getRadius();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient#getRadius
+ * <em>Radius</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Radius</em>' attribute.
+ * @see #getRadius()
+ * @generated
+ */
+ void setRadius(double value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the center point coordinates must be between 0 and 1
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='centerX>=0 and centerX<=1 and centerY>=0 and centerY<=1'"
+ * @generated
+ */
+ boolean validCenterPoint(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the focus point coordinates must be between 0 and 1
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='focusX>=0 and focusX<=1 and focusY>=0 and focusY<=1'"
+ * @generated
+ */
+ boolean validFocusPoint(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the radius must be between 0 and 1
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='radius>=0 and radius<=1'"
+ * @generated
+ */
+ boolean validRadius(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // RadialGradient
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Rectangle.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Rectangle.java
new file mode 100644
index 00000000000..a25159a70b1
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Rectangle.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Bounds;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Rectangle</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Rectangle is a graphical element that defines a
+ * rectangular shape with given bounds. A rectangle may be given rounded corners
+ * by setting its corner radius. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Rectangle#getBounds <em>Bounds</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Rectangle#getCornerRadius <em>Corner
+ * Radius</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRectangle()
+ * @model
+ * @generated
+ */
+public interface Rectangle extends GraphicalElement {
+ /**
+ * Returns the value of the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the bounds of the rectangle in the x-y coordinate system. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Bounds</em>' containment reference.
+ * @see #setBounds(Bounds)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRectangle_Bounds()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Bounds getBounds();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Rectangle#getBounds <em>Bounds</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Bounds</em>' containment reference.
+ * @see #getBounds()
+ * @generated
+ */
+ void setBounds(Bounds value);
+
+ /**
+ * Returns the value of the '<em><b>Corner Radius</b></em>' attribute. The
+ * default value is <code>"0"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> a radius for the rectangle's
+ * rounded corners. When the radius is 0, the rectangle is drawn with sharp
+ * corners. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Corner Radius</em>' attribute.
+ * @see #setCornerRadius(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRectangle_CornerRadius()
+ * @model default="0" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * required="true" ordered="false"
+ * @generated
+ */
+ double getCornerRadius();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Rectangle#getCornerRadius
+ * <em>Corner Radius</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Corner Radius</em>' attribute.
+ * @see #getCornerRadius()
+ * @generated
+ */
+ void setCornerRadius(double value);
+
+} // Rectangle
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/RootCanvas.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/RootCanvas.java
new file mode 100644
index 00000000000..bf3df515c5f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/RootCanvas.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import java.awt.Color;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Root Canvas</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> RootCanvas is a kind of canvas that represents the
+ * root of containment for all graphical elements that render together. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.RootCanvas#getBackgroundColor <em>
+ * Background Color</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.RootCanvas#getDefinitions <em>
+ * Definitions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.RootCanvas#getStyleSheet <em>Style Sheet
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRootCanvas()
+ * @model
+ * @generated
+ */
+public interface RootCanvas extends Canvas {
+ /**
+ * Returns the value of the '<em><b>Background Color</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> An
+ * optional paint for the background of the canvas. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Background Color</em>' attribute.
+ * @see #isSetBackgroundColor()
+ * @see #unsetBackgroundColor()
+ * @see #setBackgroundColor(Color)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRootCanvas_BackgroundColor()
+ * @model unsettable="true" dataType="org.eclipse.papyrus.dd.dc.Color"
+ * ordered="false"
+ * @generated
+ */
+ Color getBackgroundColor();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas#getBackgroundColor
+ * <em>Background Color</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Background Color</em>' attribute.
+ * @see #isSetBackgroundColor()
+ * @see #unsetBackgroundColor()
+ * @see #getBackgroundColor()
+ * @generated
+ */
+ void setBackgroundColor(Color value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas#getBackgroundColor
+ * <em>Background Color</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetBackgroundColor()
+ * @see #getBackgroundColor()
+ * @see #setBackgroundColor(Color)
+ * @generated
+ */
+ void unsetBackgroundColor();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas#getBackgroundColor
+ * <em>Background Color</em>}' attribute is set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Background Color</em>' attribute is
+ * set.
+ * @see #unsetBackgroundColor()
+ * @see #getBackgroundColor()
+ * @see #setBackgroundColor(Color)
+ * @generated
+ */
+ boolean isSetBackgroundColor();
+
+ /**
+ * Returns the value of the '<em><b>Definitions</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> An optional definitions element to hold objects
+ * commonly referenced by the canvas. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Definitions</em>' containment reference.
+ * @see #setDefinitions(Definitions)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRootCanvas_Definitions()
+ * @model containment="true"
+ * @generated
+ */
+ Definitions getDefinitions();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas#getDefinitions
+ * <em>Definitions</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Definitions</em>' containment
+ * reference.
+ * @see #getDefinitions()
+ * @generated
+ */
+ void setDefinitions(Definitions value);
+
+ /**
+ * Returns the value of the '<em><b>Style Sheet</b></em>' reference list.
+ * The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.StyleSheet}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> A list of external style
+ * sheets that are imported by the canvas. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Style Sheet</em>' reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRootCanvas_StyleSheet()
+ * @model
+ * @generated
+ */
+ EList<StyleSheet> getStyleSheet();
+
+} // RootCanvas
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Rotate.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Rotate.java
new file mode 100644
index 00000000000..db9d996d830
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Rotate.java
@@ -0,0 +1,91 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Rotate</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Rotate is a kind of transform that rotates a
+ * graphical element by a given angle about a given center point in the x-y
+ * coordinate system. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Rotate#getAngle <em>Angle</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Rotate#getCenter <em>Center</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRotate()
+ * @model
+ * @generated
+ */
+public interface Rotate extends Transform {
+ /**
+ * Returns the value of the '<em><b>Angle</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number representing the angle (in degrees) of rotation. Both positive
+ * (clock-wise) and negative (counter-clock-wise) values are allowed. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Angle</em>' attribute.
+ * @see #setAngle(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRotate_Angle()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getAngle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Rotate#getAngle
+ * <em>Angle</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Angle</em>' attribute.
+ * @see #getAngle()
+ * @generated
+ */
+ void setAngle(double value);
+
+ /**
+ * Returns the value of the '<em><b>Center</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * point in the x-y coordinate system about which the rotation is performed.
+ * If the point is not specified, it is assumed to be the origin of the x-y
+ * coordinate system. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Center</em>' containment reference.
+ * @see #setCenter(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getRotate_Center()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ Point getCenter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Rotate#getCenter
+ * <em>Center</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Center</em>' containment reference.
+ * @see #getCenter()
+ * @generated
+ */
+ void setCenter(Point value);
+
+} // Rotate
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Scale.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Scale.java
new file mode 100644
index 00000000000..13a1c1b18e2
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Scale.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Scale</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Scale is a kind of transform that scales (resizes) a
+ * graphical element by a given factor in the x-y coordinate system. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Scale#getFactorX <em>Factor X</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Scale#getFactorY <em>Factor Y</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getScale()
+ * @model
+ * @generated
+ */
+public interface Scale extends Transform {
+ /**
+ * Returns the value of the '<em><b>Factor X</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number (>=0) representing a scale factor along the x-axis. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Factor X</em>' attribute.
+ * @see #setFactorX(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getScale_FactorX()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getFactorX();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Scale#getFactorX
+ * <em>Factor X</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Factor X</em>' attribute.
+ * @see #getFactorX()
+ * @generated
+ */
+ void setFactorX(double value);
+
+ /**
+ * Returns the value of the '<em><b>Factor Y</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number(>=0) representing a scale factor along the y-axis. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Factor Y</em>' attribute.
+ * @see #setFactorY(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getScale_FactorY()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getFactorY();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Scale#getFactorY
+ * <em>Factor Y</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Factor Y</em>' attribute.
+ * @see #getFactorY()
+ * @generated
+ */
+ void setFactorY(double value);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * scale factors cannot be negative.
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='factorX>=0 and factorY>=0'"
+ * @generated
+ */
+ boolean nonnegativescale(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+} // Scale
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Skew.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Skew.java
new file mode 100644
index 00000000000..5257ded8bd1
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Skew.java
@@ -0,0 +1,91 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Skew</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Skew is a kind of transform that skews (deforms) a
+ * graphical element by given angles in the x-y coordinate system. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Skew#getAngleX <em>Angle X</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Skew#getAngleY <em>Angle Y</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getSkew()
+ * @model
+ * @generated
+ */
+public interface Skew extends Transform {
+ /**
+ * Returns the value of the '<em><b>Angle X</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number representing the angle (in degrees) of skew along the x-axis. Both
+ * positive (clock-wise) and negative (counter-clock-wise) values are
+ * allowed. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Angle X</em>' attribute.
+ * @see #setAngleX(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getSkew_AngleX()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getAngleX();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Skew#getAngleX
+ * <em>Angle X</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Angle X</em>' attribute.
+ * @see #getAngleX()
+ * @generated
+ */
+ void setAngleX(double value);
+
+ /**
+ * Returns the value of the '<em><b>Angle Y</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number representing the angle (in degrees) of skew along the y-axis. Both
+ * positive (clock-wise) and negative (counter-clock-wise) values are
+ * allowed. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Angle Y</em>' attribute.
+ * @see #setAngleY(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getSkew_AngleY()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getAngleY();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Skew#getAngleY
+ * <em>Angle Y</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Angle Y</em>' attribute.
+ * @see #getAngleY()
+ * @generated
+ */
+ void setAngleY(double value);
+
+} // Skew
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Style.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Style.java
new file mode 100644
index 00000000000..73540be691f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Style.java
@@ -0,0 +1,766 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Style</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Style contains formatting properties that affect the
+ * appearance or style of graphical elements. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getFill <em>Fill</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getFillOpacity <em>Fill Opacity
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getStroke <em>Stroke</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getStrokeWidth <em>Stroke Width
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getStrokeOpacity <em>Stroke
+ * Opacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getStrokeDashLength <em>Stroke
+ * Dash Length</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getFontSize <em>Font Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getFontName <em>Font Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#isFontItalic <em>Font Italic</em>}
+ * </li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#isFontBold <em>Font Bold</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Style#getFontDecoration <em>Font
+ * Decoration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle()
+ * @model
+ * @generated
+ */
+public interface Style extends EObject {
+ /**
+ * Returns the value of the '<em><b>Fill</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A
+ * paint that is used to fill the enclosed regions of a graphical element.
+ * The default is a black paint. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Fill</em>' containment reference.
+ * @see #isSetFill()
+ * @see #unsetFill()
+ * @see #setFill(Paint)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_Fill()
+ * @model containment="true" unsettable="true" ordered="false"
+ * @generated
+ */
+ Paint getFill();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Style#getFill
+ * <em>Fill</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Fill</em>' containment reference.
+ * @see #isSetFill()
+ * @see #unsetFill()
+ * @see #getFill()
+ * @generated
+ */
+ void setFill(Paint value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.papyrus.dd.dg.Style#getFill
+ * <em>Fill</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetFill()
+ * @see #getFill()
+ * @see #setFill(Paint)
+ * @generated
+ */
+ void unsetFill();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFill <em>Fill</em>}'
+ * containment reference is set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return whether the value of the '<em>Fill</em>' containment reference is
+ * set.
+ * @see #unsetFill()
+ * @see #getFill()
+ * @see #setFill(Paint)
+ * @generated
+ */
+ boolean isSetFill();
+
+ /**
+ * Returns the value of the '<em><b>Fill Opacity</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A real
+ * number (>=0 and <=1) representing the opacity of the fill used to paint a
+ * graphical element. A value of 0 means totally transparent, while a value
+ * of 1 means totally opaque. The default is 1. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Fill Opacity</em>' attribute.
+ * @see #isSetFillOpacity()
+ * @see #unsetFillOpacity()
+ * @see #setFillOpacity(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_FillOpacity()
+ * @model unsettable="true" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * ordered="false"
+ * @generated
+ */
+ double getFillOpacity();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFillOpacity
+ * <em>Fill Opacity</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Fill Opacity</em>' attribute.
+ * @see #isSetFillOpacity()
+ * @see #unsetFillOpacity()
+ * @see #getFillOpacity()
+ * @generated
+ */
+ void setFillOpacity(double value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFillOpacity
+ * <em>Fill Opacity</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetFillOpacity()
+ * @see #getFillOpacity()
+ * @see #setFillOpacity(double)
+ * @generated
+ */
+ void unsetFillOpacity();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFillOpacity
+ * <em>Fill Opacity</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Fill Opacity</em>' attribute is
+ * set.
+ * @see #unsetFillOpacity()
+ * @see #getFillOpacity()
+ * @see #setFillOpacity(double)
+ * @generated
+ */
+ boolean isSetFillOpacity();
+
+ /**
+ * Returns the value of the '<em><b>Stroke</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A
+ * paint that is used to stroke a graphical element. The default is no
+ * paint. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Stroke</em>' containment reference.
+ * @see #isSetStroke()
+ * @see #unsetStroke()
+ * @see #setStroke(Paint)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_Stroke()
+ * @model containment="true" unsettable="true" ordered="false"
+ * @generated
+ */
+ Paint getStroke();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Style#getStroke
+ * <em>Stroke</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Stroke</em>' containment reference.
+ * @see #isSetStroke()
+ * @see #unsetStroke()
+ * @see #getStroke()
+ * @generated
+ */
+ void setStroke(Paint value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStroke <em>Stroke</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetStroke()
+ * @see #getStroke()
+ * @see #setStroke(Paint)
+ * @generated
+ */
+ void unsetStroke();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStroke <em>Stroke</em>}'
+ * containment reference is set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return whether the value of the '<em>Stroke</em>' containment reference
+ * is set.
+ * @see #unsetStroke()
+ * @see #getStroke()
+ * @see #setStroke(Paint)
+ * @generated
+ */
+ boolean isSetStroke();
+
+ /**
+ * Returns the value of the '<em><b>Stroke Width</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A real
+ * number (>=0) representing the width of the stroke of a graphical element.
+ * A value of 0 specifies no stroke is painted. The default is 1. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Stroke Width</em>' attribute.
+ * @see #isSetStrokeWidth()
+ * @see #unsetStrokeWidth()
+ * @see #setStrokeWidth(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_StrokeWidth()
+ * @model unsettable="true" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * ordered="false"
+ * @generated
+ */
+ double getStrokeWidth();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeWidth
+ * <em>Stroke Width</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Stroke Width</em>' attribute.
+ * @see #isSetStrokeWidth()
+ * @see #unsetStrokeWidth()
+ * @see #getStrokeWidth()
+ * @generated
+ */
+ void setStrokeWidth(double value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeWidth
+ * <em>Stroke Width</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetStrokeWidth()
+ * @see #getStrokeWidth()
+ * @see #setStrokeWidth(double)
+ * @generated
+ */
+ void unsetStrokeWidth();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeWidth
+ * <em>Stroke Width</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Stroke Width</em>' attribute is
+ * set.
+ * @see #unsetStrokeWidth()
+ * @see #getStrokeWidth()
+ * @see #setStrokeWidth(double)
+ * @generated
+ */
+ boolean isSetStrokeWidth();
+
+ /**
+ * Returns the value of the '<em><b>Stroke Opacity</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A real
+ * number (>=0 and <=1) representing the opacity of the stroke of a
+ * graphical element. A value of 0 means totally transparent, while a value
+ * of 1 means totally opaque. The default is 1. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Stroke Opacity</em>' attribute.
+ * @see #isSetStrokeOpacity()
+ * @see #unsetStrokeOpacity()
+ * @see #setStrokeOpacity(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_StrokeOpacity()
+ * @model unsettable="true" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * ordered="false"
+ * @generated
+ */
+ double getStrokeOpacity();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeOpacity
+ * <em>Stroke Opacity</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Stroke Opacity</em>' attribute.
+ * @see #isSetStrokeOpacity()
+ * @see #unsetStrokeOpacity()
+ * @see #getStrokeOpacity()
+ * @generated
+ */
+ void setStrokeOpacity(double value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeOpacity
+ * <em>Stroke Opacity</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetStrokeOpacity()
+ * @see #getStrokeOpacity()
+ * @see #setStrokeOpacity(double)
+ * @generated
+ */
+ void unsetStrokeOpacity();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeOpacity
+ * <em>Stroke Opacity</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Stroke Opacity</em>' attribute is
+ * set.
+ * @see #unsetStrokeOpacity()
+ * @see #getStrokeOpacity()
+ * @see #setStrokeOpacity(double)
+ * @generated
+ */
+ boolean isSetStrokeOpacity();
+
+ /**
+ * Returns the value of the '<em><b>Stroke Dash Length</b></em>' attribute
+ * list. The list contents are of type {@link java.lang.Double}. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A list
+ * of real numbers specifying a pattern of alternating dash and gap lengths
+ * used in stroking the outline of a graphical element with the first one
+ * specifying a dash length. The size of the list is expected to be even. If
+ * the list is empty, the stroke is drawn solid. The default is empty list.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Stroke Dash Length</em>' attribute list.
+ * @see #isSetStrokeDashLength()
+ * @see #unsetStrokeDashLength()
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_StrokeDashLength()
+ * @model unique="false" unsettable="true"
+ * dataType="org.eclipse.papyrus.dd.dc.Real"
+ * @generated
+ */
+ EList<Double> getStrokeDashLength();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeDashLength
+ * <em>Stroke Dash Length</em>}' attribute list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetStrokeDashLength()
+ * @see #getStrokeDashLength()
+ * @generated
+ */
+ void unsetStrokeDashLength();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getStrokeDashLength
+ * <em>Stroke Dash Length</em>}' attribute list is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Stroke Dash Length</em>' attribute
+ * list is set.
+ * @see #unsetStrokeDashLength()
+ * @see #getStrokeDashLength()
+ * @generated
+ */
+ boolean isSetStrokeDashLength();
+
+ /**
+ * Returns the value of the '<em><b>Font Size</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A real
+ * number (>=0) representing the size (in unit of length) of the font used
+ * to render a text element. The default is 10. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Font Size</em>' attribute.
+ * @see #isSetFontSize()
+ * @see #unsetFontSize()
+ * @see #setFontSize(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_FontSize()
+ * @model unsettable="true" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * ordered="false"
+ * @generated
+ */
+ double getFontSize();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontSize <em>Font Size</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Font Size</em>' attribute.
+ * @see #isSetFontSize()
+ * @see #unsetFontSize()
+ * @see #getFontSize()
+ * @generated
+ */
+ void setFontSize(double value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontSize <em>Font Size</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetFontSize()
+ * @see #getFontSize()
+ * @see #setFontSize(double)
+ * @generated
+ */
+ void unsetFontSize();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontSize <em>Font Size</em>}'
+ * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Font Size</em>' attribute is set.
+ * @see #unsetFontSize()
+ * @see #getFontSize()
+ * @see #setFontSize(double)
+ * @generated
+ */
+ boolean isSetFontSize();
+
+ /**
+ * Returns the value of the '<em><b>Font Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The
+ * name of the font used to render a text element (e.g. "Times New Roman",
+ * "Arial" or "Helvetica"). The default is "Arial". <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Font Name</em>' attribute.
+ * @see #isSetFontName()
+ * @see #unsetFontName()
+ * @see #setFontName(String)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_FontName()
+ * @model unsettable="true" dataType="org.eclipse.papyrus.dd.dc.String"
+ * ordered="false"
+ * @generated
+ */
+ String getFontName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontName <em>Font Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Font Name</em>' attribute.
+ * @see #isSetFontName()
+ * @see #unsetFontName()
+ * @see #getFontName()
+ * @generated
+ */
+ void setFontName(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontName <em>Font Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetFontName()
+ * @see #getFontName()
+ * @see #setFontName(String)
+ * @generated
+ */
+ void unsetFontName();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontName <em>Font Name</em>}'
+ * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Font Name</em>' attribute is set.
+ * @see #unsetFontName()
+ * @see #getFontName()
+ * @see #setFontName(String)
+ * @generated
+ */
+ boolean isSetFontName();
+
+ /**
+ * Returns the value of the '<em><b>Font Italic</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Whether
+ * the font used to render a text element has an italic style. The default
+ * is false. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Font Italic</em>' attribute.
+ * @see #isSetFontItalic()
+ * @see #unsetFontItalic()
+ * @see #setFontItalic(boolean)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_FontItalic()
+ * @model unsettable="true" dataType="org.eclipse.papyrus.dd.dc.Boolean"
+ * ordered="false"
+ * @generated
+ */
+ boolean isFontItalic();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#isFontItalic <em>Font Italic</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Font Italic</em>' attribute.
+ * @see #isSetFontItalic()
+ * @see #unsetFontItalic()
+ * @see #isFontItalic()
+ * @generated
+ */
+ void setFontItalic(boolean value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#isFontItalic <em>Font Italic</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetFontItalic()
+ * @see #isFontItalic()
+ * @see #setFontItalic(boolean)
+ * @generated
+ */
+ void unsetFontItalic();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#isFontItalic <em>Font Italic</em>}
+ * ' attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Font Italic</em>' attribute is set.
+ * @see #unsetFontItalic()
+ * @see #isFontItalic()
+ * @see #setFontItalic(boolean)
+ * @generated
+ */
+ boolean isSetFontItalic();
+
+ /**
+ * Returns the value of the '<em><b>Font Bold</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Whether
+ * the font used to render a text element has a bold style. The default is
+ * false. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Font Bold</em>' attribute.
+ * @see #isSetFontBold()
+ * @see #unsetFontBold()
+ * @see #setFontBold(boolean)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_FontBold()
+ * @model unsettable="true" dataType="org.eclipse.papyrus.dd.dc.Boolean"
+ * ordered="false"
+ * @generated
+ */
+ boolean isFontBold();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Style#isFontBold
+ * <em>Font Bold</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Font Bold</em>' attribute.
+ * @see #isSetFontBold()
+ * @see #unsetFontBold()
+ * @see #isFontBold()
+ * @generated
+ */
+ void setFontBold(boolean value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#isFontBold <em>Font Bold</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetFontBold()
+ * @see #isFontBold()
+ * @see #setFontBold(boolean)
+ * @generated
+ */
+ void unsetFontBold();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#isFontBold <em>Font Bold</em>}'
+ * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Font Bold</em>' attribute is set.
+ * @see #unsetFontBold()
+ * @see #isFontBold()
+ * @see #setFontBold(boolean)
+ * @generated
+ */
+ boolean isSetFontBold();
+
+ /**
+ * Returns the value of the '<em><b>Font Decoration</b></em>' attribute. The
+ * literals are from the enumeration
+ * {@link org.eclipse.papyrus.dd.dg.FontDecoration}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The decoration of the font
+ * used to render a text element. The default is no decoration. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Font Decoration</em>' attribute.
+ * @see org.eclipse.papyrus.dd.dg.FontDecoration
+ * @see #isSetFontDecoration()
+ * @see #unsetFontDecoration()
+ * @see #setFontDecoration(FontDecoration)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyle_FontDecoration()
+ * @model unsettable="true" ordered="false"
+ * @generated
+ */
+ FontDecoration getFontDecoration();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontDecoration
+ * <em>Font Decoration</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Font Decoration</em>' attribute.
+ * @see org.eclipse.papyrus.dd.dg.FontDecoration
+ * @see #isSetFontDecoration()
+ * @see #unsetFontDecoration()
+ * @see #getFontDecoration()
+ * @generated
+ */
+ void setFontDecoration(FontDecoration value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontDecoration
+ * <em>Font Decoration</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetFontDecoration()
+ * @see #getFontDecoration()
+ * @see #setFontDecoration(FontDecoration)
+ * @generated
+ */
+ void unsetFontDecoration();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Style#getFontDecoration
+ * <em>Font Decoration</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Font Decoration</em>' attribute is
+ * set.
+ * @see #unsetFontDecoration()
+ * @see #getFontDecoration()
+ * @see #setFontDecoration(FontDecoration)
+ * @generated
+ */
+ boolean isSetFontDecoration();
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the font size is non-negative
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='fontSize >= 0'"
+ * @generated
+ */
+ boolean validFontSize(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the stroke width is non-negative
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='fillOpacity >= 0 and fillOpacity <=1'"
+ * @generated
+ */
+ boolean validFillOpacity(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the stroke width is non-negative
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='strokeWidth >= 0'"
+ * @generated
+ */
+ boolean validStrokeWidth(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the size of the stroke dash length list must be even.
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='strokeDashLength->size().mod(2) = 0'"
+ * @generated
+ */
+ boolean validDashLengthSize(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the opacity of the fill is non-negative
+ *
+ * @param diagnostics
+ * The chain of diagnostics to which problems are to be appended.
+ * @param context
+ * The cache of context-specific information. <!-- end-model-doc
+ * -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL body='strokeOpacity >= 0 and strokeOpacity <=1'"
+ * @generated
+ */
+ boolean validStrokeOpacity(DiagnosticChain diagnostics,
+ Map<Object, Object> context);
+
+} // Style
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleRule.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleRule.java
new file mode 100644
index 00000000000..249e61e6c2b
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleRule.java
@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Style Rule</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.StyleRule#getSelector <em>Selector</em>}
+ * </li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.StyleRule#getStyle <em>Style</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyleRule()
+ * @model
+ * @generated
+ */
+public interface StyleRule extends EObject {
+ /**
+ * Returns the value of the '<em><b>Selector</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.StyleSelector}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> A set of selectors for
+ * graphical elements to apply the rule to. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Selector</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyleRule_Selector()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<StyleSelector> getSelector();
+
+ /**
+ * Returns the value of the '<em><b>Style</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A
+ * style that is applied to graphical elements selected by this rule. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Style</em>' containment reference.
+ * @see #setStyle(Style)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyleRule_Style()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Style getStyle();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.StyleRule#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(Style value);
+
+} // StyleRule
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleSelector.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleSelector.java
new file mode 100644
index 00000000000..da895bb3b9f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleSelector.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Style Selector</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.StyleSelector#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.StyleSelector#getKeyword <em>Keyword
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyleSelector()
+ * @model
+ * @generated
+ */
+public interface StyleSelector extends EObject {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> A
+ * non-abstract type that is a subtype of GraphicalElement. Elements having
+ * this type are selected. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type</em>' reference.
+ * @see #setType(EClass)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyleSelector_Type()
+ * @model ordered="false"
+ * @generated
+ */
+ EClass getType();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.StyleSelector#getType <em>Type</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(EClass value);
+
+ /**
+ * Returns the value of the '<em><b>Keyword</b></em>' attribute list. The
+ * list contents are of type {@link java.lang.String}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> A list of strings
+ * representing keywords of graphical elements. Elements having these
+ * keywords are selected. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Keyword</em>' attribute list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyleSelector_Keyword()
+ * @model dataType="org.eclipse.papyrus.dd.dc.String"
+ * @generated
+ */
+ EList<String> getKeyword();
+
+} // StyleSelector
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleSheet.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleSheet.java
new file mode 100644
index 00000000000..502e86b107a
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/StyleSheet.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Style Sheet</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.StyleSheet#getRule <em>Rule</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyleSheet()
+ * @model
+ * @generated
+ */
+public interface StyleSheet extends EObject {
+ /**
+ * Returns the value of the '<em><b>Rule</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dg.StyleRule}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> A list of style rules that
+ * apply to graphical elements. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Rule</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getStyleSheet_Rule()
+ * @model containment="true"
+ * @generated
+ */
+ EList<StyleRule> getRule();
+
+} // StyleSheet
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Text.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Text.java
new file mode 100644
index 00000000000..8b4ed0e2155
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Text.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Text</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Text is a graphical element that defines a shape
+ * that renders a character string at a given position. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Text#getData <em>Data</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Text#getPosition <em>Position</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getText()
+ * @model
+ * @generated
+ */
+public interface Text extends GraphicalElement {
+ /**
+ * Returns the value of the '<em><b>Data</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> the
+ * text as a string of characters. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Data</em>' attribute.
+ * @see #setData(String)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getText_Data()
+ * @model dataType="org.eclipse.papyrus.dd.dc.String" required="true"
+ * ordered="false"
+ * @generated
+ */
+ String getData();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Text#getData
+ * <em>Data</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Data</em>' attribute.
+ * @see #getData()
+ * @generated
+ */
+ void setData(String value);
+
+ /**
+ * Returns the value of the '<em><b>Position</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> the bounds inside which the text is rendered
+ * (possibly wrapped into multiple lines) <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Position</em>' containment reference.
+ * @see #setPosition(Point)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getText_Position()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Point getPosition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Text#getPosition
+ * <em>Position</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Position</em>' containment
+ * reference.
+ * @see #getPosition()
+ * @generated
+ */
+ void setPosition(Point value);
+
+} // Text
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Transform.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Transform.java
new file mode 100644
index 00000000000..9d67874fabc
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Transform.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Transform</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Transform defines an operation that changes the
+ * geometry of a graphical element in a specific way. <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getTransform()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Transform extends EObject {
+} // Transform
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Translate.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Translate.java
new file mode 100644
index 00000000000..1076fed3730
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Translate.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Translate</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Translate is a kind of transform that translates
+ * (moves) a graphical element by a given delta along the x-y coordinate system.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Translate#getDeltaX <em>Delta X</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Translate#getDeltaY <em>Delta Y</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getTranslate()
+ * @model
+ * @generated
+ */
+public interface Translate extends Transform {
+ /**
+ * Returns the value of the '<em><b>Delta X</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number representing a translate delta along the x-axis. Both positive and
+ * negative values are allowed. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Delta X</em>' attribute.
+ * @see #setDeltaX(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getTranslate_DeltaX()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getDeltaX();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Translate#getDeltaX <em>Delta X</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Delta X</em>' attribute.
+ * @see #getDeltaX()
+ * @generated
+ */
+ void setDeltaX(double value);
+
+ /**
+ * Returns the value of the '<em><b>Delta Y</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a real
+ * number representing a translate delta along the y-axis. Both positive and
+ * negative values are allowed. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Delta Y</em>' attribute.
+ * @see #setDeltaY(double)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getTranslate_DeltaY()
+ * @model dataType="org.eclipse.papyrus.dd.dc.Real" required="true"
+ * ordered="false"
+ * @generated
+ */
+ double getDeltaY();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.dg.Translate#getDeltaY <em>Delta Y</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Delta Y</em>' attribute.
+ * @see #getDeltaY()
+ * @generated
+ */
+ void setDeltaY(double value);
+
+} // Translate
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Use.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Use.java
new file mode 100644
index 00000000000..6fe6b6b1ad1
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/Use.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg;
+
+import org.eclipse.papyrus.dd.dc.Bounds;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Use</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Rectangle is a graphical element that defines a
+ * rectangular shape with given bounds. A rectangle may be given rounded corners
+ * by setting its corner radius. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.Use#getBounds <em>Bounds</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getUse()
+ * @model
+ * @generated
+ */
+public interface Use extends GraphicalElement {
+ /**
+ * Returns the value of the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the bounds of the rectangle in the x-y coordinate system. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Bounds</em>' containment reference.
+ * @see #setBounds(Bounds)
+ * @see org.eclipse.papyrus.dd.dg.DGPackage#getUse_Bounds()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ Bounds getBounds();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.dg.Use#getBounds
+ * <em>Bounds</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Bounds</em>' containment reference.
+ * @see #getBounds()
+ * @generated
+ */
+ void setBounds(Bounds value);
+
+} // Use
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CanvasImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CanvasImpl.java
new file mode 100644
index 00000000000..ee99b2222b0
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CanvasImpl.java
@@ -0,0 +1,197 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Bounds;
+
+import org.eclipse.papyrus.dd.dg.Canvas;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Canvas</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.CanvasImpl#getBounds <em>Bounds
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CanvasImpl extends GroupImpl implements Canvas {
+ /**
+ * The cached value of the '{@link #getBounds() <em>Bounds</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBounds()
+ * @generated
+ * @ordered
+ */
+ protected Bounds bounds;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CanvasImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.CANVAS;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Bounds getBounds() {
+ return bounds;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBounds(Bounds newBounds,
+ NotificationChain msgs) {
+ Bounds oldBounds = bounds;
+ bounds = newBounds;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.CANVAS__BOUNDS, oldBounds,
+ newBounds);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBounds(Bounds newBounds) {
+ if (newBounds != bounds) {
+ NotificationChain msgs = null;
+ if (bounds != null)
+ msgs = ((InternalEObject) bounds).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.CANVAS__BOUNDS,
+ null, msgs);
+ if (newBounds != null)
+ msgs = ((InternalEObject) newBounds).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.CANVAS__BOUNDS,
+ null, msgs);
+ msgs = basicSetBounds(newBounds, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.CANVAS__BOUNDS, newBounds, newBounds));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.CANVAS__BOUNDS:
+ return basicSetBounds(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 DGPackage.CANVAS__BOUNDS:
+ return getBounds();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.CANVAS__BOUNDS:
+ setBounds((Bounds) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.CANVAS__BOUNDS:
+ setBounds((Bounds) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.CANVAS__BOUNDS:
+ return bounds != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // CanvasImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CircleImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CircleImpl.java
new file mode 100644
index 00000000000..cb84047897d
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CircleImpl.java
@@ -0,0 +1,328 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.Circle;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+
+import org.eclipse.papyrus.dd.dg.util.DGValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Circle</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.CircleImpl#getCenter <em>Center
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.CircleImpl#getRadius <em>Radius
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CircleImpl extends GraphicalElementImpl implements Circle {
+ /**
+ * The cached value of the '{@link #getCenter() <em>Center</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCenter()
+ * @generated
+ * @ordered
+ */
+ protected Point center;
+
+ /**
+ * The default value of the '{@link #getRadius() <em>Radius</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRadius()
+ * @generated
+ * @ordered
+ */
+ protected static final double RADIUS_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getRadius() <em>Radius</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRadius()
+ * @generated
+ * @ordered
+ */
+ protected double radius = RADIUS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CircleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.CIRCLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getCenter() {
+ return center;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetCenter(Point newCenter,
+ NotificationChain msgs) {
+ Point oldCenter = center;
+ center = newCenter;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.CIRCLE__CENTER, oldCenter,
+ newCenter);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCenter(Point newCenter) {
+ if (newCenter != center) {
+ NotificationChain msgs = null;
+ if (center != null)
+ msgs = ((InternalEObject) center).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.CIRCLE__CENTER,
+ null, msgs);
+ if (newCenter != null)
+ msgs = ((InternalEObject) newCenter).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.CIRCLE__CENTER,
+ null, msgs);
+ msgs = basicSetCenter(newCenter, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.CIRCLE__CENTER, newCenter, newCenter));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getRadius() {
+ return radius;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRadius(double newRadius) {
+ double oldRadius = radius;
+ radius = newRadius;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.CIRCLE__RADIUS, oldRadius, radius));
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #nonNegativeRadius(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Non Negative Radius</em>}' invariant operation. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #nonNegativeRadius(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NON_NEGATIVE_RADIUS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "radius >= 0";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nonNegativeRadius(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.CIRCLE,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.CIRCLE___NON_NEGATIVE_RADIUS__DIAGNOSTICCHAIN_MAP,
+ NON_NEGATIVE_RADIUS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.CIRCLE__NON_NEGATIVE_RADIUS);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.CIRCLE__CENTER:
+ return basicSetCenter(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 DGPackage.CIRCLE__CENTER:
+ return getCenter();
+ case DGPackage.CIRCLE__RADIUS:
+ return getRadius();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.CIRCLE__CENTER:
+ setCenter((Point) newValue);
+ return;
+ case DGPackage.CIRCLE__RADIUS:
+ setRadius((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.CIRCLE__CENTER:
+ setCenter((Point) null);
+ return;
+ case DGPackage.CIRCLE__RADIUS:
+ setRadius(RADIUS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.CIRCLE__CENTER:
+ return center != null;
+ case DGPackage.CIRCLE__RADIUS:
+ return radius != RADIUS_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case DGPackage.CIRCLE___NON_NEGATIVE_RADIUS__DIAGNOSTICCHAIN_MAP:
+ return nonNegativeRadius((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (radius: ");
+ result.append(radius);
+ result.append(')');
+ return result.toString();
+ }
+
+} // CircleImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ClipPathImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ClipPathImpl.java
new file mode 100644
index 00000000000..a1ea4dd4b75
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ClipPathImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.dd.dg.ClipPath;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Clip Path</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ClipPathImpl extends GroupImpl implements ClipPath {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ClipPathImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.CLIP_PATH;
+ }
+
+} // ClipPathImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ClosePathImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ClosePathImpl.java
new file mode 100644
index 00000000000..5e0f01216d1
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ClosePathImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.dd.dg.ClosePath;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Close Path</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ClosePathImpl extends PathCommandImpl implements ClosePath {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ClosePathImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.CLOSE_PATH;
+ }
+
+} // ClosePathImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CubicCurveToImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CubicCurveToImpl.java
new file mode 100644
index 00000000000..f18d3cccdd0
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/CubicCurveToImpl.java
@@ -0,0 +1,360 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.CubicCurveTo;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Cubic Curve To</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.CubicCurveToImpl#getPoint <em>Point
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.CubicCurveToImpl#getStartControl
+ * <em>Start Control</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.CubicCurveToImpl#getEndControl <em>
+ * End Control</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CubicCurveToImpl extends PathCommandImpl implements CubicCurveTo {
+ /**
+ * The cached value of the '{@link #getPoint() <em>Point</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPoint()
+ * @generated
+ * @ordered
+ */
+ protected Point point;
+
+ /**
+ * The cached value of the '{@link #getStartControl()
+ * <em>Start Control</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getStartControl()
+ * @generated
+ * @ordered
+ */
+ protected Point startControl;
+
+ /**
+ * The cached value of the '{@link #getEndControl() <em>End Control</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndControl()
+ * @generated
+ * @ordered
+ */
+ protected Point endControl;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CubicCurveToImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.CUBIC_CURVE_TO;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getPoint() {
+ return point;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPoint(Point newPoint,
+ NotificationChain msgs) {
+ Point oldPoint = point;
+ point = newPoint;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.CUBIC_CURVE_TO__POINT,
+ oldPoint, newPoint);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPoint(Point newPoint) {
+ if (newPoint != point) {
+ NotificationChain msgs = null;
+ if (point != null)
+ msgs = ((InternalEObject) point).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.CUBIC_CURVE_TO__POINT, null, msgs);
+ if (newPoint != null)
+ msgs = ((InternalEObject) newPoint).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.CUBIC_CURVE_TO__POINT, null, msgs);
+ msgs = basicSetPoint(newPoint, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.CUBIC_CURVE_TO__POINT, newPoint, newPoint));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getStartControl() {
+ return startControl;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStartControl(Point newStartControl,
+ NotificationChain msgs) {
+ Point oldStartControl = startControl;
+ startControl = newStartControl;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.CUBIC_CURVE_TO__START_CONTROL,
+ oldStartControl, newStartControl);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStartControl(Point newStartControl) {
+ if (newStartControl != startControl) {
+ NotificationChain msgs = null;
+ if (startControl != null)
+ msgs = ((InternalEObject) startControl).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.CUBIC_CURVE_TO__START_CONTROL,
+ null, msgs);
+ if (newStartControl != null)
+ msgs = ((InternalEObject) newStartControl).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.CUBIC_CURVE_TO__START_CONTROL,
+ null, msgs);
+ msgs = basicSetStartControl(newStartControl, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.CUBIC_CURVE_TO__START_CONTROL, newStartControl,
+ newStartControl));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getEndControl() {
+ return endControl;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetEndControl(Point newEndControl,
+ NotificationChain msgs) {
+ Point oldEndControl = endControl;
+ endControl = newEndControl;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.CUBIC_CURVE_TO__END_CONTROL,
+ oldEndControl, newEndControl);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEndControl(Point newEndControl) {
+ if (newEndControl != endControl) {
+ NotificationChain msgs = null;
+ if (endControl != null)
+ msgs = ((InternalEObject) endControl).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.CUBIC_CURVE_TO__END_CONTROL, null,
+ msgs);
+ if (newEndControl != null)
+ msgs = ((InternalEObject) newEndControl).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.CUBIC_CURVE_TO__END_CONTROL, null,
+ msgs);
+ msgs = basicSetEndControl(newEndControl, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.CUBIC_CURVE_TO__END_CONTROL, newEndControl,
+ newEndControl));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.CUBIC_CURVE_TO__POINT:
+ return basicSetPoint(null, msgs);
+ case DGPackage.CUBIC_CURVE_TO__START_CONTROL:
+ return basicSetStartControl(null, msgs);
+ case DGPackage.CUBIC_CURVE_TO__END_CONTROL:
+ return basicSetEndControl(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 DGPackage.CUBIC_CURVE_TO__POINT:
+ return getPoint();
+ case DGPackage.CUBIC_CURVE_TO__START_CONTROL:
+ return getStartControl();
+ case DGPackage.CUBIC_CURVE_TO__END_CONTROL:
+ return getEndControl();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.CUBIC_CURVE_TO__POINT:
+ setPoint((Point) newValue);
+ return;
+ case DGPackage.CUBIC_CURVE_TO__START_CONTROL:
+ setStartControl((Point) newValue);
+ return;
+ case DGPackage.CUBIC_CURVE_TO__END_CONTROL:
+ setEndControl((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.CUBIC_CURVE_TO__POINT:
+ setPoint((Point) null);
+ return;
+ case DGPackage.CUBIC_CURVE_TO__START_CONTROL:
+ setStartControl((Point) null);
+ return;
+ case DGPackage.CUBIC_CURVE_TO__END_CONTROL:
+ setEndControl((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.CUBIC_CURVE_TO__POINT:
+ return point != null;
+ case DGPackage.CUBIC_CURVE_TO__START_CONTROL:
+ return startControl != null;
+ case DGPackage.CUBIC_CURVE_TO__END_CONTROL:
+ return endControl != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // CubicCurveToImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DGFactoryImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DGFactoryImpl.java
new file mode 100644
index 00000000000..08fc64aec30
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DGFactoryImpl.java
@@ -0,0 +1,584 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.*;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class DGFactoryImpl extends EFactoryImpl implements DGFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static DGFactory init() {
+ try {
+ DGFactory theDGFactory = (DGFactory) EPackage.Registry.INSTANCE
+ .getEFactory(DGPackage.eNS_URI);
+ if (theDGFactory != null) {
+ return theDGFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DGFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DGFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DGPackage.CANVAS:
+ return createCanvas();
+ case DGPackage.GROUP:
+ return createGroup();
+ case DGPackage.MOVE_TO:
+ return createMoveTo();
+ case DGPackage.CLIP_PATH:
+ return createClipPath();
+ case DGPackage.STYLE:
+ return createStyle();
+ case DGPackage.PAINT:
+ return createPaint();
+ case DGPackage.CIRCLE:
+ return createCircle();
+ case DGPackage.CLOSE_PATH:
+ return createClosePath();
+ case DGPackage.CUBIC_CURVE_TO:
+ return createCubicCurveTo();
+ case DGPackage.DEFINITIONS:
+ return createDefinitions();
+ case DGPackage.STYLE_SHEET:
+ return createStyleSheet();
+ case DGPackage.STYLE_RULE:
+ return createStyleRule();
+ case DGPackage.STYLE_SELECTOR:
+ return createStyleSelector();
+ case DGPackage.ELLIPSE:
+ return createEllipse();
+ case DGPackage.ELLIPTICAL_CURVE_TO:
+ return createEllipticalCurveTo();
+ case DGPackage.QUADRATIC_CURVE_TO:
+ return createQuadraticCurveTo();
+ case DGPackage.GRADIENT_STOP:
+ return createGradientStop();
+ case DGPackage.IMAGE:
+ return createImage();
+ case DGPackage.LINE:
+ return createLine();
+ case DGPackage.MARKER:
+ return createMarker();
+ case DGPackage.LINEAR_GRADIENT:
+ return createLinearGradient();
+ case DGPackage.LINE_TO:
+ return createLineTo();
+ case DGPackage.MATRIX:
+ return createMatrix();
+ case DGPackage.PATH:
+ return createPath();
+ case DGPackage.PATTERN:
+ return createPattern();
+ case DGPackage.POLYGON:
+ return createPolygon();
+ case DGPackage.POLYLINE:
+ return createPolyline();
+ case DGPackage.RADIAL_GRADIENT:
+ return createRadialGradient();
+ case DGPackage.RECTANGLE:
+ return createRectangle();
+ case DGPackage.ROOT_CANVAS:
+ return createRootCanvas();
+ case DGPackage.ROTATE:
+ return createRotate();
+ case DGPackage.SCALE:
+ return createScale();
+ case DGPackage.SKEW:
+ return createSkew();
+ case DGPackage.TEXT:
+ return createText();
+ case DGPackage.TRANSLATE:
+ return createTranslate();
+ case DGPackage.USE:
+ return createUse();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName()
+ + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case DGPackage.FONT_DECORATION:
+ return createFontDecorationFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '"
+ + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case DGPackage.FONT_DECORATION:
+ return convertFontDecorationToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '"
+ + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Canvas createCanvas() {
+ CanvasImpl canvas = new CanvasImpl();
+ return canvas;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Group createGroup() {
+ GroupImpl group = new GroupImpl();
+ return group;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public MoveTo createMoveTo() {
+ MoveToImpl moveTo = new MoveToImpl();
+ return moveTo;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClipPath createClipPath() {
+ ClipPathImpl clipPath = new ClipPathImpl();
+ return clipPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Style createStyle() {
+ StyleImpl style = new StyleImpl();
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Paint createPaint() {
+ PaintImpl paint = new PaintImpl();
+ return paint;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Circle createCircle() {
+ CircleImpl circle = new CircleImpl();
+ return circle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClosePath createClosePath() {
+ ClosePathImpl closePath = new ClosePathImpl();
+ return closePath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CubicCurveTo createCubicCurveTo() {
+ CubicCurveToImpl cubicCurveTo = new CubicCurveToImpl();
+ return cubicCurveTo;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Definitions createDefinitions() {
+ DefinitionsImpl definitions = new DefinitionsImpl();
+ return definitions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StyleSheet createStyleSheet() {
+ StyleSheetImpl styleSheet = new StyleSheetImpl();
+ return styleSheet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StyleRule createStyleRule() {
+ StyleRuleImpl styleRule = new StyleRuleImpl();
+ return styleRule;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StyleSelector createStyleSelector() {
+ StyleSelectorImpl styleSelector = new StyleSelectorImpl();
+ return styleSelector;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Ellipse createEllipse() {
+ EllipseImpl ellipse = new EllipseImpl();
+ return ellipse;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EllipticalCurveTo createEllipticalCurveTo() {
+ EllipticalCurveToImpl ellipticalCurveTo = new EllipticalCurveToImpl();
+ return ellipticalCurveTo;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QuadraticCurveTo createQuadraticCurveTo() {
+ QuadraticCurveToImpl quadraticCurveTo = new QuadraticCurveToImpl();
+ return quadraticCurveTo;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public GradientStop createGradientStop() {
+ GradientStopImpl gradientStop = new GradientStopImpl();
+ return gradientStop;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Image createImage() {
+ ImageImpl image = new ImageImpl();
+ return image;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Line createLine() {
+ LineImpl line = new LineImpl();
+ return line;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Marker createMarker() {
+ MarkerImpl marker = new MarkerImpl();
+ return marker;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LinearGradient createLinearGradient() {
+ LinearGradientImpl linearGradient = new LinearGradientImpl();
+ return linearGradient;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LineTo createLineTo() {
+ LineToImpl lineTo = new LineToImpl();
+ return lineTo;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Matrix createMatrix() {
+ MatrixImpl matrix = new MatrixImpl();
+ return matrix;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Path createPath() {
+ PathImpl path = new PathImpl();
+ return path;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Pattern createPattern() {
+ PatternImpl pattern = new PatternImpl();
+ return pattern;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Polygon createPolygon() {
+ PolygonImpl polygon = new PolygonImpl();
+ return polygon;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Polyline createPolyline() {
+ PolylineImpl polyline = new PolylineImpl();
+ return polyline;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RadialGradient createRadialGradient() {
+ RadialGradientImpl radialGradient = new RadialGradientImpl();
+ return radialGradient;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Rectangle createRectangle() {
+ RectangleImpl rectangle = new RectangleImpl();
+ return rectangle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RootCanvas createRootCanvas() {
+ RootCanvasImpl rootCanvas = new RootCanvasImpl();
+ return rootCanvas;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Rotate createRotate() {
+ RotateImpl rotate = new RotateImpl();
+ return rotate;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Scale createScale() {
+ ScaleImpl scale = new ScaleImpl();
+ return scale;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Skew createSkew() {
+ SkewImpl skew = new SkewImpl();
+ return skew;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Text createText() {
+ TextImpl text = new TextImpl();
+ return text;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Translate createTranslate() {
+ TranslateImpl translate = new TranslateImpl();
+ return translate;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Use createUse() {
+ UseImpl use = new UseImpl();
+ return use;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FontDecoration createFontDecorationFromString(EDataType eDataType,
+ String initialValue) {
+ FontDecoration result = FontDecoration.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue
+ + "' is not a valid enumerator of '" + eDataType.getName()
+ + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertFontDecorationToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DGPackage getDGPackage() {
+ return (DGPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DGPackage getPackage() {
+ return DGPackage.eINSTANCE;
+ }
+
+} // DGFactoryImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DGPackageImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DGPackageImpl.java
new file mode 100644
index 00000000000..b8b2c648020
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DGPackageImpl.java
@@ -0,0 +1,2890 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EGenericType;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.dd.dc.DCPackage;
+
+import org.eclipse.papyrus.dd.dg.Canvas;
+import org.eclipse.papyrus.dd.dg.Circle;
+import org.eclipse.papyrus.dd.dg.ClipPath;
+import org.eclipse.papyrus.dd.dg.ClosePath;
+import org.eclipse.papyrus.dd.dg.CubicCurveTo;
+import org.eclipse.papyrus.dd.dg.DGFactory;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Definition;
+import org.eclipse.papyrus.dd.dg.Definitions;
+import org.eclipse.papyrus.dd.dg.Ellipse;
+import org.eclipse.papyrus.dd.dg.EllipticalCurveTo;
+import org.eclipse.papyrus.dd.dg.FontDecoration;
+import org.eclipse.papyrus.dd.dg.Gradient;
+import org.eclipse.papyrus.dd.dg.GradientStop;
+import org.eclipse.papyrus.dd.dg.GraphicalElement;
+import org.eclipse.papyrus.dd.dg.Group;
+import org.eclipse.papyrus.dd.dg.Image;
+import org.eclipse.papyrus.dd.dg.Line;
+import org.eclipse.papyrus.dd.dg.LineTo;
+import org.eclipse.papyrus.dd.dg.LinearGradient;
+import org.eclipse.papyrus.dd.dg.MarkedElement;
+import org.eclipse.papyrus.dd.dg.Marker;
+import org.eclipse.papyrus.dd.dg.Matrix;
+import org.eclipse.papyrus.dd.dg.MoveTo;
+import org.eclipse.papyrus.dd.dg.Paint;
+import org.eclipse.papyrus.dd.dg.PaintServer;
+import org.eclipse.papyrus.dd.dg.Path;
+import org.eclipse.papyrus.dd.dg.PathCommand;
+import org.eclipse.papyrus.dd.dg.Pattern;
+import org.eclipse.papyrus.dd.dg.Polygon;
+import org.eclipse.papyrus.dd.dg.Polyline;
+import org.eclipse.papyrus.dd.dg.QuadraticCurveTo;
+import org.eclipse.papyrus.dd.dg.RadialGradient;
+import org.eclipse.papyrus.dd.dg.Rectangle;
+import org.eclipse.papyrus.dd.dg.RootCanvas;
+import org.eclipse.papyrus.dd.dg.Rotate;
+import org.eclipse.papyrus.dd.dg.Scale;
+import org.eclipse.papyrus.dd.dg.Skew;
+import org.eclipse.papyrus.dd.dg.Style;
+import org.eclipse.papyrus.dd.dg.StyleRule;
+import org.eclipse.papyrus.dd.dg.StyleSelector;
+import org.eclipse.papyrus.dd.dg.StyleSheet;
+import org.eclipse.papyrus.dd.dg.Text;
+import org.eclipse.papyrus.dd.dg.Transform;
+import org.eclipse.papyrus.dd.dg.Translate;
+import org.eclipse.papyrus.dd.dg.Use;
+
+import org.eclipse.papyrus.dd.dg.util.DGValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class DGPackageImpl extends EPackageImpl implements DGPackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass canvasEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass groupEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass graphicalElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass definitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass moveToEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass pathCommandEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass clipPathEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass styleEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass paintEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass paintServerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass transformEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass circleEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass closePathEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass cubicCurveToEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass definitionsEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass styleSheetEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass styleRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass styleSelectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass ellipseEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass ellipticalCurveToEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass quadraticCurveToEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass gradientEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass gradientStopEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass imageEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass lineEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass markedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass markerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass linearGradientEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass lineToEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass matrixEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass pathEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass patternEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass polygonEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass polylineEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass radialGradientEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass rectangleEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass rootCanvasEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass rotateEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass scaleEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass skewEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass textEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass translateEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass useEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum fontDecorationEEnum = 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.papyrus.dd.dg.DGPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DGPackageImpl() {
+ super(eNS_URI, DGFactory.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 DGPackage#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 DGPackage init() {
+ if (isInited)
+ return (DGPackage) EPackage.Registry.INSTANCE
+ .getEPackage(DGPackage.eNS_URI);
+
+ // Obtain or create and register package
+ DGPackageImpl theDGPackage = (DGPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof DGPackageImpl ? EPackage.Registry.INSTANCE
+ .get(eNS_URI) : new DGPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ DCPackage.eINSTANCE.eClass();
+ EcorePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theDGPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDGPackage.initializePackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put(theDGPackage,
+ new EValidator.Descriptor() {
+ public EValidator getEValidator() {
+ return DGValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ theDGPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DGPackage.eNS_URI, theDGPackage);
+ return theDGPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getCanvas() {
+ return canvasEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getCanvas_Bounds() {
+ return (EReference) canvasEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getGroup() {
+ return groupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getGroup_Member() {
+ return (EReference) groupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getGraphicalElement() {
+ return graphicalElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getGraphicalElement_ClipPath() {
+ return (EReference) graphicalElementEClass.getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getGraphicalElement_Group() {
+ return (EReference) graphicalElementEClass.getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getGraphicalElement_Keyword() {
+ return (EAttribute) graphicalElementEClass.getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getGraphicalElement_Style() {
+ return (EReference) graphicalElementEClass.getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getGraphicalElement_Transform() {
+ return (EReference) graphicalElementEClass.getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDefinition() {
+ return definitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDefinition_Id() {
+ return (EAttribute) definitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getMoveTo() {
+ return moveToEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMoveTo_Point() {
+ return (EReference) moveToEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPathCommand() {
+ return pathCommandEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getPathCommand_IsRelative() {
+ return (EAttribute) pathCommandEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getClipPath() {
+ return clipPathEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStyle() {
+ return styleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStyle_Fill() {
+ return (EReference) styleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_FillOpacity() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStyle_Stroke() {
+ return (EReference) styleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_StrokeWidth() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_StrokeOpacity() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_StrokeDashLength() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_FontSize() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_FontName() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_FontItalic() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_FontBold() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyle_FontDecoration() {
+ return (EAttribute) styleEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStyle__ValidFontSize__DiagnosticChain_Map() {
+ return styleEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStyle__ValidFillOpacity__DiagnosticChain_Map() {
+ return styleEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStyle__ValidStrokeWidth__DiagnosticChain_Map() {
+ return styleEClass.getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStyle__ValidDashLengthSize__DiagnosticChain_Map() {
+ return styleEClass.getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStyle__ValidStrokeOpacity__DiagnosticChain_Map() {
+ return styleEClass.getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPaint() {
+ return paintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getPaint_Color() {
+ return (EAttribute) paintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPaint_PaintServer() {
+ return (EReference) paintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPaintServer() {
+ return paintServerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPaintServer_Transform() {
+ return (EReference) paintServerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTransform() {
+ return transformEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getCircle() {
+ return circleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getCircle_Center() {
+ return (EReference) circleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getCircle_Radius() {
+ return (EAttribute) circleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCircle__NonNegativeRadius__DiagnosticChain_Map() {
+ return circleEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getClosePath() {
+ return closePathEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getCubicCurveTo() {
+ return cubicCurveToEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getCubicCurveTo_Point() {
+ return (EReference) cubicCurveToEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getCubicCurveTo_StartControl() {
+ return (EReference) cubicCurveToEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getCubicCurveTo_EndControl() {
+ return (EReference) cubicCurveToEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDefinitions() {
+ return definitionsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDefinitions_Defnition() {
+ return (EReference) definitionsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDefinitions_StyleSheet() {
+ return (EReference) definitionsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStyleSheet() {
+ return styleSheetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStyleSheet_Rule() {
+ return (EReference) styleSheetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStyleRule() {
+ return styleRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStyleRule_Selector() {
+ return (EReference) styleRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStyleRule_Style() {
+ return (EReference) styleRuleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStyleSelector() {
+ return styleSelectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStyleSelector_Type() {
+ return (EReference) styleSelectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStyleSelector_Keyword() {
+ return (EAttribute) styleSelectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEllipse() {
+ return ellipseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEllipse_Center() {
+ return (EReference) ellipseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEllipse_Radii() {
+ return (EReference) ellipseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEllipticalCurveTo() {
+ return ellipticalCurveToEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEllipticalCurveTo_Point() {
+ return (EReference) ellipticalCurveToEClass.getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEllipticalCurveTo_Radii() {
+ return (EReference) ellipticalCurveToEClass.getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getEllipticalCurveTo_Rotation() {
+ return (EAttribute) ellipticalCurveToEClass.getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getEllipticalCurveTo_IsLargeArc() {
+ return (EAttribute) ellipticalCurveToEClass.getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getEllipticalCurveTo_IsSweep() {
+ return (EAttribute) ellipticalCurveToEClass.getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getQuadraticCurveTo() {
+ return quadraticCurveToEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQuadraticCurveTo_Point() {
+ return (EReference) quadraticCurveToEClass.getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQuadraticCurveTo_Control() {
+ return (EReference) quadraticCurveToEClass.getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getGradient() {
+ return gradientEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getGradient_Stop() {
+ return (EReference) gradientEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getGradientStop() {
+ return gradientStopEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getGradientStop_Color() {
+ return (EAttribute) gradientStopEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getGradientStop_Offset() {
+ return (EAttribute) gradientStopEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getGradientStop_Opacity() {
+ return (EAttribute) gradientStopEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getGradientStop__ValidOffset__DiagnosticChain_Map() {
+ return gradientStopEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getGradientStop__ValidOpacity__DiagnosticChain_Map() {
+ return gradientStopEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getImage() {
+ return imageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getImage_Source() {
+ return (EAttribute) imageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getImage_Bounds() {
+ return (EReference) imageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getImage_IsAspectRatioPreserved() {
+ return (EAttribute) imageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLine() {
+ return lineEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLine_Start() {
+ return (EReference) lineEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLine_End() {
+ return (EReference) lineEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getMarkedElement() {
+ return markedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMarkedElement_EndMarker() {
+ return (EReference) markedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMarkedElement_MidMarker() {
+ return (EReference) markedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMarkedElement_StartMarker() {
+ return (EReference) markedElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getMarker() {
+ return markerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMarker_Size() {
+ return (EReference) markerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMarker_Reference() {
+ return (EReference) markerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLinearGradient() {
+ return linearGradientEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLinearGradient_Start() {
+ return (EReference) linearGradientEClass.getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLinearGradient_End() {
+ return (EReference) linearGradientEClass.getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinearGradient__ValidGradientVector__DiagnosticChain_Map() {
+ return linearGradientEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLineTo() {
+ return lineToEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLineTo_Point() {
+ return (EReference) lineToEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getMatrix() {
+ return matrixEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMatrix_A() {
+ return (EAttribute) matrixEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMatrix_B() {
+ return (EAttribute) matrixEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMatrix_C() {
+ return (EAttribute) matrixEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMatrix_D() {
+ return (EAttribute) matrixEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMatrix_E() {
+ return (EAttribute) matrixEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMatrix_F() {
+ return (EAttribute) matrixEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPath() {
+ return pathEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPath_Command() {
+ return (EReference) pathEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPattern() {
+ return patternEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPattern_Bounds() {
+ return (EReference) patternEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPattern_Tile() {
+ return (EReference) patternEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPolygon() {
+ return polygonEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPolygon_Point() {
+ return (EReference) polygonEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPolyline() {
+ return polylineEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPolyline_Point() {
+ return (EReference) polylineEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getRadialGradient() {
+ return radialGradientEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getRadialGradient_Center() {
+ return (EReference) radialGradientEClass.getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getRadialGradient_Focus() {
+ return (EReference) radialGradientEClass.getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getRadialGradient_Radius() {
+ return (EAttribute) radialGradientEClass.getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRadialGradient__ValidCenterPoint__DiagnosticChain_Map() {
+ return radialGradientEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRadialGradient__ValidFocusPoint__DiagnosticChain_Map() {
+ return radialGradientEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRadialGradient__ValidRadius__DiagnosticChain_Map() {
+ return radialGradientEClass.getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getRectangle() {
+ return rectangleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getRectangle_Bounds() {
+ return (EReference) rectangleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getRectangle_CornerRadius() {
+ return (EAttribute) rectangleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getRootCanvas() {
+ return rootCanvasEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getRootCanvas_BackgroundColor() {
+ return (EAttribute) rootCanvasEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getRootCanvas_Definitions() {
+ return (EReference) rootCanvasEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getRootCanvas_StyleSheet() {
+ return (EReference) rootCanvasEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getRotate() {
+ return rotateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getRotate_Angle() {
+ return (EAttribute) rotateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getRotate_Center() {
+ return (EReference) rotateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getScale() {
+ return scaleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getScale_FactorX() {
+ return (EAttribute) scaleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getScale_FactorY() {
+ return (EAttribute) scaleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getScale__Nonnegativescale__DiagnosticChain_Map() {
+ return scaleEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSkew() {
+ return skewEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSkew_AngleX() {
+ return (EAttribute) skewEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSkew_AngleY() {
+ return (EAttribute) skewEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getText() {
+ return textEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getText_Data() {
+ return (EAttribute) textEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getText_Position() {
+ return (EReference) textEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTranslate() {
+ return translateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTranslate_DeltaX() {
+ return (EAttribute) translateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTranslate_DeltaY() {
+ return (EAttribute) translateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getUse() {
+ return useEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getUse_Bounds() {
+ return (EReference) useEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EEnum getFontDecoration() {
+ return fontDecorationEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DGFactory getDGFactory() {
+ return (DGFactory) 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
+ canvasEClass = createEClass(CANVAS);
+ createEReference(canvasEClass, CANVAS__BOUNDS);
+
+ groupEClass = createEClass(GROUP);
+ createEReference(groupEClass, GROUP__MEMBER);
+
+ graphicalElementEClass = createEClass(GRAPHICAL_ELEMENT);
+ createEReference(graphicalElementEClass, GRAPHICAL_ELEMENT__CLIP_PATH);
+ createEReference(graphicalElementEClass, GRAPHICAL_ELEMENT__GROUP);
+ createEAttribute(graphicalElementEClass, GRAPHICAL_ELEMENT__KEYWORD);
+ createEReference(graphicalElementEClass, GRAPHICAL_ELEMENT__STYLE);
+ createEReference(graphicalElementEClass, GRAPHICAL_ELEMENT__TRANSFORM);
+
+ definitionEClass = createEClass(DEFINITION);
+ createEAttribute(definitionEClass, DEFINITION__ID);
+
+ moveToEClass = createEClass(MOVE_TO);
+ createEReference(moveToEClass, MOVE_TO__POINT);
+
+ pathCommandEClass = createEClass(PATH_COMMAND);
+ createEAttribute(pathCommandEClass, PATH_COMMAND__IS_RELATIVE);
+
+ clipPathEClass = createEClass(CLIP_PATH);
+
+ styleEClass = createEClass(STYLE);
+ createEReference(styleEClass, STYLE__FILL);
+ createEAttribute(styleEClass, STYLE__FILL_OPACITY);
+ createEReference(styleEClass, STYLE__STROKE);
+ createEAttribute(styleEClass, STYLE__STROKE_WIDTH);
+ createEAttribute(styleEClass, STYLE__STROKE_OPACITY);
+ createEAttribute(styleEClass, STYLE__STROKE_DASH_LENGTH);
+ createEAttribute(styleEClass, STYLE__FONT_SIZE);
+ createEAttribute(styleEClass, STYLE__FONT_NAME);
+ createEAttribute(styleEClass, STYLE__FONT_ITALIC);
+ createEAttribute(styleEClass, STYLE__FONT_BOLD);
+ createEAttribute(styleEClass, STYLE__FONT_DECORATION);
+ createEOperation(styleEClass,
+ STYLE___VALID_FONT_SIZE__DIAGNOSTICCHAIN_MAP);
+ createEOperation(styleEClass,
+ STYLE___VALID_FILL_OPACITY__DIAGNOSTICCHAIN_MAP);
+ createEOperation(styleEClass,
+ STYLE___VALID_STROKE_WIDTH__DIAGNOSTICCHAIN_MAP);
+ createEOperation(styleEClass,
+ STYLE___VALID_DASH_LENGTH_SIZE__DIAGNOSTICCHAIN_MAP);
+ createEOperation(styleEClass,
+ STYLE___VALID_STROKE_OPACITY__DIAGNOSTICCHAIN_MAP);
+
+ paintEClass = createEClass(PAINT);
+ createEAttribute(paintEClass, PAINT__COLOR);
+ createEReference(paintEClass, PAINT__PAINT_SERVER);
+
+ paintServerEClass = createEClass(PAINT_SERVER);
+ createEReference(paintServerEClass, PAINT_SERVER__TRANSFORM);
+
+ transformEClass = createEClass(TRANSFORM);
+
+ circleEClass = createEClass(CIRCLE);
+ createEReference(circleEClass, CIRCLE__CENTER);
+ createEAttribute(circleEClass, CIRCLE__RADIUS);
+ createEOperation(circleEClass,
+ CIRCLE___NON_NEGATIVE_RADIUS__DIAGNOSTICCHAIN_MAP);
+
+ closePathEClass = createEClass(CLOSE_PATH);
+
+ cubicCurveToEClass = createEClass(CUBIC_CURVE_TO);
+ createEReference(cubicCurveToEClass, CUBIC_CURVE_TO__POINT);
+ createEReference(cubicCurveToEClass, CUBIC_CURVE_TO__START_CONTROL);
+ createEReference(cubicCurveToEClass, CUBIC_CURVE_TO__END_CONTROL);
+
+ definitionsEClass = createEClass(DEFINITIONS);
+ createEReference(definitionsEClass, DEFINITIONS__DEFNITION);
+ createEReference(definitionsEClass, DEFINITIONS__STYLE_SHEET);
+
+ styleSheetEClass = createEClass(STYLE_SHEET);
+ createEReference(styleSheetEClass, STYLE_SHEET__RULE);
+
+ styleRuleEClass = createEClass(STYLE_RULE);
+ createEReference(styleRuleEClass, STYLE_RULE__SELECTOR);
+ createEReference(styleRuleEClass, STYLE_RULE__STYLE);
+
+ styleSelectorEClass = createEClass(STYLE_SELECTOR);
+ createEReference(styleSelectorEClass, STYLE_SELECTOR__TYPE);
+ createEAttribute(styleSelectorEClass, STYLE_SELECTOR__KEYWORD);
+
+ ellipseEClass = createEClass(ELLIPSE);
+ createEReference(ellipseEClass, ELLIPSE__CENTER);
+ createEReference(ellipseEClass, ELLIPSE__RADII);
+
+ ellipticalCurveToEClass = createEClass(ELLIPTICAL_CURVE_TO);
+ createEReference(ellipticalCurveToEClass, ELLIPTICAL_CURVE_TO__POINT);
+ createEReference(ellipticalCurveToEClass, ELLIPTICAL_CURVE_TO__RADII);
+ createEAttribute(ellipticalCurveToEClass, ELLIPTICAL_CURVE_TO__ROTATION);
+ createEAttribute(ellipticalCurveToEClass,
+ ELLIPTICAL_CURVE_TO__IS_LARGE_ARC);
+ createEAttribute(ellipticalCurveToEClass, ELLIPTICAL_CURVE_TO__IS_SWEEP);
+
+ quadraticCurveToEClass = createEClass(QUADRATIC_CURVE_TO);
+ createEReference(quadraticCurveToEClass, QUADRATIC_CURVE_TO__POINT);
+ createEReference(quadraticCurveToEClass, QUADRATIC_CURVE_TO__CONTROL);
+
+ gradientEClass = createEClass(GRADIENT);
+ createEReference(gradientEClass, GRADIENT__STOP);
+
+ gradientStopEClass = createEClass(GRADIENT_STOP);
+ createEAttribute(gradientStopEClass, GRADIENT_STOP__COLOR);
+ createEAttribute(gradientStopEClass, GRADIENT_STOP__OFFSET);
+ createEAttribute(gradientStopEClass, GRADIENT_STOP__OPACITY);
+ createEOperation(gradientStopEClass,
+ GRADIENT_STOP___VALID_OFFSET__DIAGNOSTICCHAIN_MAP);
+ createEOperation(gradientStopEClass,
+ GRADIENT_STOP___VALID_OPACITY__DIAGNOSTICCHAIN_MAP);
+
+ imageEClass = createEClass(IMAGE);
+ createEAttribute(imageEClass, IMAGE__SOURCE);
+ createEReference(imageEClass, IMAGE__BOUNDS);
+ createEAttribute(imageEClass, IMAGE__IS_ASPECT_RATIO_PRESERVED);
+
+ lineEClass = createEClass(LINE);
+ createEReference(lineEClass, LINE__START);
+ createEReference(lineEClass, LINE__END);
+
+ markedElementEClass = createEClass(MARKED_ELEMENT);
+ createEReference(markedElementEClass, MARKED_ELEMENT__END_MARKER);
+ createEReference(markedElementEClass, MARKED_ELEMENT__MID_MARKER);
+ createEReference(markedElementEClass, MARKED_ELEMENT__START_MARKER);
+
+ markerEClass = createEClass(MARKER);
+ createEReference(markerEClass, MARKER__SIZE);
+ createEReference(markerEClass, MARKER__REFERENCE);
+
+ linearGradientEClass = createEClass(LINEAR_GRADIENT);
+ createEReference(linearGradientEClass, LINEAR_GRADIENT__START);
+ createEReference(linearGradientEClass, LINEAR_GRADIENT__END);
+ createEOperation(linearGradientEClass,
+ LINEAR_GRADIENT___VALID_GRADIENT_VECTOR__DIAGNOSTICCHAIN_MAP);
+
+ lineToEClass = createEClass(LINE_TO);
+ createEReference(lineToEClass, LINE_TO__POINT);
+
+ matrixEClass = createEClass(MATRIX);
+ createEAttribute(matrixEClass, MATRIX__A);
+ createEAttribute(matrixEClass, MATRIX__B);
+ createEAttribute(matrixEClass, MATRIX__C);
+ createEAttribute(matrixEClass, MATRIX__D);
+ createEAttribute(matrixEClass, MATRIX__E);
+ createEAttribute(matrixEClass, MATRIX__F);
+
+ pathEClass = createEClass(PATH);
+ createEReference(pathEClass, PATH__COMMAND);
+
+ patternEClass = createEClass(PATTERN);
+ createEReference(patternEClass, PATTERN__BOUNDS);
+ createEReference(patternEClass, PATTERN__TILE);
+
+ polygonEClass = createEClass(POLYGON);
+ createEReference(polygonEClass, POLYGON__POINT);
+
+ polylineEClass = createEClass(POLYLINE);
+ createEReference(polylineEClass, POLYLINE__POINT);
+
+ radialGradientEClass = createEClass(RADIAL_GRADIENT);
+ createEReference(radialGradientEClass, RADIAL_GRADIENT__CENTER);
+ createEReference(radialGradientEClass, RADIAL_GRADIENT__FOCUS);
+ createEAttribute(radialGradientEClass, RADIAL_GRADIENT__RADIUS);
+ createEOperation(radialGradientEClass,
+ RADIAL_GRADIENT___VALID_CENTER_POINT__DIAGNOSTICCHAIN_MAP);
+ createEOperation(radialGradientEClass,
+ RADIAL_GRADIENT___VALID_FOCUS_POINT__DIAGNOSTICCHAIN_MAP);
+ createEOperation(radialGradientEClass,
+ RADIAL_GRADIENT___VALID_RADIUS__DIAGNOSTICCHAIN_MAP);
+
+ rectangleEClass = createEClass(RECTANGLE);
+ createEReference(rectangleEClass, RECTANGLE__BOUNDS);
+ createEAttribute(rectangleEClass, RECTANGLE__CORNER_RADIUS);
+
+ rootCanvasEClass = createEClass(ROOT_CANVAS);
+ createEAttribute(rootCanvasEClass, ROOT_CANVAS__BACKGROUND_COLOR);
+ createEReference(rootCanvasEClass, ROOT_CANVAS__DEFINITIONS);
+ createEReference(rootCanvasEClass, ROOT_CANVAS__STYLE_SHEET);
+
+ rotateEClass = createEClass(ROTATE);
+ createEAttribute(rotateEClass, ROTATE__ANGLE);
+ createEReference(rotateEClass, ROTATE__CENTER);
+
+ scaleEClass = createEClass(SCALE);
+ createEAttribute(scaleEClass, SCALE__FACTOR_X);
+ createEAttribute(scaleEClass, SCALE__FACTOR_Y);
+ createEOperation(scaleEClass,
+ SCALE___NONNEGATIVESCALE__DIAGNOSTICCHAIN_MAP);
+
+ skewEClass = createEClass(SKEW);
+ createEAttribute(skewEClass, SKEW__ANGLE_X);
+ createEAttribute(skewEClass, SKEW__ANGLE_Y);
+
+ textEClass = createEClass(TEXT);
+ createEAttribute(textEClass, TEXT__DATA);
+ createEReference(textEClass, TEXT__POSITION);
+
+ translateEClass = createEClass(TRANSLATE);
+ createEAttribute(translateEClass, TRANSLATE__DELTA_X);
+ createEAttribute(translateEClass, TRANSLATE__DELTA_Y);
+
+ useEClass = createEClass(USE);
+ createEReference(useEClass, USE__BOUNDS);
+
+ // Create enums
+ fontDecorationEEnum = createEEnum(FONT_DECORATION);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized)
+ return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ DCPackage theDCPackage = (DCPackage) EPackage.Registry.INSTANCE
+ .getEPackage(DCPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE
+ .getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ canvasEClass.getESuperTypes().add(this.getGroup());
+ groupEClass.getESuperTypes().add(this.getGraphicalElement());
+ graphicalElementEClass.getESuperTypes().add(this.getDefinition());
+ moveToEClass.getESuperTypes().add(this.getPathCommand());
+ clipPathEClass.getESuperTypes().add(this.getGroup());
+ paintServerEClass.getESuperTypes().add(this.getDefinition());
+ circleEClass.getESuperTypes().add(this.getGraphicalElement());
+ closePathEClass.getESuperTypes().add(this.getPathCommand());
+ cubicCurveToEClass.getESuperTypes().add(this.getPathCommand());
+ ellipseEClass.getESuperTypes().add(this.getGraphicalElement());
+ ellipticalCurveToEClass.getESuperTypes().add(this.getPathCommand());
+ quadraticCurveToEClass.getESuperTypes().add(this.getPathCommand());
+ gradientEClass.getESuperTypes().add(this.getPaintServer());
+ imageEClass.getESuperTypes().add(this.getGraphicalElement());
+ lineEClass.getESuperTypes().add(this.getMarkedElement());
+ markedElementEClass.getESuperTypes().add(this.getGraphicalElement());
+ markerEClass.getESuperTypes().add(this.getGroup());
+ linearGradientEClass.getESuperTypes().add(this.getGradient());
+ lineToEClass.getESuperTypes().add(this.getPathCommand());
+ matrixEClass.getESuperTypes().add(this.getTransform());
+ pathEClass.getESuperTypes().add(this.getMarkedElement());
+ patternEClass.getESuperTypes().add(this.getPaintServer());
+ polygonEClass.getESuperTypes().add(this.getMarkedElement());
+ polylineEClass.getESuperTypes().add(this.getMarkedElement());
+ radialGradientEClass.getESuperTypes().add(this.getGradient());
+ rectangleEClass.getESuperTypes().add(this.getGraphicalElement());
+ rootCanvasEClass.getESuperTypes().add(this.getCanvas());
+ rotateEClass.getESuperTypes().add(this.getTransform());
+ scaleEClass.getESuperTypes().add(this.getTransform());
+ skewEClass.getESuperTypes().add(this.getTransform());
+ textEClass.getESuperTypes().add(this.getGraphicalElement());
+ translateEClass.getESuperTypes().add(this.getTransform());
+ useEClass.getESuperTypes().add(this.getGraphicalElement());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(canvasEClass, Canvas.class, "Canvas", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCanvas_Bounds(), theDCPackage.getBounds(), null,
+ "bounds", null, 1, 1, Canvas.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(groupEClass, Group.class, "Group", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGroup_Member(), this.getGraphicalElement(),
+ this.getGraphicalElement_Group(), "member", null, 0, -1,
+ Group.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(graphicalElementEClass, GraphicalElement.class,
+ "GraphicalElement", IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGraphicalElement_ClipPath(), this.getClipPath(),
+ null, "clipPath", null, 0, 1, GraphicalElement.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEReference(getGraphicalElement_Group(), this.getGroup(),
+ this.getGroup_Member(), "group", null, 0, 1,
+ GraphicalElement.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getGraphicalElement_Keyword(), theDCPackage.getString(),
+ "keyword", null, 0, -1, GraphicalElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getGraphicalElement_Style(), this.getStyle(), null,
+ "style", null, 0, 1, GraphicalElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGraphicalElement_Transform(), this.getTransform(),
+ null, "transform", null, 0, -1, GraphicalElement.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(definitionEClass, Definition.class, "Definition",
+ IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDefinition_Id(), theDCPackage.getString(), "id",
+ null, 1, 1, Definition.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ initEClass(moveToEClass, MoveTo.class, "MoveTo", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMoveTo_Point(), theDCPackage.getPoint(), null,
+ "point", null, 1, 1, MoveTo.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(pathCommandEClass, PathCommand.class, "PathCommand",
+ IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPathCommand_IsRelative(), theDCPackage.getBoolean(),
+ "isRelative", "false", 1, 1, PathCommand.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(clipPathEClass, ClipPath.class, "ClipPath", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(styleEClass, Style.class, "Style", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStyle_Fill(), this.getPaint(), null, "fill", null, 0,
+ 1, Style.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStyle_FillOpacity(), theDCPackage.getReal(),
+ "fillOpacity", null, 0, 1, Style.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEReference(getStyle_Stroke(), this.getPaint(), null, "stroke",
+ null, 0, 1, Style.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStyle_StrokeWidth(), theDCPackage.getReal(),
+ "strokeWidth", null, 0, 1, Style.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStyle_StrokeOpacity(), theDCPackage.getReal(),
+ "strokeOpacity", null, 0, 1, Style.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStyle_StrokeDashLength(), theDCPackage.getReal(),
+ "strokeDashLength", null, 0, -1, Style.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getStyle_FontSize(), theDCPackage.getReal(), "fontSize",
+ null, 0, 1, Style.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEAttribute(getStyle_FontName(), theDCPackage.getString(),
+ "fontName", null, 0, 1, Style.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStyle_FontItalic(), theDCPackage.getBoolean(),
+ "fontItalic", null, 0, 1, Style.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStyle_FontBold(), theDCPackage.getBoolean(),
+ "fontBold", null, 0, 1, Style.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStyle_FontDecoration(), this.getFontDecoration(),
+ "fontDecoration", null, 0, 1, Style.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+
+ EOperation op = initEOperation(
+ getStyle__ValidFontSize__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validFontSize", 0, 1, IS_UNIQUE,
+ IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ EGenericType g1 = createEGenericType(ecorePackage.getEMap());
+ EGenericType g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getStyle__ValidFillOpacity__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validFillOpacity", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(getStyle__ValidStrokeWidth__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validStrokeWidth", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(
+ getStyle__ValidDashLengthSize__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validDashLengthSize", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(
+ getStyle__ValidStrokeOpacity__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validStrokeOpacity", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(paintEClass, Paint.class, "Paint", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPaint_Color(), theDCPackage.getColor(), "color",
+ null, 0, 1, Paint.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEReference(getPaint_PaintServer(), this.getPaintServer(), null,
+ "paintServer", null, 0, 1, Paint.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(paintServerEClass, PaintServer.class, "PaintServer",
+ IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPaintServer_Transform(), this.getTransform(), null,
+ "transform", null, 0, -1, PaintServer.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(transformEClass, Transform.class, "Transform", IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(circleEClass, Circle.class, "Circle", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCircle_Center(), theDCPackage.getPoint(), null,
+ "center", null, 1, 1, Circle.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getCircle_Radius(), theDCPackage.getReal(), "radius",
+ null, 1, 1, Circle.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ op = initEOperation(
+ getCircle__NonNegativeRadius__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "nonNegativeRadius", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(closePathEClass, ClosePath.class, "ClosePath", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(cubicCurveToEClass, CubicCurveTo.class, "CubicCurveTo",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCubicCurveTo_Point(), theDCPackage.getPoint(), null,
+ "point", null, 1, 1, CubicCurveTo.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getCubicCurveTo_StartControl(), theDCPackage.getPoint(),
+ null, "startControl", null, 1, 1, CubicCurveTo.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEReference(getCubicCurveTo_EndControl(), theDCPackage.getPoint(),
+ null, "endControl", null, 1, 1, CubicCurveTo.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ initEClass(definitionsEClass, Definitions.class, "Definitions",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDefinitions_Defnition(), this.getDefinition(), null,
+ "defnition", null, 0, -1, Definitions.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDefinitions_StyleSheet(), this.getStyleSheet(), null,
+ "styleSheet", null, 0, 1, Definitions.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(styleSheetEClass, StyleSheet.class, "StyleSheet",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStyleSheet_Rule(), this.getStyleRule(), null, "rule",
+ null, 0, -1, StyleSheet.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(styleRuleEClass, StyleRule.class, "StyleRule", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStyleRule_Selector(), this.getStyleSelector(), null,
+ "selector", null, 1, -1, StyleRule.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStyleRule_Style(), this.getStyle(), null, "style",
+ null, 1, 1, StyleRule.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(styleSelectorEClass, StyleSelector.class, "StyleSelector",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStyleSelector_Type(), theEcorePackage.getEClass(),
+ null, "type", null, 0, 1, StyleSelector.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStyleSelector_Keyword(), theDCPackage.getString(),
+ "keyword", null, 0, -1, StyleSelector.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ellipseEClass, Ellipse.class, "Ellipse", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEllipse_Center(), theDCPackage.getPoint(), null,
+ "center", null, 1, 1, Ellipse.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEllipse_Radii(), theDCPackage.getDimension(), null,
+ "radii", null, 1, 1, Ellipse.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(ellipticalCurveToEClass, EllipticalCurveTo.class,
+ "EllipticalCurveTo", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEllipticalCurveTo_Point(), theDCPackage.getPoint(),
+ null, "point", null, 1, 1, EllipticalCurveTo.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEReference(getEllipticalCurveTo_Radii(),
+ theDCPackage.getDimension(), null, "radii", null, 1, 1,
+ EllipticalCurveTo.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getEllipticalCurveTo_Rotation(), theDCPackage.getReal(),
+ "rotation", null, 1, 1, EllipticalCurveTo.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getEllipticalCurveTo_IsLargeArc(),
+ theDCPackage.getBoolean(), "isLargeArc", null, 1, 1,
+ EllipticalCurveTo.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEAttribute(getEllipticalCurveTo_IsSweep(),
+ theDCPackage.getBoolean(), "isSweep", null, 1, 1,
+ EllipticalCurveTo.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ initEClass(quadraticCurveToEClass, QuadraticCurveTo.class,
+ "QuadraticCurveTo", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQuadraticCurveTo_Point(), theDCPackage.getPoint(),
+ null, "point", null, 1, 1, QuadraticCurveTo.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEReference(getQuadraticCurveTo_Control(), theDCPackage.getPoint(),
+ null, "control", null, 1, 1, QuadraticCurveTo.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ initEClass(gradientEClass, Gradient.class, "Gradient", IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGradient_Stop(), this.getGradientStop(), null,
+ "stop", null, 2, -1, Gradient.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(gradientStopEClass, GradientStop.class, "GradientStop",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGradientStop_Color(), theDCPackage.getColor(),
+ "color", null, 1, 1, GradientStop.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getGradientStop_Offset(), theDCPackage.getReal(),
+ "offset", null, 1, 1, GradientStop.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getGradientStop_Opacity(), theDCPackage.getReal(),
+ "opacity", "1", 1, 1, GradientStop.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+
+ op = initEOperation(
+ getGradientStop__ValidOffset__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validOffset", 0, 1, IS_UNIQUE,
+ IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(
+ getGradientStop__ValidOpacity__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validOpacity", 0, 1, IS_UNIQUE,
+ IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(imageEClass, Image.class, "Image", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImage_Source(), theDCPackage.getString(), "source",
+ null, 1, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEReference(getImage_Bounds(), theDCPackage.getBounds(), null,
+ "bounds", null, 1, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getImage_IsAspectRatioPreserved(),
+ theDCPackage.getBoolean(), "isAspectRatioPreserved", null, 1,
+ 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(lineEClass, Line.class, "Line", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLine_Start(), theDCPackage.getPoint(), null, "start",
+ null, 1, 1, Line.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getLine_End(), theDCPackage.getPoint(), null, "end",
+ null, 1, 1, Line.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(markedElementEClass, MarkedElement.class, "MarkedElement",
+ IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMarkedElement_EndMarker(), this.getMarker(), null,
+ "endMarker", null, 0, 1, MarkedElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMarkedElement_MidMarker(), this.getMarker(), null,
+ "midMarker", null, 0, 1, MarkedElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMarkedElement_StartMarker(), this.getMarker(), null,
+ "startMarker", null, 0, 1, MarkedElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(markerEClass, Marker.class, "Marker", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMarker_Size(), theDCPackage.getDimension(), null,
+ "size", null, 1, 1, Marker.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMarker_Reference(), theDCPackage.getPoint(), null,
+ "reference", null, 1, 1, Marker.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(linearGradientEClass, LinearGradient.class,
+ "LinearGradient", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLinearGradient_Start(), theDCPackage.getPoint(),
+ null, "start", null, 1, 1, LinearGradient.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getLinearGradient_End(), theDCPackage.getPoint(), null,
+ "end", null, 1, 1, LinearGradient.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ op = initEOperation(
+ getLinearGradient__ValidGradientVector__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validGradientVector", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(lineToEClass, LineTo.class, "LineTo", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLineTo_Point(), theDCPackage.getPoint(), null,
+ "point", null, 1, 1, LineTo.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(matrixEClass, Matrix.class, "Matrix", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMatrix_A(), theDCPackage.getReal(), "a", null, 1, 1,
+ Matrix.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMatrix_B(), theDCPackage.getReal(), "b", null, 1, 1,
+ Matrix.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMatrix_C(), theDCPackage.getReal(), "c", null, 1, 1,
+ Matrix.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMatrix_D(), theDCPackage.getReal(), "d", null, 1, 1,
+ Matrix.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMatrix_E(), theDCPackage.getReal(), "e", null, 1, 1,
+ Matrix.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMatrix_F(), theDCPackage.getReal(), "f", null, 1, 1,
+ Matrix.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(pathEClass, Path.class, "Path", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPath_Command(), this.getPathCommand(), null,
+ "command", null, 0, -1, Path.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(patternEClass, Pattern.class, "Pattern", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPattern_Bounds(), theDCPackage.getBounds(), null,
+ "bounds", null, 1, 1, Pattern.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPattern_Tile(), this.getGraphicalElement(), null,
+ "tile", null, 1, 1, Pattern.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(polygonEClass, Polygon.class, "Polygon", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPolygon_Point(), theDCPackage.getPoint(), null,
+ "point", null, 3, -1, Polygon.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(polylineEClass, Polyline.class, "Polyline", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPolyline_Point(), theDCPackage.getPoint(), null,
+ "point", null, 2, -1, Polyline.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(radialGradientEClass, RadialGradient.class,
+ "RadialGradient", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRadialGradient_Center(), theDCPackage.getPoint(),
+ null, "center", null, 1, 1, RadialGradient.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEReference(getRadialGradient_Focus(), theDCPackage.getPoint(),
+ null, "focus", null, 1, 1, RadialGradient.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getRadialGradient_Radius(), theDCPackage.getReal(),
+ "radius", "0.5", 1, 1, RadialGradient.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+
+ op = initEOperation(
+ getRadialGradient__ValidCenterPoint__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validCenterPoint", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(
+ getRadialGradient__ValidFocusPoint__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validFocusPoint", 0, 1, IS_UNIQUE,
+ IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = initEOperation(
+ getRadialGradient__ValidRadius__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "validRadius", 0, 1, IS_UNIQUE,
+ IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(rectangleEClass, Rectangle.class, "Rectangle", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRectangle_Bounds(), theDCPackage.getBounds(), null,
+ "bounds", null, 1, 1, Rectangle.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getRectangle_CornerRadius(), theDCPackage.getReal(),
+ "cornerRadius", "0", 1, 1, Rectangle.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(rootCanvasEClass, RootCanvas.class, "RootCanvas",
+ !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRootCanvas_BackgroundColor(),
+ theDCPackage.getColor(), "backgroundColor", null, 0, 1,
+ RootCanvas.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRootCanvas_Definitions(), this.getDefinitions(),
+ null, "definitions", null, 0, 1, RootCanvas.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+ initEReference(getRootCanvas_StyleSheet(), this.getStyleSheet(), null,
+ "styleSheet", null, 0, -1, RootCanvas.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rotateEClass, Rotate.class, "Rotate", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRotate_Angle(), theDCPackage.getReal(), "angle",
+ null, 1, 1, Rotate.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEReference(getRotate_Center(), theDCPackage.getPoint(), null,
+ "center", null, 0, 1, Rotate.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(scaleEClass, Scale.class, "Scale", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getScale_FactorX(), theDCPackage.getReal(), "factorX",
+ null, 1, 1, Scale.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEAttribute(getScale_FactorY(), theDCPackage.getReal(), "factorY",
+ null, 1, 1, Scale.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ op = initEOperation(getScale__Nonnegativescale__DiagnosticChain_Map(),
+ ecorePackage.getEBoolean(), "nonnegativescale", 0, 1,
+ IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0,
+ 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(skewEClass, Skew.class, "Skew", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSkew_AngleX(), theDCPackage.getReal(), "angleX",
+ null, 1, 1, Skew.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEAttribute(getSkew_AngleY(), theDCPackage.getReal(), "angleY",
+ null, 1, 1, Skew.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ initEClass(textEClass, Text.class, "Text", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getText_Data(), theDCPackage.getString(), "data", null,
+ 1, 1, Text.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getText_Position(), theDCPackage.getPoint(), null,
+ "position", null, 1, 1, Text.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(translateEClass, Translate.class, "Translate", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTranslate_DeltaX(), theDCPackage.getReal(), "deltaX",
+ null, 1, 1, Translate.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEAttribute(getTranslate_DeltaY(), theDCPackage.getReal(), "deltaY",
+ null, 1, 1, Translate.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+
+ initEClass(useEClass, Use.class, "Use", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getUse_Bounds(), theDCPackage.getBounds(), null,
+ "bounds", null, 1, 1, Use.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(fontDecorationEEnum, FontDecoration.class, "FontDecoration");
+ addEEnumLiteral(fontDecorationEEnum, FontDecoration.UNDERLINE);
+ addEEnumLiteral(fontDecorationEEnum, FontDecoration.OVERLINE);
+ addEEnumLiteral(fontDecorationEEnum, FontDecoration.LINE_THROUGH);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ // http://www.eclipse.org/emf/2002/Ecore/OCL
+ createOCLAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for
+ * <b>http://www.eclipse.org/emf/2002/Ecore</b>. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore";
+ addAnnotation(this, source, new String[] { "validationDelegates",
+ "http://www.eclipse.org/emf/2002/Ecore/OCL" });
+ }
+
+ /**
+ * Initializes the annotations for
+ * <b>http://www.eclipse.org/emf/2002/Ecore/OCL</b>. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createOCLAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore/OCL";
+ addAnnotation(getStyle__ValidFontSize__DiagnosticChain_Map(), source,
+ new String[] { "body", "fontSize >= 0" });
+ addAnnotation(getStyle__ValidFillOpacity__DiagnosticChain_Map(),
+ source, new String[] { "body",
+ "fillOpacity >= 0 and fillOpacity <=1" });
+ addAnnotation(getStyle__ValidStrokeWidth__DiagnosticChain_Map(),
+ source, new String[] { "body", "strokeWidth >= 0" });
+ addAnnotation(getStyle__ValidDashLengthSize__DiagnosticChain_Map(),
+ source, new String[] { "body",
+ "strokeDashLength->size().mod(2) = 0" });
+ addAnnotation(getStyle__ValidStrokeOpacity__DiagnosticChain_Map(),
+ source, new String[] { "body",
+ "strokeOpacity >= 0 and strokeOpacity <=1" });
+ addAnnotation(getCircle__NonNegativeRadius__DiagnosticChain_Map(),
+ source, new String[] { "body", "radius >= 0" });
+ addAnnotation(getGradientStop__ValidOffset__DiagnosticChain_Map(),
+ source, new String[] { "body", "offset>=0 and offset<=1" });
+ addAnnotation(getGradientStop__ValidOpacity__DiagnosticChain_Map(),
+ source, new String[] { "body", "opacity>=0 and opacity<=1" });
+ addAnnotation(
+ getLinearGradient__ValidGradientVector__DiagnosticChain_Map(),
+ source,
+ new String[] {
+ "body",
+ "start.x>=0 and start.x<=1 and end.x>=0 and end.x<=1 and start.y>=0 and start.y<=1 and end.y>=0 and end.y<=1" });
+ addAnnotation(
+ getRadialGradient__ValidCenterPoint__DiagnosticChain_Map(),
+ source,
+ new String[] { "body",
+ "centerX>=0 and centerX<=1 and centerY>=0 and centerY<=1" });
+ addAnnotation(
+ getRadialGradient__ValidFocusPoint__DiagnosticChain_Map(),
+ source, new String[] { "body",
+ "focusX>=0 and focusX<=1 and focusY>=0 and focusY<=1" });
+ addAnnotation(getRadialGradient__ValidRadius__DiagnosticChain_Map(),
+ source, new String[] { "body", "radius>=0 and radius<=1" });
+ addAnnotation(getScale__Nonnegativescale__DiagnosticChain_Map(),
+ source, new String[] { "body", "factorX>=0 and factorY>=0" });
+ }
+
+} // DGPackageImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DefinitionImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DefinitionImpl.java
new file mode 100644
index 00000000000..15f9c3feb45
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DefinitionImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Definition;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Definition</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.DefinitionImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class DefinitionImpl extends MinimalEObjectImpl.Container
+ implements Definition {
+ /**
+ * 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 = ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.DEFINITION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.DEFINITION__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.DEFINITION__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 DGPackage.DEFINITION__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 DGPackage.DEFINITION__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.DEFINITION__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DefinitionImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DefinitionsImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DefinitionsImpl.java
new file mode 100644
index 00000000000..e32f3ffcd9c
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/DefinitionsImpl.java
@@ -0,0 +1,249 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Definition;
+import org.eclipse.papyrus.dd.dg.Definitions;
+import org.eclipse.papyrus.dd.dg.StyleSheet;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Definitions</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.DefinitionsImpl#getDefnition <em>
+ * Defnition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.DefinitionsImpl#getStyleSheet <em>
+ * Style Sheet</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DefinitionsImpl extends MinimalEObjectImpl.Container implements
+ Definitions {
+ /**
+ * The cached value of the '{@link #getDefnition() <em>Defnition</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDefnition()
+ * @generated
+ * @ordered
+ */
+ protected EList<Definition> defnition;
+
+ /**
+ * The cached value of the '{@link #getStyleSheet() <em>Style Sheet</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStyleSheet()
+ * @generated
+ * @ordered
+ */
+ protected StyleSheet styleSheet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DefinitionsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.DEFINITIONS;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Definition> getDefnition() {
+ if (defnition == null) {
+ defnition = new EObjectContainmentEList<Definition>(
+ Definition.class, this, DGPackage.DEFINITIONS__DEFNITION);
+ }
+ return defnition;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StyleSheet getStyleSheet() {
+ return styleSheet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyleSheet(StyleSheet newStyleSheet,
+ NotificationChain msgs) {
+ StyleSheet oldStyleSheet = styleSheet;
+ styleSheet = newStyleSheet;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.DEFINITIONS__STYLE_SHEET,
+ oldStyleSheet, newStyleSheet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStyleSheet(StyleSheet newStyleSheet) {
+ if (newStyleSheet != styleSheet) {
+ NotificationChain msgs = null;
+ if (styleSheet != null)
+ msgs = ((InternalEObject) styleSheet).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.DEFINITIONS__STYLE_SHEET, null,
+ msgs);
+ if (newStyleSheet != null)
+ msgs = ((InternalEObject) newStyleSheet).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.DEFINITIONS__STYLE_SHEET, null,
+ msgs);
+ msgs = basicSetStyleSheet(newStyleSheet, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.DEFINITIONS__STYLE_SHEET, newStyleSheet,
+ newStyleSheet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.DEFINITIONS__DEFNITION:
+ return ((InternalEList<?>) getDefnition()).basicRemove(otherEnd,
+ msgs);
+ case DGPackage.DEFINITIONS__STYLE_SHEET:
+ return basicSetStyleSheet(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 DGPackage.DEFINITIONS__DEFNITION:
+ return getDefnition();
+ case DGPackage.DEFINITIONS__STYLE_SHEET:
+ return getStyleSheet();
+ }
+ 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 DGPackage.DEFINITIONS__DEFNITION:
+ getDefnition().clear();
+ getDefnition().addAll((Collection<? extends Definition>) newValue);
+ return;
+ case DGPackage.DEFINITIONS__STYLE_SHEET:
+ setStyleSheet((StyleSheet) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.DEFINITIONS__DEFNITION:
+ getDefnition().clear();
+ return;
+ case DGPackage.DEFINITIONS__STYLE_SHEET:
+ setStyleSheet((StyleSheet) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.DEFINITIONS__DEFNITION:
+ return defnition != null && !defnition.isEmpty();
+ case DGPackage.DEFINITIONS__STYLE_SHEET:
+ return styleSheet != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DefinitionsImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/EllipseImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/EllipseImpl.java
new file mode 100644
index 00000000000..d72bed1544f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/EllipseImpl.java
@@ -0,0 +1,276 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Dimension;
+import org.eclipse.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Ellipse;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Ellipse</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.EllipseImpl#getCenter <em>Center
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.EllipseImpl#getRadii <em>Radii
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EllipseImpl extends GraphicalElementImpl implements Ellipse {
+ /**
+ * The cached value of the '{@link #getCenter() <em>Center</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCenter()
+ * @generated
+ * @ordered
+ */
+ protected Point center;
+
+ /**
+ * The cached value of the '{@link #getRadii() <em>Radii</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRadii()
+ * @generated
+ * @ordered
+ */
+ protected Dimension radii;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EllipseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.ELLIPSE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getCenter() {
+ return center;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetCenter(Point newCenter,
+ NotificationChain msgs) {
+ Point oldCenter = center;
+ center = newCenter;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.ELLIPSE__CENTER, oldCenter,
+ newCenter);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCenter(Point newCenter) {
+ if (newCenter != center) {
+ NotificationChain msgs = null;
+ if (center != null)
+ msgs = ((InternalEObject) center).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.ELLIPSE__CENTER,
+ null, msgs);
+ if (newCenter != null)
+ msgs = ((InternalEObject) newCenter).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.ELLIPSE__CENTER,
+ null, msgs);
+ msgs = basicSetCenter(newCenter, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ELLIPSE__CENTER, newCenter, newCenter));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Dimension getRadii() {
+ return radii;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetRadii(Dimension newRadii,
+ NotificationChain msgs) {
+ Dimension oldRadii = radii;
+ radii = newRadii;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.ELLIPSE__RADII, oldRadii,
+ newRadii);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRadii(Dimension newRadii) {
+ if (newRadii != radii) {
+ NotificationChain msgs = null;
+ if (radii != null)
+ msgs = ((InternalEObject) radii).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.ELLIPSE__RADII,
+ null, msgs);
+ if (newRadii != null)
+ msgs = ((InternalEObject) newRadii).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.ELLIPSE__RADII,
+ null, msgs);
+ msgs = basicSetRadii(newRadii, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ELLIPSE__RADII, newRadii, newRadii));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.ELLIPSE__CENTER:
+ return basicSetCenter(null, msgs);
+ case DGPackage.ELLIPSE__RADII:
+ return basicSetRadii(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 DGPackage.ELLIPSE__CENTER:
+ return getCenter();
+ case DGPackage.ELLIPSE__RADII:
+ return getRadii();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.ELLIPSE__CENTER:
+ setCenter((Point) newValue);
+ return;
+ case DGPackage.ELLIPSE__RADII:
+ setRadii((Dimension) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.ELLIPSE__CENTER:
+ setCenter((Point) null);
+ return;
+ case DGPackage.ELLIPSE__RADII:
+ setRadii((Dimension) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.ELLIPSE__CENTER:
+ return center != null;
+ case DGPackage.ELLIPSE__RADII:
+ return radii != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // EllipseImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/EllipticalCurveToImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/EllipticalCurveToImpl.java
new file mode 100644
index 00000000000..521d03a3238
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/EllipticalCurveToImpl.java
@@ -0,0 +1,467 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Dimension;
+import org.eclipse.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.EllipticalCurveTo;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Elliptical Curve To</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl#getPoint <em>
+ * Point</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl#getRadii <em>
+ * Radii</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl#getRotation
+ * <em>Rotation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl#isLargeArc
+ * <em>Is Large Arc</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.EllipticalCurveToImpl#isSweep <em>
+ * Is Sweep</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EllipticalCurveToImpl extends PathCommandImpl implements
+ EllipticalCurveTo {
+ /**
+ * The cached value of the '{@link #getPoint() <em>Point</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPoint()
+ * @generated
+ * @ordered
+ */
+ protected Point point;
+
+ /**
+ * The cached value of the '{@link #getRadii() <em>Radii</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRadii()
+ * @generated
+ * @ordered
+ */
+ protected Dimension radii;
+
+ /**
+ * The default value of the '{@link #getRotation() <em>Rotation</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRotation()
+ * @generated
+ * @ordered
+ */
+ protected static final double ROTATION_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getRotation() <em>Rotation</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRotation()
+ * @generated
+ * @ordered
+ */
+ protected double rotation = ROTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isLargeArc() <em>Is Large Arc</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isLargeArc()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_LARGE_ARC_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isLargeArc() <em>Is Large Arc</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isLargeArc()
+ * @generated
+ * @ordered
+ */
+ protected boolean isLargeArc = IS_LARGE_ARC_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isSweep() <em>Is Sweep</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSweep()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_SWEEP_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isSweep() <em>Is Sweep</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSweep()
+ * @generated
+ * @ordered
+ */
+ protected boolean isSweep = IS_SWEEP_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EllipticalCurveToImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.ELLIPTICAL_CURVE_TO;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getPoint() {
+ return point;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPoint(Point newPoint,
+ NotificationChain msgs) {
+ Point oldPoint = point;
+ point = newPoint;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.ELLIPTICAL_CURVE_TO__POINT,
+ oldPoint, newPoint);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPoint(Point newPoint) {
+ if (newPoint != point) {
+ NotificationChain msgs = null;
+ if (point != null)
+ msgs = ((InternalEObject) point).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.ELLIPTICAL_CURVE_TO__POINT, null,
+ msgs);
+ if (newPoint != null)
+ msgs = ((InternalEObject) newPoint).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.ELLIPTICAL_CURVE_TO__POINT, null,
+ msgs);
+ msgs = basicSetPoint(newPoint, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ELLIPTICAL_CURVE_TO__POINT, newPoint, newPoint));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Dimension getRadii() {
+ return radii;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetRadii(Dimension newRadii,
+ NotificationChain msgs) {
+ Dimension oldRadii = radii;
+ radii = newRadii;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.ELLIPTICAL_CURVE_TO__RADII,
+ oldRadii, newRadii);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRadii(Dimension newRadii) {
+ if (newRadii != radii) {
+ NotificationChain msgs = null;
+ if (radii != null)
+ msgs = ((InternalEObject) radii).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.ELLIPTICAL_CURVE_TO__RADII, null,
+ msgs);
+ if (newRadii != null)
+ msgs = ((InternalEObject) newRadii).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.ELLIPTICAL_CURVE_TO__RADII, null,
+ msgs);
+ msgs = basicSetRadii(newRadii, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ELLIPTICAL_CURVE_TO__RADII, newRadii, newRadii));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getRotation() {
+ return rotation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRotation(double newRotation) {
+ double oldRotation = rotation;
+ rotation = newRotation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ELLIPTICAL_CURVE_TO__ROTATION, oldRotation,
+ rotation));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isLargeArc() {
+ return isLargeArc;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsLargeArc(boolean newIsLargeArc) {
+ boolean oldIsLargeArc = isLargeArc;
+ isLargeArc = newIsLargeArc;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ELLIPTICAL_CURVE_TO__IS_LARGE_ARC, oldIsLargeArc,
+ isLargeArc));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSweep() {
+ return isSweep;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsSweep(boolean newIsSweep) {
+ boolean oldIsSweep = isSweep;
+ isSweep = newIsSweep;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ELLIPTICAL_CURVE_TO__IS_SWEEP, oldIsSweep,
+ isSweep));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.ELLIPTICAL_CURVE_TO__POINT:
+ return basicSetPoint(null, msgs);
+ case DGPackage.ELLIPTICAL_CURVE_TO__RADII:
+ return basicSetRadii(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 DGPackage.ELLIPTICAL_CURVE_TO__POINT:
+ return getPoint();
+ case DGPackage.ELLIPTICAL_CURVE_TO__RADII:
+ return getRadii();
+ case DGPackage.ELLIPTICAL_CURVE_TO__ROTATION:
+ return getRotation();
+ case DGPackage.ELLIPTICAL_CURVE_TO__IS_LARGE_ARC:
+ return isLargeArc();
+ case DGPackage.ELLIPTICAL_CURVE_TO__IS_SWEEP:
+ return isSweep();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.ELLIPTICAL_CURVE_TO__POINT:
+ setPoint((Point) newValue);
+ return;
+ case DGPackage.ELLIPTICAL_CURVE_TO__RADII:
+ setRadii((Dimension) newValue);
+ return;
+ case DGPackage.ELLIPTICAL_CURVE_TO__ROTATION:
+ setRotation((Double) newValue);
+ return;
+ case DGPackage.ELLIPTICAL_CURVE_TO__IS_LARGE_ARC:
+ setIsLargeArc((Boolean) newValue);
+ return;
+ case DGPackage.ELLIPTICAL_CURVE_TO__IS_SWEEP:
+ setIsSweep((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.ELLIPTICAL_CURVE_TO__POINT:
+ setPoint((Point) null);
+ return;
+ case DGPackage.ELLIPTICAL_CURVE_TO__RADII:
+ setRadii((Dimension) null);
+ return;
+ case DGPackage.ELLIPTICAL_CURVE_TO__ROTATION:
+ setRotation(ROTATION_EDEFAULT);
+ return;
+ case DGPackage.ELLIPTICAL_CURVE_TO__IS_LARGE_ARC:
+ setIsLargeArc(IS_LARGE_ARC_EDEFAULT);
+ return;
+ case DGPackage.ELLIPTICAL_CURVE_TO__IS_SWEEP:
+ setIsSweep(IS_SWEEP_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.ELLIPTICAL_CURVE_TO__POINT:
+ return point != null;
+ case DGPackage.ELLIPTICAL_CURVE_TO__RADII:
+ return radii != null;
+ case DGPackage.ELLIPTICAL_CURVE_TO__ROTATION:
+ return rotation != ROTATION_EDEFAULT;
+ case DGPackage.ELLIPTICAL_CURVE_TO__IS_LARGE_ARC:
+ return isLargeArc != IS_LARGE_ARC_EDEFAULT;
+ case DGPackage.ELLIPTICAL_CURVE_TO__IS_SWEEP:
+ return isSweep != IS_SWEEP_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (rotation: ");
+ result.append(rotation);
+ result.append(", isLargeArc: ");
+ result.append(isLargeArc);
+ result.append(", isSweep: ");
+ result.append(isSweep);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EllipticalCurveToImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GradientImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GradientImpl.java
new file mode 100644
index 00000000000..a098541473e
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GradientImpl.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Gradient;
+import org.eclipse.papyrus.dd.dg.GradientStop;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Gradient</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GradientImpl#getStop <em>Stop</em>}
+ * </li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class GradientImpl extends PaintServerImpl implements Gradient {
+ /**
+ * The cached value of the '{@link #getStop() <em>Stop</em>}' containment
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStop()
+ * @generated
+ * @ordered
+ */
+ protected EList<GradientStop> stop;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected GradientImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.GRADIENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<GradientStop> getStop() {
+ if (stop == null) {
+ stop = new EObjectContainmentEList<GradientStop>(
+ GradientStop.class, this, DGPackage.GRADIENT__STOP);
+ }
+ return stop;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.GRADIENT__STOP:
+ return ((InternalEList<?>) getStop()).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 DGPackage.GRADIENT__STOP:
+ return getStop();
+ }
+ 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 DGPackage.GRADIENT__STOP:
+ getStop().clear();
+ getStop().addAll((Collection<? extends GradientStop>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.GRADIENT__STOP:
+ getStop().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.GRADIENT__STOP:
+ return stop != null && !stop.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // GradientImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GradientStopImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GradientStopImpl.java
new file mode 100644
index 00000000000..a6fae0a8d35
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GradientStopImpl.java
@@ -0,0 +1,386 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import java.awt.Color;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.GradientStop;
+
+import org.eclipse.papyrus.dd.dg.util.DGValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Gradient Stop</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GradientStopImpl#getColor <em>Color
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GradientStopImpl#getOffset <em>
+ * Offset</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GradientStopImpl#getOpacity <em>
+ * Opacity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GradientStopImpl extends MinimalEObjectImpl.Container implements
+ GradientStop {
+ /**
+ * The default value of the '{@link #getColor() <em>Color</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected static final Color COLOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected Color color = COLOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOffset() <em>Offset</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOffset()
+ * @generated
+ * @ordered
+ */
+ protected static final double OFFSET_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getOffset() <em>Offset</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOffset()
+ * @generated
+ * @ordered
+ */
+ protected double offset = OFFSET_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOpacity() <em>Opacity</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOpacity()
+ * @generated
+ * @ordered
+ */
+ protected static final double OPACITY_EDEFAULT = 1.0;
+
+ /**
+ * The cached value of the '{@link #getOpacity() <em>Opacity</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOpacity()
+ * @generated
+ * @ordered
+ */
+ protected double opacity = OPACITY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected GradientStopImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.GRADIENT_STOP;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Color getColor() {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setColor(Color newColor) {
+ Color oldColor = color;
+ color = newColor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.GRADIENT_STOP__COLOR, oldColor, color));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getOffset() {
+ return offset;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOffset(double newOffset) {
+ double oldOffset = offset;
+ offset = newOffset;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.GRADIENT_STOP__OFFSET, oldOffset, offset));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getOpacity() {
+ return opacity;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOpacity(double newOpacity) {
+ double oldOpacity = opacity;
+ opacity = newOpacity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.GRADIENT_STOP__OPACITY, oldOpacity, opacity));
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validOffset(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Offset</em>}' invariant operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #validOffset(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_OFFSET_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "offset>=0 and offset<=1";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validOffset(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.GRADIENT_STOP,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.GRADIENT_STOP___VALID_OFFSET__DIAGNOSTICCHAIN_MAP,
+ VALID_OFFSET_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.GRADIENT_STOP__VALID_OFFSET);
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validOpacity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Opacity</em>}' invariant operation. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #validOpacity(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_OPACITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "opacity>=0 and opacity<=1";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validOpacity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.GRADIENT_STOP,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.GRADIENT_STOP___VALID_OPACITY__DIAGNOSTICCHAIN_MAP,
+ VALID_OPACITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.GRADIENT_STOP__VALID_OPACITY);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.GRADIENT_STOP__COLOR:
+ return getColor();
+ case DGPackage.GRADIENT_STOP__OFFSET:
+ return getOffset();
+ case DGPackage.GRADIENT_STOP__OPACITY:
+ return getOpacity();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.GRADIENT_STOP__COLOR:
+ setColor((Color) newValue);
+ return;
+ case DGPackage.GRADIENT_STOP__OFFSET:
+ setOffset((Double) newValue);
+ return;
+ case DGPackage.GRADIENT_STOP__OPACITY:
+ setOpacity((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.GRADIENT_STOP__COLOR:
+ setColor(COLOR_EDEFAULT);
+ return;
+ case DGPackage.GRADIENT_STOP__OFFSET:
+ setOffset(OFFSET_EDEFAULT);
+ return;
+ case DGPackage.GRADIENT_STOP__OPACITY:
+ setOpacity(OPACITY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.GRADIENT_STOP__COLOR:
+ return COLOR_EDEFAULT == null ? color != null : !COLOR_EDEFAULT
+ .equals(color);
+ case DGPackage.GRADIENT_STOP__OFFSET:
+ return offset != OFFSET_EDEFAULT;
+ case DGPackage.GRADIENT_STOP__OPACITY:
+ return opacity != OPACITY_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case DGPackage.GRADIENT_STOP___VALID_OFFSET__DIAGNOSTICCHAIN_MAP:
+ return validOffset((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case DGPackage.GRADIENT_STOP___VALID_OPACITY__DIAGNOSTICCHAIN_MAP:
+ return validOpacity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (color: ");
+ result.append(color);
+ result.append(", offset: ");
+ result.append(offset);
+ result.append(", opacity: ");
+ result.append(opacity);
+ result.append(')');
+ return result.toString();
+ }
+
+} // GradientStopImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GraphicalElementImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GraphicalElementImpl.java
new file mode 100644
index 00000000000..ab9813a2a3a
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GraphicalElementImpl.java
@@ -0,0 +1,465 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.dd.dg.ClipPath;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.GraphicalElement;
+import org.eclipse.papyrus.dd.dg.Group;
+import org.eclipse.papyrus.dd.dg.Style;
+import org.eclipse.papyrus.dd.dg.Transform;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Graphical Element</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl#getClipPath
+ * <em>Clip Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl#getGroup <em>
+ * Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl#getKeyword
+ * <em>Keyword</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl#getStyle <em>
+ * Style</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GraphicalElementImpl#getTransform
+ * <em>Transform</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class GraphicalElementImpl extends DefinitionImpl implements
+ GraphicalElement {
+ /**
+ * The cached value of the '{@link #getClipPath() <em>Clip Path</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getClipPath()
+ * @generated
+ * @ordered
+ */
+ protected ClipPath clipPath;
+
+ /**
+ * The cached value of the '{@link #getKeyword() <em>Keyword</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getKeyword()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> keyword;
+
+ /**
+ * The cached value of the '{@link #getStyle() <em>Style</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStyle()
+ * @generated
+ * @ordered
+ */
+ protected Style style;
+
+ /**
+ * The cached value of the '{@link #getTransform() <em>Transform</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTransform()
+ * @generated
+ * @ordered
+ */
+ protected EList<Transform> transform;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected GraphicalElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.GRAPHICAL_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClipPath getClipPath() {
+ if (clipPath != null && clipPath.eIsProxy()) {
+ InternalEObject oldClipPath = (InternalEObject) clipPath;
+ clipPath = (ClipPath) eResolveProxy(oldClipPath);
+ if (clipPath != oldClipPath) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ DGPackage.GRAPHICAL_ELEMENT__CLIP_PATH,
+ oldClipPath, clipPath));
+ }
+ }
+ return clipPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClipPath basicGetClipPath() {
+ return clipPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setClipPath(ClipPath newClipPath) {
+ ClipPath oldClipPath = clipPath;
+ clipPath = newClipPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.GRAPHICAL_ELEMENT__CLIP_PATH, oldClipPath,
+ clipPath));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Group getGroup() {
+ if (eContainerFeatureID() != DGPackage.GRAPHICAL_ELEMENT__GROUP)
+ return null;
+ return (Group) eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetGroup(Group newGroup,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newGroup,
+ DGPackage.GRAPHICAL_ELEMENT__GROUP, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroup(Group newGroup) {
+ if (newGroup != eInternalContainer()
+ || (eContainerFeatureID() != DGPackage.GRAPHICAL_ELEMENT__GROUP && newGroup != null)) {
+ if (EcoreUtil.isAncestor(this, newGroup))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newGroup != null)
+ msgs = ((InternalEObject) newGroup).eInverseAdd(this,
+ DGPackage.GROUP__MEMBER, Group.class, msgs);
+ msgs = basicSetGroup(newGroup, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.GRAPHICAL_ELEMENT__GROUP, newGroup, newGroup));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getKeyword() {
+ if (keyword == null) {
+ keyword = new EDataTypeUniqueEList<String>(String.class, this,
+ DGPackage.GRAPHICAL_ELEMENT__KEYWORD);
+ }
+ return keyword;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Style getStyle() {
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyle(Style newStyle,
+ NotificationChain msgs) {
+ Style oldStyle = style;
+ style = newStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.GRAPHICAL_ELEMENT__STYLE,
+ oldStyle, newStyle);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStyle(Style newStyle) {
+ if (newStyle != style) {
+ NotificationChain msgs = null;
+ if (style != null)
+ msgs = ((InternalEObject) style).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.GRAPHICAL_ELEMENT__STYLE, null,
+ msgs);
+ if (newStyle != null)
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.GRAPHICAL_ELEMENT__STYLE, null,
+ msgs);
+ msgs = basicSetStyle(newStyle, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.GRAPHICAL_ELEMENT__STYLE, newStyle, newStyle));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Transform> getTransform() {
+ if (transform == null) {
+ transform = new EObjectContainmentEList<Transform>(Transform.class,
+ this, DGPackage.GRAPHICAL_ELEMENT__TRANSFORM);
+ }
+ return transform;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.GRAPHICAL_ELEMENT__GROUP:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetGroup((Group) 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 DGPackage.GRAPHICAL_ELEMENT__GROUP:
+ return basicSetGroup(null, msgs);
+ case DGPackage.GRAPHICAL_ELEMENT__STYLE:
+ return basicSetStyle(null, msgs);
+ case DGPackage.GRAPHICAL_ELEMENT__TRANSFORM:
+ return ((InternalEList<?>) getTransform()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case DGPackage.GRAPHICAL_ELEMENT__GROUP:
+ return eInternalContainer().eInverseRemove(this,
+ DGPackage.GROUP__MEMBER, Group.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.GRAPHICAL_ELEMENT__CLIP_PATH:
+ if (resolve)
+ return getClipPath();
+ return basicGetClipPath();
+ case DGPackage.GRAPHICAL_ELEMENT__GROUP:
+ return getGroup();
+ case DGPackage.GRAPHICAL_ELEMENT__KEYWORD:
+ return getKeyword();
+ case DGPackage.GRAPHICAL_ELEMENT__STYLE:
+ return getStyle();
+ case DGPackage.GRAPHICAL_ELEMENT__TRANSFORM:
+ return getTransform();
+ }
+ 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 DGPackage.GRAPHICAL_ELEMENT__CLIP_PATH:
+ setClipPath((ClipPath) newValue);
+ return;
+ case DGPackage.GRAPHICAL_ELEMENT__GROUP:
+ setGroup((Group) newValue);
+ return;
+ case DGPackage.GRAPHICAL_ELEMENT__KEYWORD:
+ getKeyword().clear();
+ getKeyword().addAll((Collection<? extends String>) newValue);
+ return;
+ case DGPackage.GRAPHICAL_ELEMENT__STYLE:
+ setStyle((Style) newValue);
+ return;
+ case DGPackage.GRAPHICAL_ELEMENT__TRANSFORM:
+ getTransform().clear();
+ getTransform().addAll((Collection<? extends Transform>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.GRAPHICAL_ELEMENT__CLIP_PATH:
+ setClipPath((ClipPath) null);
+ return;
+ case DGPackage.GRAPHICAL_ELEMENT__GROUP:
+ setGroup((Group) null);
+ return;
+ case DGPackage.GRAPHICAL_ELEMENT__KEYWORD:
+ getKeyword().clear();
+ return;
+ case DGPackage.GRAPHICAL_ELEMENT__STYLE:
+ setStyle((Style) null);
+ return;
+ case DGPackage.GRAPHICAL_ELEMENT__TRANSFORM:
+ getTransform().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.GRAPHICAL_ELEMENT__CLIP_PATH:
+ return clipPath != null;
+ case DGPackage.GRAPHICAL_ELEMENT__GROUP:
+ return getGroup() != null;
+ case DGPackage.GRAPHICAL_ELEMENT__KEYWORD:
+ return keyword != null && !keyword.isEmpty();
+ case DGPackage.GRAPHICAL_ELEMENT__STYLE:
+ return style != null;
+ case DGPackage.GRAPHICAL_ELEMENT__TRANSFORM:
+ return transform != null && !transform.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (keyword: ");
+ result.append(keyword);
+ result.append(')');
+ return result.toString();
+ }
+
+} // GraphicalElementImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GroupImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GroupImpl.java
new file mode 100644
index 00000000000..75571f2dabb
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/GroupImpl.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.GraphicalElement;
+import org.eclipse.papyrus.dd.dg.Group;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Group</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.GroupImpl#getMember <em>Member
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GroupImpl extends GraphicalElementImpl implements Group {
+ /**
+ * The cached value of the '{@link #getMember() <em>Member</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMember()
+ * @generated
+ * @ordered
+ */
+ protected EList<GraphicalElement> member;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected GroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<GraphicalElement> getMember() {
+ if (member == null) {
+ member = new EObjectContainmentWithInverseEList<GraphicalElement>(
+ GraphicalElement.class, this, DGPackage.GROUP__MEMBER,
+ DGPackage.GRAPHICAL_ELEMENT__GROUP);
+ }
+ return member;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.GROUP__MEMBER:
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getMember())
+ .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 DGPackage.GROUP__MEMBER:
+ return ((InternalEList<?>) getMember()).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 DGPackage.GROUP__MEMBER:
+ return getMember();
+ }
+ 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 DGPackage.GROUP__MEMBER:
+ getMember().clear();
+ getMember().addAll(
+ (Collection<? extends GraphicalElement>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.GROUP__MEMBER:
+ getMember().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.GROUP__MEMBER:
+ return member != null && !member.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // GroupImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ImageImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ImageImpl.java
new file mode 100644
index 00000000000..c2e793529a9
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ImageImpl.java
@@ -0,0 +1,328 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Bounds;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Image;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Image</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.ImageImpl#getSource <em>Source
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.ImageImpl#getBounds <em>Bounds
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.ImageImpl#isAspectRatioPreserved
+ * <em>Is Aspect Ratio Preserved</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImageImpl extends GraphicalElementImpl implements Image {
+ /**
+ * The default value of the '{@link #getSource() <em>Source</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected static final String SOURCE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected String source = SOURCE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBounds() <em>Bounds</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBounds()
+ * @generated
+ * @ordered
+ */
+ protected Bounds bounds;
+
+ /**
+ * The default value of the '{@link #isAspectRatioPreserved()
+ * <em>Is Aspect Ratio Preserved</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAspectRatioPreserved()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ASPECT_RATIO_PRESERVED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isAspectRatioPreserved()
+ * <em>Is Aspect Ratio Preserved</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAspectRatioPreserved()
+ * @generated
+ * @ordered
+ */
+ protected boolean isAspectRatioPreserved = IS_ASPECT_RATIO_PRESERVED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ImageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.IMAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSource() {
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSource(String newSource) {
+ String oldSource = source;
+ source = newSource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.IMAGE__SOURCE, oldSource, source));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Bounds getBounds() {
+ return bounds;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBounds(Bounds newBounds,
+ NotificationChain msgs) {
+ Bounds oldBounds = bounds;
+ bounds = newBounds;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.IMAGE__BOUNDS, oldBounds,
+ newBounds);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBounds(Bounds newBounds) {
+ if (newBounds != bounds) {
+ NotificationChain msgs = null;
+ if (bounds != null)
+ msgs = ((InternalEObject) bounds).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.IMAGE__BOUNDS, null,
+ msgs);
+ if (newBounds != null)
+ msgs = ((InternalEObject) newBounds).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.IMAGE__BOUNDS, null,
+ msgs);
+ msgs = basicSetBounds(newBounds, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.IMAGE__BOUNDS, newBounds, newBounds));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAspectRatioPreserved() {
+ return isAspectRatioPreserved;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAspectRatioPreserved(boolean newIsAspectRatioPreserved) {
+ boolean oldIsAspectRatioPreserved = isAspectRatioPreserved;
+ isAspectRatioPreserved = newIsAspectRatioPreserved;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.IMAGE__IS_ASPECT_RATIO_PRESERVED,
+ oldIsAspectRatioPreserved, isAspectRatioPreserved));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.IMAGE__BOUNDS:
+ return basicSetBounds(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 DGPackage.IMAGE__SOURCE:
+ return getSource();
+ case DGPackage.IMAGE__BOUNDS:
+ return getBounds();
+ case DGPackage.IMAGE__IS_ASPECT_RATIO_PRESERVED:
+ return isAspectRatioPreserved();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.IMAGE__SOURCE:
+ setSource((String) newValue);
+ return;
+ case DGPackage.IMAGE__BOUNDS:
+ setBounds((Bounds) newValue);
+ return;
+ case DGPackage.IMAGE__IS_ASPECT_RATIO_PRESERVED:
+ setIsAspectRatioPreserved((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.IMAGE__SOURCE:
+ setSource(SOURCE_EDEFAULT);
+ return;
+ case DGPackage.IMAGE__BOUNDS:
+ setBounds((Bounds) null);
+ return;
+ case DGPackage.IMAGE__IS_ASPECT_RATIO_PRESERVED:
+ setIsAspectRatioPreserved(IS_ASPECT_RATIO_PRESERVED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.IMAGE__SOURCE:
+ return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT
+ .equals(source);
+ case DGPackage.IMAGE__BOUNDS:
+ return bounds != null;
+ case DGPackage.IMAGE__IS_ASPECT_RATIO_PRESERVED:
+ return isAspectRatioPreserved != IS_ASPECT_RATIO_PRESERVED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (source: ");
+ result.append(source);
+ result.append(", isAspectRatioPreserved: ");
+ result.append(isAspectRatioPreserved);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ImageImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LineImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LineImpl.java
new file mode 100644
index 00000000000..0f8931de7eb
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LineImpl.java
@@ -0,0 +1,270 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Line;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Line</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.LineImpl#getStart <em>Start</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.LineImpl#getEnd <em>End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LineImpl extends MarkedElementImpl implements Line {
+ /**
+ * The cached value of the '{@link #getStart() <em>Start</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStart()
+ * @generated
+ * @ordered
+ */
+ protected Point start;
+
+ /**
+ * The cached value of the '{@link #getEnd() <em>End</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEnd()
+ * @generated
+ * @ordered
+ */
+ protected Point end;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LineImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.LINE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getStart() {
+ return start;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStart(Point newStart,
+ NotificationChain msgs) {
+ Point oldStart = start;
+ start = newStart;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.LINE__START, oldStart, newStart);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStart(Point newStart) {
+ if (newStart != start) {
+ NotificationChain msgs = null;
+ if (start != null)
+ msgs = ((InternalEObject) start).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.LINE__START, null,
+ msgs);
+ if (newStart != null)
+ msgs = ((InternalEObject) newStart).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.LINE__START, null,
+ msgs);
+ msgs = basicSetStart(newStart, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.LINE__START, newStart, newStart));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getEnd() {
+ return end;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetEnd(Point newEnd, NotificationChain msgs) {
+ Point oldEnd = end;
+ end = newEnd;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.LINE__END, oldEnd, newEnd);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEnd(Point newEnd) {
+ if (newEnd != end) {
+ NotificationChain msgs = null;
+ if (end != null)
+ msgs = ((InternalEObject) end).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.LINE__END, null,
+ msgs);
+ if (newEnd != null)
+ msgs = ((InternalEObject) newEnd).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.LINE__END, null,
+ msgs);
+ msgs = basicSetEnd(newEnd, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.LINE__END, newEnd, newEnd));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.LINE__START:
+ return basicSetStart(null, msgs);
+ case DGPackage.LINE__END:
+ return basicSetEnd(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 DGPackage.LINE__START:
+ return getStart();
+ case DGPackage.LINE__END:
+ return getEnd();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.LINE__START:
+ setStart((Point) newValue);
+ return;
+ case DGPackage.LINE__END:
+ setEnd((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.LINE__START:
+ setStart((Point) null);
+ return;
+ case DGPackage.LINE__END:
+ setEnd((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.LINE__START:
+ return start != null;
+ case DGPackage.LINE__END:
+ return end != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // LineImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LineToImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LineToImpl.java
new file mode 100644
index 00000000000..21318835354
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LineToImpl.java
@@ -0,0 +1,197 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.LineTo;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Line To</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.LineToImpl#getPoint <em>Point</em>}
+ * </li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LineToImpl extends PathCommandImpl implements LineTo {
+ /**
+ * The cached value of the '{@link #getPoint() <em>Point</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPoint()
+ * @generated
+ * @ordered
+ */
+ protected Point point;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LineToImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.LINE_TO;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getPoint() {
+ return point;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPoint(Point newPoint,
+ NotificationChain msgs) {
+ Point oldPoint = point;
+ point = newPoint;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.LINE_TO__POINT, oldPoint,
+ newPoint);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPoint(Point newPoint) {
+ if (newPoint != point) {
+ NotificationChain msgs = null;
+ if (point != null)
+ msgs = ((InternalEObject) point).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.LINE_TO__POINT,
+ null, msgs);
+ if (newPoint != null)
+ msgs = ((InternalEObject) newPoint).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.LINE_TO__POINT,
+ null, msgs);
+ msgs = basicSetPoint(newPoint, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.LINE_TO__POINT, newPoint, newPoint));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.LINE_TO__POINT:
+ return basicSetPoint(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 DGPackage.LINE_TO__POINT:
+ return getPoint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.LINE_TO__POINT:
+ setPoint((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.LINE_TO__POINT:
+ setPoint((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.LINE_TO__POINT:
+ return point != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // LineToImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LinearGradientImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LinearGradientImpl.java
new file mode 100644
index 00000000000..c3cf95520c2
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/LinearGradientImpl.java
@@ -0,0 +1,333 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+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.papyrus.dd.dc.Point;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.LinearGradient;
+
+import org.eclipse.papyrus.dd.dg.util.DGValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Linear Gradient</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.LinearGradientImpl#getStart <em>
+ * Start</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.LinearGradientImpl#getEnd <em>End
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LinearGradientImpl extends GradientImpl implements LinearGradient {
+ /**
+ * The cached value of the '{@link #getStart() <em>Start</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStart()
+ * @generated
+ * @ordered
+ */
+ protected Point start;
+
+ /**
+ * The cached value of the '{@link #getEnd() <em>End</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEnd()
+ * @generated
+ * @ordered
+ */
+ protected Point end;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LinearGradientImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.LINEAR_GRADIENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getStart() {
+ return start;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStart(Point newStart,
+ NotificationChain msgs) {
+ Point oldStart = start;
+ start = newStart;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.LINEAR_GRADIENT__START,
+ oldStart, newStart);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStart(Point newStart) {
+ if (newStart != start) {
+ NotificationChain msgs = null;
+ if (start != null)
+ msgs = ((InternalEObject) start).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.LINEAR_GRADIENT__START, null, msgs);
+ if (newStart != null)
+ msgs = ((InternalEObject) newStart).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.LINEAR_GRADIENT__START, null, msgs);
+ msgs = basicSetStart(newStart, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.LINEAR_GRADIENT__START, newStart, newStart));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getEnd() {
+ return end;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetEnd(Point newEnd, NotificationChain msgs) {
+ Point oldEnd = end;
+ end = newEnd;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.LINEAR_GRADIENT__END, oldEnd,
+ newEnd);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEnd(Point newEnd) {
+ if (newEnd != end) {
+ NotificationChain msgs = null;
+ if (end != null)
+ msgs = ((InternalEObject) end)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - DGPackage.LINEAR_GRADIENT__END, null, msgs);
+ if (newEnd != null)
+ msgs = ((InternalEObject) newEnd)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - DGPackage.LINEAR_GRADIENT__END, null, msgs);
+ msgs = basicSetEnd(newEnd, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.LINEAR_GRADIENT__END, newEnd, newEnd));
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validGradientVector(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Gradient Vector</em>}' invariant operation. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #validGradientVector(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_GRADIENT_VECTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "start.x>=0 and start.x<=1 and end.x>=0 and end.x<=1 and start.y>=0 and start.y<=1 and end.y>=0 and end.y<=1";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validGradientVector(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.LINEAR_GRADIENT,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.LINEAR_GRADIENT___VALID_GRADIENT_VECTOR__DIAGNOSTICCHAIN_MAP,
+ VALID_GRADIENT_VECTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.LINEAR_GRADIENT__VALID_GRADIENT_VECTOR);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.LINEAR_GRADIENT__START:
+ return basicSetStart(null, msgs);
+ case DGPackage.LINEAR_GRADIENT__END:
+ return basicSetEnd(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 DGPackage.LINEAR_GRADIENT__START:
+ return getStart();
+ case DGPackage.LINEAR_GRADIENT__END:
+ return getEnd();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.LINEAR_GRADIENT__START:
+ setStart((Point) newValue);
+ return;
+ case DGPackage.LINEAR_GRADIENT__END:
+ setEnd((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.LINEAR_GRADIENT__START:
+ setStart((Point) null);
+ return;
+ case DGPackage.LINEAR_GRADIENT__END:
+ setEnd((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.LINEAR_GRADIENT__START:
+ return start != null;
+ case DGPackage.LINEAR_GRADIENT__END:
+ return end != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case DGPackage.LINEAR_GRADIENT___VALID_GRADIENT_VECTOR__DIAGNOSTICCHAIN_MAP:
+ return validGradientVector((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // LinearGradientImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MarkedElementImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MarkedElementImpl.java
new file mode 100644
index 00000000000..07f7adf09c9
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MarkedElementImpl.java
@@ -0,0 +1,303 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.MarkedElement;
+import org.eclipse.papyrus.dd.dg.Marker;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Marked Element</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MarkedElementImpl#getEndMarker <em>
+ * End Marker</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MarkedElementImpl#getMidMarker <em>
+ * Mid Marker</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MarkedElementImpl#getStartMarker
+ * <em>Start Marker</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MarkedElementImpl extends GraphicalElementImpl implements
+ MarkedElement {
+ /**
+ * The cached value of the '{@link #getEndMarker() <em>End Marker</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEndMarker()
+ * @generated
+ * @ordered
+ */
+ protected Marker endMarker;
+
+ /**
+ * The cached value of the '{@link #getMidMarker() <em>Mid Marker</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMidMarker()
+ * @generated
+ * @ordered
+ */
+ protected Marker midMarker;
+
+ /**
+ * The cached value of the '{@link #getStartMarker() <em>Start Marker</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStartMarker()
+ * @generated
+ * @ordered
+ */
+ protected Marker startMarker;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MarkedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.MARKED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Marker getEndMarker() {
+ if (endMarker != null && endMarker.eIsProxy()) {
+ InternalEObject oldEndMarker = (InternalEObject) endMarker;
+ endMarker = (Marker) eResolveProxy(oldEndMarker);
+ if (endMarker != oldEndMarker) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ DGPackage.MARKED_ELEMENT__END_MARKER, oldEndMarker,
+ endMarker));
+ }
+ }
+ return endMarker;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Marker basicGetEndMarker() {
+ return endMarker;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEndMarker(Marker newEndMarker) {
+ Marker oldEndMarker = endMarker;
+ endMarker = newEndMarker;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MARKED_ELEMENT__END_MARKER, oldEndMarker,
+ endMarker));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Marker getMidMarker() {
+ if (midMarker != null && midMarker.eIsProxy()) {
+ InternalEObject oldMidMarker = (InternalEObject) midMarker;
+ midMarker = (Marker) eResolveProxy(oldMidMarker);
+ if (midMarker != oldMidMarker) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ DGPackage.MARKED_ELEMENT__MID_MARKER, oldMidMarker,
+ midMarker));
+ }
+ }
+ return midMarker;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Marker basicGetMidMarker() {
+ return midMarker;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setMidMarker(Marker newMidMarker) {
+ Marker oldMidMarker = midMarker;
+ midMarker = newMidMarker;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MARKED_ELEMENT__MID_MARKER, oldMidMarker,
+ midMarker));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Marker getStartMarker() {
+ if (startMarker != null && startMarker.eIsProxy()) {
+ InternalEObject oldStartMarker = (InternalEObject) startMarker;
+ startMarker = (Marker) eResolveProxy(oldStartMarker);
+ if (startMarker != oldStartMarker) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ DGPackage.MARKED_ELEMENT__START_MARKER,
+ oldStartMarker, startMarker));
+ }
+ }
+ return startMarker;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Marker basicGetStartMarker() {
+ return startMarker;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStartMarker(Marker newStartMarker) {
+ Marker oldStartMarker = startMarker;
+ startMarker = newStartMarker;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MARKED_ELEMENT__START_MARKER, oldStartMarker,
+ startMarker));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.MARKED_ELEMENT__END_MARKER:
+ if (resolve)
+ return getEndMarker();
+ return basicGetEndMarker();
+ case DGPackage.MARKED_ELEMENT__MID_MARKER:
+ if (resolve)
+ return getMidMarker();
+ return basicGetMidMarker();
+ case DGPackage.MARKED_ELEMENT__START_MARKER:
+ if (resolve)
+ return getStartMarker();
+ return basicGetStartMarker();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.MARKED_ELEMENT__END_MARKER:
+ setEndMarker((Marker) newValue);
+ return;
+ case DGPackage.MARKED_ELEMENT__MID_MARKER:
+ setMidMarker((Marker) newValue);
+ return;
+ case DGPackage.MARKED_ELEMENT__START_MARKER:
+ setStartMarker((Marker) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.MARKED_ELEMENT__END_MARKER:
+ setEndMarker((Marker) null);
+ return;
+ case DGPackage.MARKED_ELEMENT__MID_MARKER:
+ setMidMarker((Marker) null);
+ return;
+ case DGPackage.MARKED_ELEMENT__START_MARKER:
+ setStartMarker((Marker) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.MARKED_ELEMENT__END_MARKER:
+ return endMarker != null;
+ case DGPackage.MARKED_ELEMENT__MID_MARKER:
+ return midMarker != null;
+ case DGPackage.MARKED_ELEMENT__START_MARKER:
+ return startMarker != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // MarkedElementImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MarkerImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MarkerImpl.java
new file mode 100644
index 00000000000..fa7148fc24f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MarkerImpl.java
@@ -0,0 +1,274 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Dimension;
+import org.eclipse.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Marker;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Marker</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MarkerImpl#getSize <em>Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MarkerImpl#getReference <em>
+ * Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MarkerImpl extends GroupImpl implements Marker {
+ /**
+ * The cached value of the '{@link #getSize() <em>Size</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSize()
+ * @generated
+ * @ordered
+ */
+ protected Dimension size;
+
+ /**
+ * The cached value of the '{@link #getReference() <em>Reference</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReference()
+ * @generated
+ * @ordered
+ */
+ protected Point reference;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MarkerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.MARKER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Dimension getSize() {
+ return size;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSize(Dimension newSize,
+ NotificationChain msgs) {
+ Dimension oldSize = size;
+ size = newSize;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.MARKER__SIZE, oldSize, newSize);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSize(Dimension newSize) {
+ if (newSize != size) {
+ NotificationChain msgs = null;
+ if (size != null)
+ msgs = ((InternalEObject) size).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.MARKER__SIZE, null,
+ msgs);
+ if (newSize != null)
+ msgs = ((InternalEObject) newSize).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.MARKER__SIZE, null,
+ msgs);
+ msgs = basicSetSize(newSize, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MARKER__SIZE, newSize, newSize));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getReference() {
+ return reference;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetReference(Point newReference,
+ NotificationChain msgs) {
+ Point oldReference = reference;
+ reference = newReference;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.MARKER__REFERENCE,
+ oldReference, newReference);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReference(Point newReference) {
+ if (newReference != reference) {
+ NotificationChain msgs = null;
+ if (reference != null)
+ msgs = ((InternalEObject) reference).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.MARKER__REFERENCE,
+ null, msgs);
+ if (newReference != null)
+ msgs = ((InternalEObject) newReference).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.MARKER__REFERENCE,
+ null, msgs);
+ msgs = basicSetReference(newReference, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MARKER__REFERENCE, newReference, newReference));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.MARKER__SIZE:
+ return basicSetSize(null, msgs);
+ case DGPackage.MARKER__REFERENCE:
+ return basicSetReference(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 DGPackage.MARKER__SIZE:
+ return getSize();
+ case DGPackage.MARKER__REFERENCE:
+ return getReference();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.MARKER__SIZE:
+ setSize((Dimension) newValue);
+ return;
+ case DGPackage.MARKER__REFERENCE:
+ setReference((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.MARKER__SIZE:
+ setSize((Dimension) null);
+ return;
+ case DGPackage.MARKER__REFERENCE:
+ setReference((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.MARKER__SIZE:
+ return size != null;
+ case DGPackage.MARKER__REFERENCE:
+ return reference != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // MarkerImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MatrixImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MatrixImpl.java
new file mode 100644
index 00000000000..900a78c99bd
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MatrixImpl.java
@@ -0,0 +1,447 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Matrix;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Matrix</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MatrixImpl#getA <em>A</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MatrixImpl#getB <em>B</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MatrixImpl#getC <em>C</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MatrixImpl#getD <em>D</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MatrixImpl#getE <em>E</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MatrixImpl#getF <em>F</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MatrixImpl extends TransformImpl implements Matrix {
+ /**
+ * The default value of the '{@link #getA() <em>A</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getA()
+ * @generated
+ * @ordered
+ */
+ protected static final double A_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getA() <em>A</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getA()
+ * @generated
+ * @ordered
+ */
+ protected double a = A_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getB() <em>B</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getB()
+ * @generated
+ * @ordered
+ */
+ protected static final double B_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getB() <em>B</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getB()
+ * @generated
+ * @ordered
+ */
+ protected double b = B_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getC() <em>C</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getC()
+ * @generated
+ * @ordered
+ */
+ protected static final double C_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getC() <em>C</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getC()
+ * @generated
+ * @ordered
+ */
+ protected double c = C_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getD() <em>D</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getD()
+ * @generated
+ * @ordered
+ */
+ protected static final double D_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getD() <em>D</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getD()
+ * @generated
+ * @ordered
+ */
+ protected double d = D_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getE() <em>E</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getE()
+ * @generated
+ * @ordered
+ */
+ protected static final double E_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getE() <em>E</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getE()
+ * @generated
+ * @ordered
+ */
+ protected double e = E_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getF() <em>F</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getF()
+ * @generated
+ * @ordered
+ */
+ protected static final double F_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getF() <em>F</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getF()
+ * @generated
+ * @ordered
+ */
+ protected double f = F_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MatrixImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.MATRIX;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getA() {
+ return a;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setA(double newA) {
+ double oldA = a;
+ a = newA;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MATRIX__A, oldA, a));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getB() {
+ return b;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setB(double newB) {
+ double oldB = b;
+ b = newB;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MATRIX__B, oldB, b));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getC() {
+ return c;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setC(double newC) {
+ double oldC = c;
+ c = newC;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MATRIX__C, oldC, c));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getD() {
+ return d;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setD(double newD) {
+ double oldD = d;
+ d = newD;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MATRIX__D, oldD, d));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getE() {
+ return e;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setE(double newE) {
+ double oldE = e;
+ e = newE;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MATRIX__E, oldE, e));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getF() {
+ return f;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setF(double newF) {
+ double oldF = f;
+ f = newF;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MATRIX__F, oldF, f));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.MATRIX__A:
+ return getA();
+ case DGPackage.MATRIX__B:
+ return getB();
+ case DGPackage.MATRIX__C:
+ return getC();
+ case DGPackage.MATRIX__D:
+ return getD();
+ case DGPackage.MATRIX__E:
+ return getE();
+ case DGPackage.MATRIX__F:
+ return getF();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.MATRIX__A:
+ setA((Double) newValue);
+ return;
+ case DGPackage.MATRIX__B:
+ setB((Double) newValue);
+ return;
+ case DGPackage.MATRIX__C:
+ setC((Double) newValue);
+ return;
+ case DGPackage.MATRIX__D:
+ setD((Double) newValue);
+ return;
+ case DGPackage.MATRIX__E:
+ setE((Double) newValue);
+ return;
+ case DGPackage.MATRIX__F:
+ setF((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.MATRIX__A:
+ setA(A_EDEFAULT);
+ return;
+ case DGPackage.MATRIX__B:
+ setB(B_EDEFAULT);
+ return;
+ case DGPackage.MATRIX__C:
+ setC(C_EDEFAULT);
+ return;
+ case DGPackage.MATRIX__D:
+ setD(D_EDEFAULT);
+ return;
+ case DGPackage.MATRIX__E:
+ setE(E_EDEFAULT);
+ return;
+ case DGPackage.MATRIX__F:
+ setF(F_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.MATRIX__A:
+ return a != A_EDEFAULT;
+ case DGPackage.MATRIX__B:
+ return b != B_EDEFAULT;
+ case DGPackage.MATRIX__C:
+ return c != C_EDEFAULT;
+ case DGPackage.MATRIX__D:
+ return d != D_EDEFAULT;
+ case DGPackage.MATRIX__E:
+ return e != E_EDEFAULT;
+ case DGPackage.MATRIX__F:
+ return f != F_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (a: ");
+ result.append(a);
+ result.append(", b: ");
+ result.append(b);
+ result.append(", c: ");
+ result.append(c);
+ result.append(", d: ");
+ result.append(d);
+ result.append(", e: ");
+ result.append(e);
+ result.append(", f: ");
+ result.append(f);
+ result.append(')');
+ return result.toString();
+ }
+
+} // MatrixImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MoveToImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MoveToImpl.java
new file mode 100644
index 00000000000..3205cf0362c
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/MoveToImpl.java
@@ -0,0 +1,197 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.MoveTo;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Move To</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.MoveToImpl#getPoint <em>Point</em>}
+ * </li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MoveToImpl extends PathCommandImpl implements MoveTo {
+ /**
+ * The cached value of the '{@link #getPoint() <em>Point</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPoint()
+ * @generated
+ * @ordered
+ */
+ protected Point point;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MoveToImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.MOVE_TO;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getPoint() {
+ return point;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPoint(Point newPoint,
+ NotificationChain msgs) {
+ Point oldPoint = point;
+ point = newPoint;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.MOVE_TO__POINT, oldPoint,
+ newPoint);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPoint(Point newPoint) {
+ if (newPoint != point) {
+ NotificationChain msgs = null;
+ if (point != null)
+ msgs = ((InternalEObject) point).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.MOVE_TO__POINT,
+ null, msgs);
+ if (newPoint != null)
+ msgs = ((InternalEObject) newPoint).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.MOVE_TO__POINT,
+ null, msgs);
+ msgs = basicSetPoint(newPoint, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.MOVE_TO__POINT, newPoint, newPoint));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.MOVE_TO__POINT:
+ return basicSetPoint(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 DGPackage.MOVE_TO__POINT:
+ return getPoint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.MOVE_TO__POINT:
+ setPoint((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.MOVE_TO__POINT:
+ setPoint((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.MOVE_TO__POINT:
+ return point != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // MoveToImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PaintImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PaintImpl.java
new file mode 100644
index 00000000000..1aa599efbbb
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PaintImpl.java
@@ -0,0 +1,243 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import java.awt.Color;
+
+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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Paint;
+import org.eclipse.papyrus.dd.dg.PaintServer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Paint</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PaintImpl#getColor <em>Color</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PaintImpl#getPaintServer <em>Paint
+ * Server</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PaintImpl extends MinimalEObjectImpl.Container implements Paint {
+ /**
+ * The default value of the '{@link #getColor() <em>Color</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected static final Color COLOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected Color color = COLOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPaintServer() <em>Paint Server</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPaintServer()
+ * @generated
+ * @ordered
+ */
+ protected PaintServer paintServer;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PaintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.PAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Color getColor() {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setColor(Color newColor) {
+ Color oldColor = color;
+ color = newColor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.PAINT__COLOR, oldColor, color));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PaintServer getPaintServer() {
+ if (paintServer != null && paintServer.eIsProxy()) {
+ InternalEObject oldPaintServer = (InternalEObject) paintServer;
+ paintServer = (PaintServer) eResolveProxy(oldPaintServer);
+ if (paintServer != oldPaintServer) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ DGPackage.PAINT__PAINT_SERVER, oldPaintServer,
+ paintServer));
+ }
+ }
+ return paintServer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PaintServer basicGetPaintServer() {
+ return paintServer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPaintServer(PaintServer newPaintServer) {
+ PaintServer oldPaintServer = paintServer;
+ paintServer = newPaintServer;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.PAINT__PAINT_SERVER, oldPaintServer, paintServer));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.PAINT__COLOR:
+ return getColor();
+ case DGPackage.PAINT__PAINT_SERVER:
+ if (resolve)
+ return getPaintServer();
+ return basicGetPaintServer();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.PAINT__COLOR:
+ setColor((Color) newValue);
+ return;
+ case DGPackage.PAINT__PAINT_SERVER:
+ setPaintServer((PaintServer) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.PAINT__COLOR:
+ setColor(COLOR_EDEFAULT);
+ return;
+ case DGPackage.PAINT__PAINT_SERVER:
+ setPaintServer((PaintServer) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.PAINT__COLOR:
+ return COLOR_EDEFAULT == null ? color != null : !COLOR_EDEFAULT
+ .equals(color);
+ case DGPackage.PAINT__PAINT_SERVER:
+ return paintServer != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (color: ");
+ result.append(color);
+ result.append(')');
+ return result.toString();
+ }
+
+} // PaintImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PaintServerImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PaintServerImpl.java
new file mode 100644
index 00000000000..cc76414e15e
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PaintServerImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.PaintServer;
+import org.eclipse.papyrus.dd.dg.Transform;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Paint Server</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PaintServerImpl#getTransform <em>
+ * Transform</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PaintServerImpl extends DefinitionImpl implements
+ PaintServer {
+ /**
+ * The cached value of the '{@link #getTransform() <em>Transform</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTransform()
+ * @generated
+ * @ordered
+ */
+ protected EList<Transform> transform;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PaintServerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.PAINT_SERVER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Transform> getTransform() {
+ if (transform == null) {
+ transform = new EObjectContainmentEList<Transform>(Transform.class,
+ this, DGPackage.PAINT_SERVER__TRANSFORM);
+ }
+ return transform;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.PAINT_SERVER__TRANSFORM:
+ return ((InternalEList<?>) getTransform()).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 DGPackage.PAINT_SERVER__TRANSFORM:
+ return getTransform();
+ }
+ 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 DGPackage.PAINT_SERVER__TRANSFORM:
+ getTransform().clear();
+ getTransform().addAll((Collection<? extends Transform>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.PAINT_SERVER__TRANSFORM:
+ getTransform().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.PAINT_SERVER__TRANSFORM:
+ return transform != null && !transform.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // PaintServerImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PathCommandImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PathCommandImpl.java
new file mode 100644
index 00000000000..59dea1b0308
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PathCommandImpl.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.PathCommand;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Path Command</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PathCommandImpl#isRelative <em>Is
+ * Relative</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PathCommandImpl extends MinimalEObjectImpl.Container
+ implements PathCommand {
+ /**
+ * The default value of the '{@link #isRelative() <em>Is Relative</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isRelative()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_RELATIVE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRelative() <em>Is Relative</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isRelative()
+ * @generated
+ * @ordered
+ */
+ protected boolean isRelative = IS_RELATIVE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PathCommandImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.PATH_COMMAND;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isRelative() {
+ return isRelative;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsRelative(boolean newIsRelative) {
+ boolean oldIsRelative = isRelative;
+ isRelative = newIsRelative;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.PATH_COMMAND__IS_RELATIVE, oldIsRelative,
+ isRelative));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.PATH_COMMAND__IS_RELATIVE:
+ return isRelative();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.PATH_COMMAND__IS_RELATIVE:
+ setIsRelative((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.PATH_COMMAND__IS_RELATIVE:
+ setIsRelative(IS_RELATIVE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.PATH_COMMAND__IS_RELATIVE:
+ return isRelative != IS_RELATIVE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isRelative: ");
+ result.append(isRelative);
+ result.append(')');
+ return result.toString();
+ }
+
+} // PathCommandImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PathImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PathImpl.java
new file mode 100644
index 00000000000..9d0e0d016eb
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PathImpl.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Path;
+import org.eclipse.papyrus.dd.dg.PathCommand;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Path</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PathImpl#getCommand <em>Command
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PathImpl extends MarkedElementImpl implements Path {
+ /**
+ * The cached value of the '{@link #getCommand() <em>Command</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCommand()
+ * @generated
+ * @ordered
+ */
+ protected EList<PathCommand> command;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PathImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.PATH;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<PathCommand> getCommand() {
+ if (command == null) {
+ command = new EObjectContainmentEList<PathCommand>(
+ PathCommand.class, this, DGPackage.PATH__COMMAND);
+ }
+ return command;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.PATH__COMMAND:
+ return ((InternalEList<?>) getCommand())
+ .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 DGPackage.PATH__COMMAND:
+ return getCommand();
+ }
+ 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 DGPackage.PATH__COMMAND:
+ getCommand().clear();
+ getCommand().addAll((Collection<? extends PathCommand>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.PATH__COMMAND:
+ getCommand().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.PATH__COMMAND:
+ return command != null && !command.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // PathImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PatternImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PatternImpl.java
new file mode 100644
index 00000000000..d1d7ed040ee
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PatternImpl.java
@@ -0,0 +1,274 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Bounds;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.GraphicalElement;
+import org.eclipse.papyrus.dd.dg.Pattern;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Pattern</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PatternImpl#getBounds <em>Bounds
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PatternImpl#getTile <em>Tile</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PatternImpl extends PaintServerImpl implements Pattern {
+ /**
+ * The cached value of the '{@link #getBounds() <em>Bounds</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBounds()
+ * @generated
+ * @ordered
+ */
+ protected Bounds bounds;
+
+ /**
+ * The cached value of the '{@link #getTile() <em>Tile</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTile()
+ * @generated
+ * @ordered
+ */
+ protected GraphicalElement tile;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PatternImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.PATTERN;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Bounds getBounds() {
+ return bounds;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBounds(Bounds newBounds,
+ NotificationChain msgs) {
+ Bounds oldBounds = bounds;
+ bounds = newBounds;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.PATTERN__BOUNDS, oldBounds,
+ newBounds);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBounds(Bounds newBounds) {
+ if (newBounds != bounds) {
+ NotificationChain msgs = null;
+ if (bounds != null)
+ msgs = ((InternalEObject) bounds).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.PATTERN__BOUNDS,
+ null, msgs);
+ if (newBounds != null)
+ msgs = ((InternalEObject) newBounds).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.PATTERN__BOUNDS,
+ null, msgs);
+ msgs = basicSetBounds(newBounds, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.PATTERN__BOUNDS, newBounds, newBounds));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public GraphicalElement getTile() {
+ return tile;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetTile(GraphicalElement newTile,
+ NotificationChain msgs) {
+ GraphicalElement oldTile = tile;
+ tile = newTile;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.PATTERN__TILE, oldTile, newTile);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTile(GraphicalElement newTile) {
+ if (newTile != tile) {
+ NotificationChain msgs = null;
+ if (tile != null)
+ msgs = ((InternalEObject) tile).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.PATTERN__TILE, null,
+ msgs);
+ if (newTile != null)
+ msgs = ((InternalEObject) newTile).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.PATTERN__TILE, null,
+ msgs);
+ msgs = basicSetTile(newTile, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.PATTERN__TILE, newTile, newTile));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.PATTERN__BOUNDS:
+ return basicSetBounds(null, msgs);
+ case DGPackage.PATTERN__TILE:
+ return basicSetTile(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 DGPackage.PATTERN__BOUNDS:
+ return getBounds();
+ case DGPackage.PATTERN__TILE:
+ return getTile();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.PATTERN__BOUNDS:
+ setBounds((Bounds) newValue);
+ return;
+ case DGPackage.PATTERN__TILE:
+ setTile((GraphicalElement) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.PATTERN__BOUNDS:
+ setBounds((Bounds) null);
+ return;
+ case DGPackage.PATTERN__TILE:
+ setTile((GraphicalElement) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.PATTERN__BOUNDS:
+ return bounds != null;
+ case DGPackage.PATTERN__TILE:
+ return tile != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // PatternImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PolygonImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PolygonImpl.java
new file mode 100644
index 00000000000..75c7fc15afb
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PolygonImpl.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Polygon;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Polygon</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PolygonImpl#getPoint <em>Point
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PolygonImpl extends MarkedElementImpl implements Polygon {
+ /**
+ * The cached value of the '{@link #getPoint() <em>Point</em>}' containment
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPoint()
+ * @generated
+ * @ordered
+ */
+ protected EList<Point> point;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PolygonImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.POLYGON;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Point> getPoint() {
+ if (point == null) {
+ point = new EObjectContainmentEList<Point>(Point.class, this,
+ DGPackage.POLYGON__POINT);
+ }
+ return point;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.POLYGON__POINT:
+ return ((InternalEList<?>) getPoint()).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 DGPackage.POLYGON__POINT:
+ return getPoint();
+ }
+ 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 DGPackage.POLYGON__POINT:
+ getPoint().clear();
+ getPoint().addAll((Collection<? extends Point>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.POLYGON__POINT:
+ getPoint().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.POLYGON__POINT:
+ return point != null && !point.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // PolygonImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PolylineImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PolylineImpl.java
new file mode 100644
index 00000000000..eafe33e43f9
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/PolylineImpl.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Polyline;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Polyline</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.PolylineImpl#getPoint <em>Point
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PolylineImpl extends MarkedElementImpl implements Polyline {
+ /**
+ * The cached value of the '{@link #getPoint() <em>Point</em>}' containment
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPoint()
+ * @generated
+ * @ordered
+ */
+ protected EList<Point> point;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PolylineImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.POLYLINE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Point> getPoint() {
+ if (point == null) {
+ point = new EObjectContainmentEList<Point>(Point.class, this,
+ DGPackage.POLYLINE__POINT);
+ }
+ return point;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.POLYLINE__POINT:
+ return ((InternalEList<?>) getPoint()).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 DGPackage.POLYLINE__POINT:
+ return getPoint();
+ }
+ 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 DGPackage.POLYLINE__POINT:
+ getPoint().clear();
+ getPoint().addAll((Collection<? extends Point>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.POLYLINE__POINT:
+ getPoint().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.POLYLINE__POINT:
+ return point != null && !point.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // PolylineImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/QuadraticCurveToImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/QuadraticCurveToImpl.java
new file mode 100644
index 00000000000..a571624d40c
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/QuadraticCurveToImpl.java
@@ -0,0 +1,281 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.QuadraticCurveTo;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Quadratic Curve To</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.QuadraticCurveToImpl#getPoint <em>
+ * Point</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.QuadraticCurveToImpl#getControl
+ * <em>Control</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QuadraticCurveToImpl extends PathCommandImpl implements
+ QuadraticCurveTo {
+ /**
+ * The cached value of the '{@link #getPoint() <em>Point</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPoint()
+ * @generated
+ * @ordered
+ */
+ protected Point point;
+
+ /**
+ * The cached value of the '{@link #getControl() <em>Control</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getControl()
+ * @generated
+ * @ordered
+ */
+ protected Point control;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected QuadraticCurveToImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.QUADRATIC_CURVE_TO;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getPoint() {
+ return point;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPoint(Point newPoint,
+ NotificationChain msgs) {
+ Point oldPoint = point;
+ point = newPoint;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.QUADRATIC_CURVE_TO__POINT,
+ oldPoint, newPoint);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPoint(Point newPoint) {
+ if (newPoint != point) {
+ NotificationChain msgs = null;
+ if (point != null)
+ msgs = ((InternalEObject) point).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.QUADRATIC_CURVE_TO__POINT, null,
+ msgs);
+ if (newPoint != null)
+ msgs = ((InternalEObject) newPoint).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.QUADRATIC_CURVE_TO__POINT, null,
+ msgs);
+ msgs = basicSetPoint(newPoint, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.QUADRATIC_CURVE_TO__POINT, newPoint, newPoint));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getControl() {
+ return control;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetControl(Point newControl,
+ NotificationChain msgs) {
+ Point oldControl = control;
+ control = newControl;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.QUADRATIC_CURVE_TO__CONTROL,
+ oldControl, newControl);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setControl(Point newControl) {
+ if (newControl != control) {
+ NotificationChain msgs = null;
+ if (control != null)
+ msgs = ((InternalEObject) control).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.QUADRATIC_CURVE_TO__CONTROL, null,
+ msgs);
+ if (newControl != null)
+ msgs = ((InternalEObject) newControl).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.QUADRATIC_CURVE_TO__CONTROL, null,
+ msgs);
+ msgs = basicSetControl(newControl, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.QUADRATIC_CURVE_TO__CONTROL, newControl,
+ newControl));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.QUADRATIC_CURVE_TO__POINT:
+ return basicSetPoint(null, msgs);
+ case DGPackage.QUADRATIC_CURVE_TO__CONTROL:
+ return basicSetControl(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 DGPackage.QUADRATIC_CURVE_TO__POINT:
+ return getPoint();
+ case DGPackage.QUADRATIC_CURVE_TO__CONTROL:
+ return getControl();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.QUADRATIC_CURVE_TO__POINT:
+ setPoint((Point) newValue);
+ return;
+ case DGPackage.QUADRATIC_CURVE_TO__CONTROL:
+ setControl((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.QUADRATIC_CURVE_TO__POINT:
+ setPoint((Point) null);
+ return;
+ case DGPackage.QUADRATIC_CURVE_TO__CONTROL:
+ setControl((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.QUADRATIC_CURVE_TO__POINT:
+ return point != null;
+ case DGPackage.QUADRATIC_CURVE_TO__CONTROL:
+ return control != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // QuadraticCurveToImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RadialGradientImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RadialGradientImpl.java
new file mode 100644
index 00000000000..bd9bf377c45
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RadialGradientImpl.java
@@ -0,0 +1,477 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+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.papyrus.dd.dc.Point;
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.RadialGradient;
+
+import org.eclipse.papyrus.dd.dg.util.DGValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Radial Gradient</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RadialGradientImpl#getCenter <em>
+ * Center</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RadialGradientImpl#getFocus <em>
+ * Focus</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RadialGradientImpl#getRadius <em>
+ * Radius</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RadialGradientImpl extends GradientImpl implements RadialGradient {
+ /**
+ * The cached value of the '{@link #getCenter() <em>Center</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCenter()
+ * @generated
+ * @ordered
+ */
+ protected Point center;
+
+ /**
+ * The cached value of the '{@link #getFocus() <em>Focus</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFocus()
+ * @generated
+ * @ordered
+ */
+ protected Point focus;
+
+ /**
+ * The default value of the '{@link #getRadius() <em>Radius</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRadius()
+ * @generated
+ * @ordered
+ */
+ protected static final double RADIUS_EDEFAULT = 0.5;
+
+ /**
+ * The cached value of the '{@link #getRadius() <em>Radius</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRadius()
+ * @generated
+ * @ordered
+ */
+ protected double radius = RADIUS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RadialGradientImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.RADIAL_GRADIENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getCenter() {
+ return center;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetCenter(Point newCenter,
+ NotificationChain msgs) {
+ Point oldCenter = center;
+ center = newCenter;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.RADIAL_GRADIENT__CENTER,
+ oldCenter, newCenter);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCenter(Point newCenter) {
+ if (newCenter != center) {
+ NotificationChain msgs = null;
+ if (center != null)
+ msgs = ((InternalEObject) center)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - DGPackage.RADIAL_GRADIENT__CENTER, null, msgs);
+ if (newCenter != null)
+ msgs = ((InternalEObject) newCenter)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - DGPackage.RADIAL_GRADIENT__CENTER, null, msgs);
+ msgs = basicSetCenter(newCenter, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.RADIAL_GRADIENT__CENTER, newCenter, newCenter));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getFocus() {
+ return focus;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetFocus(Point newFocus,
+ NotificationChain msgs) {
+ Point oldFocus = focus;
+ focus = newFocus;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.RADIAL_GRADIENT__FOCUS,
+ oldFocus, newFocus);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFocus(Point newFocus) {
+ if (newFocus != focus) {
+ NotificationChain msgs = null;
+ if (focus != null)
+ msgs = ((InternalEObject) focus).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.RADIAL_GRADIENT__FOCUS, null, msgs);
+ if (newFocus != null)
+ msgs = ((InternalEObject) newFocus).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.RADIAL_GRADIENT__FOCUS, null, msgs);
+ msgs = basicSetFocus(newFocus, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.RADIAL_GRADIENT__FOCUS, newFocus, newFocus));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getRadius() {
+ return radius;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRadius(double newRadius) {
+ double oldRadius = radius;
+ radius = newRadius;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.RADIAL_GRADIENT__RADIUS, oldRadius, radius));
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validCenterPoint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Center Point</em>}' invariant operation. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #validCenterPoint(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_CENTER_POINT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "centerX>=0 and centerX<=1 and centerY>=0 and centerY<=1";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validCenterPoint(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.RADIAL_GRADIENT,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.RADIAL_GRADIENT___VALID_CENTER_POINT__DIAGNOSTICCHAIN_MAP,
+ VALID_CENTER_POINT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.RADIAL_GRADIENT__VALID_CENTER_POINT);
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validFocusPoint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Focus Point</em>}' invariant operation. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #validFocusPoint(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_FOCUS_POINT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "focusX>=0 and focusX<=1 and focusY>=0 and focusY<=1";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validFocusPoint(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.RADIAL_GRADIENT,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.RADIAL_GRADIENT___VALID_FOCUS_POINT__DIAGNOSTICCHAIN_MAP,
+ VALID_FOCUS_POINT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.RADIAL_GRADIENT__VALID_FOCUS_POINT);
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validRadius(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Radius</em>}' invariant operation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #validRadius(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_RADIUS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "radius>=0 and radius<=1";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validRadius(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.RADIAL_GRADIENT,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.RADIAL_GRADIENT___VALID_RADIUS__DIAGNOSTICCHAIN_MAP,
+ VALID_RADIUS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.RADIAL_GRADIENT__VALID_RADIUS);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.RADIAL_GRADIENT__CENTER:
+ return basicSetCenter(null, msgs);
+ case DGPackage.RADIAL_GRADIENT__FOCUS:
+ return basicSetFocus(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 DGPackage.RADIAL_GRADIENT__CENTER:
+ return getCenter();
+ case DGPackage.RADIAL_GRADIENT__FOCUS:
+ return getFocus();
+ case DGPackage.RADIAL_GRADIENT__RADIUS:
+ return getRadius();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.RADIAL_GRADIENT__CENTER:
+ setCenter((Point) newValue);
+ return;
+ case DGPackage.RADIAL_GRADIENT__FOCUS:
+ setFocus((Point) newValue);
+ return;
+ case DGPackage.RADIAL_GRADIENT__RADIUS:
+ setRadius((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.RADIAL_GRADIENT__CENTER:
+ setCenter((Point) null);
+ return;
+ case DGPackage.RADIAL_GRADIENT__FOCUS:
+ setFocus((Point) null);
+ return;
+ case DGPackage.RADIAL_GRADIENT__RADIUS:
+ setRadius(RADIUS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.RADIAL_GRADIENT__CENTER:
+ return center != null;
+ case DGPackage.RADIAL_GRADIENT__FOCUS:
+ return focus != null;
+ case DGPackage.RADIAL_GRADIENT__RADIUS:
+ return radius != RADIUS_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case DGPackage.RADIAL_GRADIENT___VALID_CENTER_POINT__DIAGNOSTICCHAIN_MAP:
+ return validCenterPoint((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case DGPackage.RADIAL_GRADIENT___VALID_FOCUS_POINT__DIAGNOSTICCHAIN_MAP:
+ return validFocusPoint((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case DGPackage.RADIAL_GRADIENT___VALID_RADIUS__DIAGNOSTICCHAIN_MAP:
+ return validRadius((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (radius: ");
+ result.append(radius);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RadialGradientImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RectangleImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RectangleImpl.java
new file mode 100644
index 00000000000..55ea15b59f1
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RectangleImpl.java
@@ -0,0 +1,271 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Bounds;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Rectangle;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Rectangle</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RectangleImpl#getBounds <em>Bounds
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RectangleImpl#getCornerRadius <em>
+ * Corner Radius</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RectangleImpl extends GraphicalElementImpl implements Rectangle {
+ /**
+ * The cached value of the '{@link #getBounds() <em>Bounds</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBounds()
+ * @generated
+ * @ordered
+ */
+ protected Bounds bounds;
+
+ /**
+ * The default value of the '{@link #getCornerRadius()
+ * <em>Corner Radius</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getCornerRadius()
+ * @generated
+ * @ordered
+ */
+ protected static final double CORNER_RADIUS_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getCornerRadius()
+ * <em>Corner Radius</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getCornerRadius()
+ * @generated
+ * @ordered
+ */
+ protected double cornerRadius = CORNER_RADIUS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RectangleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.RECTANGLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Bounds getBounds() {
+ return bounds;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBounds(Bounds newBounds,
+ NotificationChain msgs) {
+ Bounds oldBounds = bounds;
+ bounds = newBounds;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.RECTANGLE__BOUNDS, oldBounds,
+ newBounds);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBounds(Bounds newBounds) {
+ if (newBounds != bounds) {
+ NotificationChain msgs = null;
+ if (bounds != null)
+ msgs = ((InternalEObject) bounds).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.RECTANGLE__BOUNDS,
+ null, msgs);
+ if (newBounds != null)
+ msgs = ((InternalEObject) newBounds).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.RECTANGLE__BOUNDS,
+ null, msgs);
+ msgs = basicSetBounds(newBounds, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.RECTANGLE__BOUNDS, newBounds, newBounds));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getCornerRadius() {
+ return cornerRadius;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCornerRadius(double newCornerRadius) {
+ double oldCornerRadius = cornerRadius;
+ cornerRadius = newCornerRadius;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.RECTANGLE__CORNER_RADIUS, oldCornerRadius,
+ cornerRadius));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.RECTANGLE__BOUNDS:
+ return basicSetBounds(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 DGPackage.RECTANGLE__BOUNDS:
+ return getBounds();
+ case DGPackage.RECTANGLE__CORNER_RADIUS:
+ return getCornerRadius();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.RECTANGLE__BOUNDS:
+ setBounds((Bounds) newValue);
+ return;
+ case DGPackage.RECTANGLE__CORNER_RADIUS:
+ setCornerRadius((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.RECTANGLE__BOUNDS:
+ setBounds((Bounds) null);
+ return;
+ case DGPackage.RECTANGLE__CORNER_RADIUS:
+ setCornerRadius(CORNER_RADIUS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.RECTANGLE__BOUNDS:
+ return bounds != null;
+ case DGPackage.RECTANGLE__CORNER_RADIUS:
+ return cornerRadius != CORNER_RADIUS_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (cornerRadius: ");
+ result.append(cornerRadius);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RectangleImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RootCanvasImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RootCanvasImpl.java
new file mode 100644
index 00000000000..e4e186fe50b
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RootCanvasImpl.java
@@ -0,0 +1,360 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import java.awt.Color;
+
+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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Definitions;
+import org.eclipse.papyrus.dd.dg.RootCanvas;
+import org.eclipse.papyrus.dd.dg.StyleSheet;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Root Canvas</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RootCanvasImpl#getBackgroundColor
+ * <em>Background Color</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RootCanvasImpl#getDefinitions <em>
+ * Definitions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RootCanvasImpl#getStyleSheet <em>
+ * Style Sheet</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RootCanvasImpl extends CanvasImpl implements RootCanvas {
+ /**
+ * The default value of the '{@link #getBackgroundColor()
+ * <em>Background Color</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getBackgroundColor()
+ * @generated
+ * @ordered
+ */
+ protected static final Color BACKGROUND_COLOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBackgroundColor()
+ * <em>Background Color</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getBackgroundColor()
+ * @generated
+ * @ordered
+ */
+ protected Color backgroundColor = BACKGROUND_COLOR_EDEFAULT;
+
+ /**
+ * This is true if the Background Color attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean backgroundColorESet;
+
+ /**
+ * The cached value of the '{@link #getDefinitions() <em>Definitions</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDefinitions()
+ * @generated
+ * @ordered
+ */
+ protected Definitions definitions;
+
+ /**
+ * The cached value of the '{@link #getStyleSheet() <em>Style Sheet</em>}'
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStyleSheet()
+ * @generated
+ * @ordered
+ */
+ protected EList<StyleSheet> styleSheet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RootCanvasImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.ROOT_CANVAS;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Color getBackgroundColor() {
+ return backgroundColor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBackgroundColor(Color newBackgroundColor) {
+ Color oldBackgroundColor = backgroundColor;
+ backgroundColor = newBackgroundColor;
+ boolean oldBackgroundColorESet = backgroundColorESet;
+ backgroundColorESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ROOT_CANVAS__BACKGROUND_COLOR,
+ oldBackgroundColor, backgroundColor,
+ !oldBackgroundColorESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetBackgroundColor() {
+ Color oldBackgroundColor = backgroundColor;
+ boolean oldBackgroundColorESet = backgroundColorESet;
+ backgroundColor = BACKGROUND_COLOR_EDEFAULT;
+ backgroundColorESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.ROOT_CANVAS__BACKGROUND_COLOR,
+ oldBackgroundColor, BACKGROUND_COLOR_EDEFAULT,
+ oldBackgroundColorESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetBackgroundColor() {
+ return backgroundColorESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Definitions getDefinitions() {
+ return definitions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDefinitions(Definitions newDefinitions,
+ NotificationChain msgs) {
+ Definitions oldDefinitions = definitions;
+ definitions = newDefinitions;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.ROOT_CANVAS__DEFINITIONS,
+ oldDefinitions, newDefinitions);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDefinitions(Definitions newDefinitions) {
+ if (newDefinitions != definitions) {
+ NotificationChain msgs = null;
+ if (definitions != null)
+ msgs = ((InternalEObject) definitions).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.ROOT_CANVAS__DEFINITIONS, null,
+ msgs);
+ if (newDefinitions != null)
+ msgs = ((InternalEObject) newDefinitions).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DGPackage.ROOT_CANVAS__DEFINITIONS, null,
+ msgs);
+ msgs = basicSetDefinitions(newDefinitions, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ROOT_CANVAS__DEFINITIONS, newDefinitions,
+ newDefinitions));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<StyleSheet> getStyleSheet() {
+ if (styleSheet == null) {
+ styleSheet = new EObjectResolvingEList<StyleSheet>(
+ StyleSheet.class, this, DGPackage.ROOT_CANVAS__STYLE_SHEET);
+ }
+ return styleSheet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.ROOT_CANVAS__DEFINITIONS:
+ return basicSetDefinitions(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 DGPackage.ROOT_CANVAS__BACKGROUND_COLOR:
+ return getBackgroundColor();
+ case DGPackage.ROOT_CANVAS__DEFINITIONS:
+ return getDefinitions();
+ case DGPackage.ROOT_CANVAS__STYLE_SHEET:
+ return getStyleSheet();
+ }
+ 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 DGPackage.ROOT_CANVAS__BACKGROUND_COLOR:
+ setBackgroundColor((Color) newValue);
+ return;
+ case DGPackage.ROOT_CANVAS__DEFINITIONS:
+ setDefinitions((Definitions) newValue);
+ return;
+ case DGPackage.ROOT_CANVAS__STYLE_SHEET:
+ getStyleSheet().clear();
+ getStyleSheet().addAll((Collection<? extends StyleSheet>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.ROOT_CANVAS__BACKGROUND_COLOR:
+ unsetBackgroundColor();
+ return;
+ case DGPackage.ROOT_CANVAS__DEFINITIONS:
+ setDefinitions((Definitions) null);
+ return;
+ case DGPackage.ROOT_CANVAS__STYLE_SHEET:
+ getStyleSheet().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.ROOT_CANVAS__BACKGROUND_COLOR:
+ return isSetBackgroundColor();
+ case DGPackage.ROOT_CANVAS__DEFINITIONS:
+ return definitions != null;
+ case DGPackage.ROOT_CANVAS__STYLE_SHEET:
+ return styleSheet != null && !styleSheet.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (backgroundColor: ");
+ if (backgroundColorESet)
+ result.append(backgroundColor);
+ else
+ result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} // RootCanvasImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RotateImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RotateImpl.java
new file mode 100644
index 00000000000..946a3c273a0
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/RotateImpl.java
@@ -0,0 +1,268 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Rotate;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Rotate</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RotateImpl#getAngle <em>Angle</em>}
+ * </li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.RotateImpl#getCenter <em>Center
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RotateImpl extends TransformImpl implements Rotate {
+ /**
+ * The default value of the '{@link #getAngle() <em>Angle</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAngle()
+ * @generated
+ * @ordered
+ */
+ protected static final double ANGLE_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getAngle() <em>Angle</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAngle()
+ * @generated
+ * @ordered
+ */
+ protected double angle = ANGLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCenter() <em>Center</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCenter()
+ * @generated
+ * @ordered
+ */
+ protected Point center;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RotateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.ROTATE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getAngle() {
+ return angle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAngle(double newAngle) {
+ double oldAngle = angle;
+ angle = newAngle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ROTATE__ANGLE, oldAngle, angle));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getCenter() {
+ return center;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetCenter(Point newCenter,
+ NotificationChain msgs) {
+ Point oldCenter = center;
+ center = newCenter;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.ROTATE__CENTER, oldCenter,
+ newCenter);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCenter(Point newCenter) {
+ if (newCenter != center) {
+ NotificationChain msgs = null;
+ if (center != null)
+ msgs = ((InternalEObject) center).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.ROTATE__CENTER,
+ null, msgs);
+ if (newCenter != null)
+ msgs = ((InternalEObject) newCenter).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.ROTATE__CENTER,
+ null, msgs);
+ msgs = basicSetCenter(newCenter, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.ROTATE__CENTER, newCenter, newCenter));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.ROTATE__CENTER:
+ return basicSetCenter(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 DGPackage.ROTATE__ANGLE:
+ return getAngle();
+ case DGPackage.ROTATE__CENTER:
+ return getCenter();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.ROTATE__ANGLE:
+ setAngle((Double) newValue);
+ return;
+ case DGPackage.ROTATE__CENTER:
+ setCenter((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.ROTATE__ANGLE:
+ setAngle(ANGLE_EDEFAULT);
+ return;
+ case DGPackage.ROTATE__CENTER:
+ setCenter((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.ROTATE__ANGLE:
+ return angle != ANGLE_EDEFAULT;
+ case DGPackage.ROTATE__CENTER:
+ return center != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (angle: ");
+ result.append(angle);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RotateImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ScaleImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ScaleImpl.java
new file mode 100644
index 00000000000..44e4068ef11
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/ScaleImpl.java
@@ -0,0 +1,289 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Scale;
+
+import org.eclipse.papyrus.dd.dg.util.DGValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Scale</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.ScaleImpl#getFactorX <em>Factor X
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.ScaleImpl#getFactorY <em>Factor Y
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ScaleImpl extends TransformImpl implements Scale {
+ /**
+ * The default value of the '{@link #getFactorX() <em>Factor X</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFactorX()
+ * @generated
+ * @ordered
+ */
+ protected static final double FACTOR_X_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getFactorX() <em>Factor X</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFactorX()
+ * @generated
+ * @ordered
+ */
+ protected double factorX = FACTOR_X_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFactorY() <em>Factor Y</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFactorY()
+ * @generated
+ * @ordered
+ */
+ protected static final double FACTOR_Y_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getFactorY() <em>Factor Y</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFactorY()
+ * @generated
+ * @ordered
+ */
+ protected double factorY = FACTOR_Y_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ScaleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.SCALE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getFactorX() {
+ return factorX;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFactorX(double newFactorX) {
+ double oldFactorX = factorX;
+ factorX = newFactorX;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.SCALE__FACTOR_X, oldFactorX, factorX));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getFactorY() {
+ return factorY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFactorY(double newFactorY) {
+ double oldFactorY = factorY;
+ factorY = newFactorY;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.SCALE__FACTOR_Y, oldFactorY, factorY));
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #nonnegativescale(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Nonnegativescale</em>}' invariant operation. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nonnegativescale(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NONNEGATIVESCALE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "factorX>=0 and factorY>=0";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nonnegativescale(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.SCALE,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.SCALE___NONNEGATIVESCALE__DIAGNOSTICCHAIN_MAP,
+ NONNEGATIVESCALE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.SCALE__NONNEGATIVESCALE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.SCALE__FACTOR_X:
+ return getFactorX();
+ case DGPackage.SCALE__FACTOR_Y:
+ return getFactorY();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.SCALE__FACTOR_X:
+ setFactorX((Double) newValue);
+ return;
+ case DGPackage.SCALE__FACTOR_Y:
+ setFactorY((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.SCALE__FACTOR_X:
+ setFactorX(FACTOR_X_EDEFAULT);
+ return;
+ case DGPackage.SCALE__FACTOR_Y:
+ setFactorY(FACTOR_Y_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.SCALE__FACTOR_X:
+ return factorX != FACTOR_X_EDEFAULT;
+ case DGPackage.SCALE__FACTOR_Y:
+ return factorY != FACTOR_Y_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case DGPackage.SCALE___NONNEGATIVESCALE__DIAGNOSTICCHAIN_MAP:
+ return nonnegativescale((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (factorX: ");
+ result.append(factorX);
+ result.append(", factorY: ");
+ result.append(factorY);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ScaleImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/SkewImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/SkewImpl.java
new file mode 100644
index 00000000000..7d7dd9ad90c
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/SkewImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Skew;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Skew</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.SkewImpl#getAngleX <em>Angle X
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.SkewImpl#getAngleY <em>Angle Y
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SkewImpl extends TransformImpl implements Skew {
+ /**
+ * The default value of the '{@link #getAngleX() <em>Angle X</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAngleX()
+ * @generated
+ * @ordered
+ */
+ protected static final double ANGLE_X_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getAngleX() <em>Angle X</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAngleX()
+ * @generated
+ * @ordered
+ */
+ protected double angleX = ANGLE_X_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAngleY() <em>Angle Y</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAngleY()
+ * @generated
+ * @ordered
+ */
+ protected static final double ANGLE_Y_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getAngleY() <em>Angle Y</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAngleY()
+ * @generated
+ * @ordered
+ */
+ protected double angleY = ANGLE_Y_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SkewImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.SKEW;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getAngleX() {
+ return angleX;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAngleX(double newAngleX) {
+ double oldAngleX = angleX;
+ angleX = newAngleX;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.SKEW__ANGLE_X, oldAngleX, angleX));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getAngleY() {
+ return angleY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAngleY(double newAngleY) {
+ double oldAngleY = angleY;
+ angleY = newAngleY;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.SKEW__ANGLE_Y, oldAngleY, angleY));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.SKEW__ANGLE_X:
+ return getAngleX();
+ case DGPackage.SKEW__ANGLE_Y:
+ return getAngleY();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.SKEW__ANGLE_X:
+ setAngleX((Double) newValue);
+ return;
+ case DGPackage.SKEW__ANGLE_Y:
+ setAngleY((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.SKEW__ANGLE_X:
+ setAngleX(ANGLE_X_EDEFAULT);
+ return;
+ case DGPackage.SKEW__ANGLE_Y:
+ setAngleY(ANGLE_Y_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.SKEW__ANGLE_X:
+ return angleX != ANGLE_X_EDEFAULT;
+ case DGPackage.SKEW__ANGLE_Y:
+ return angleY != ANGLE_Y_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (angleX: ");
+ result.append(angleX);
+ result.append(", angleY: ");
+ result.append(angleY);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SkewImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleImpl.java
new file mode 100644
index 00000000000..f1af7fb4886
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleImpl.java
@@ -0,0 +1,1469 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+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.EDataTypeEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.FontDecoration;
+import org.eclipse.papyrus.dd.dg.Paint;
+import org.eclipse.papyrus.dd.dg.Style;
+
+import org.eclipse.papyrus.dd.dg.util.DGValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Style</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getFill <em>Fill</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getFillOpacity <em>Fill
+ * Opacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getStroke <em>Stroke
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getStrokeWidth <em>Stroke
+ * Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getStrokeOpacity <em>
+ * Stroke Opacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getStrokeDashLength <em>
+ * Stroke Dash Length</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getFontSize <em>Font Size
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getFontName <em>Font Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#isFontItalic <em>Font
+ * Italic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#isFontBold <em>Font Bold
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleImpl#getFontDecoration <em>
+ * Font Decoration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StyleImpl extends MinimalEObjectImpl.Container implements Style {
+ /**
+ * The cached value of the '{@link #getFill() <em>Fill</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFill()
+ * @generated
+ * @ordered
+ */
+ protected Paint fill;
+
+ /**
+ * This is true if the Fill containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean fillESet;
+
+ /**
+ * The default value of the '{@link #getFillOpacity() <em>Fill Opacity</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFillOpacity()
+ * @generated
+ * @ordered
+ */
+ protected static final double FILL_OPACITY_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getFillOpacity() <em>Fill Opacity</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFillOpacity()
+ * @generated
+ * @ordered
+ */
+ protected double fillOpacity = FILL_OPACITY_EDEFAULT;
+
+ /**
+ * This is true if the Fill Opacity attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean fillOpacityESet;
+
+ /**
+ * The cached value of the '{@link #getStroke() <em>Stroke</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStroke()
+ * @generated
+ * @ordered
+ */
+ protected Paint stroke;
+
+ /**
+ * This is true if the Stroke containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean strokeESet;
+
+ /**
+ * The default value of the '{@link #getStrokeWidth() <em>Stroke Width</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStrokeWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final double STROKE_WIDTH_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getStrokeWidth() <em>Stroke Width</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStrokeWidth()
+ * @generated
+ * @ordered
+ */
+ protected double strokeWidth = STROKE_WIDTH_EDEFAULT;
+
+ /**
+ * This is true if the Stroke Width attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean strokeWidthESet;
+
+ /**
+ * The default value of the '{@link #getStrokeOpacity()
+ * <em>Stroke Opacity</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStrokeOpacity()
+ * @generated
+ * @ordered
+ */
+ protected static final double STROKE_OPACITY_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getStrokeOpacity()
+ * <em>Stroke Opacity</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getStrokeOpacity()
+ * @generated
+ * @ordered
+ */
+ protected double strokeOpacity = STROKE_OPACITY_EDEFAULT;
+
+ /**
+ * This is true if the Stroke Opacity attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean strokeOpacityESet;
+
+ /**
+ * The cached value of the '{@link #getStrokeDashLength()
+ * <em>Stroke Dash Length</em>}' attribute list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getStrokeDashLength()
+ * @generated
+ * @ordered
+ */
+ protected EList<Double> strokeDashLength;
+
+ /**
+ * The default value of the '{@link #getFontSize() <em>Font Size</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFontSize()
+ * @generated
+ * @ordered
+ */
+ protected static final double FONT_SIZE_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getFontSize() <em>Font Size</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFontSize()
+ * @generated
+ * @ordered
+ */
+ protected double fontSize = FONT_SIZE_EDEFAULT;
+
+ /**
+ * This is true if the Font Size attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean fontSizeESet;
+
+ /**
+ * The default value of the '{@link #getFontName() <em>Font Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFontName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FONT_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFontName() <em>Font Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFontName()
+ * @generated
+ * @ordered
+ */
+ protected String fontName = FONT_NAME_EDEFAULT;
+
+ /**
+ * This is true if the Font Name attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean fontNameESet;
+
+ /**
+ * The default value of the '{@link #isFontItalic() <em>Font Italic</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isFontItalic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean FONT_ITALIC_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isFontItalic() <em>Font Italic</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isFontItalic()
+ * @generated
+ * @ordered
+ */
+ protected boolean fontItalic = FONT_ITALIC_EDEFAULT;
+
+ /**
+ * This is true if the Font Italic attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean fontItalicESet;
+
+ /**
+ * The default value of the '{@link #isFontBold() <em>Font Bold</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isFontBold()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean FONT_BOLD_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isFontBold() <em>Font Bold</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isFontBold()
+ * @generated
+ * @ordered
+ */
+ protected boolean fontBold = FONT_BOLD_EDEFAULT;
+
+ /**
+ * This is true if the Font Bold attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean fontBoldESet;
+
+ /**
+ * The default value of the '{@link #getFontDecoration()
+ * <em>Font Decoration</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getFontDecoration()
+ * @generated
+ * @ordered
+ */
+ protected static final FontDecoration FONT_DECORATION_EDEFAULT = FontDecoration.UNDERLINE;
+
+ /**
+ * The cached value of the '{@link #getFontDecoration()
+ * <em>Font Decoration</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getFontDecoration()
+ * @generated
+ * @ordered
+ */
+ protected FontDecoration fontDecoration = FONT_DECORATION_EDEFAULT;
+
+ /**
+ * This is true if the Font Decoration attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean fontDecorationESet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Paint getFill() {
+ return fill;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetFill(Paint newFill, NotificationChain msgs) {
+ Paint oldFill = fill;
+ fill = newFill;
+ boolean oldFillESet = fillESet;
+ fillESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.STYLE__FILL, oldFill, newFill,
+ !oldFillESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFill(Paint newFill) {
+ if (newFill != fill) {
+ NotificationChain msgs = null;
+ if (fill != null)
+ msgs = ((InternalEObject) fill).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.STYLE__FILL, null,
+ msgs);
+ if (newFill != null)
+ msgs = ((InternalEObject) newFill).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.STYLE__FILL, null,
+ msgs);
+ msgs = basicSetFill(newFill, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldFillESet = fillESet;
+ fillESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__FILL, newFill, newFill, !oldFillESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetFill(NotificationChain msgs) {
+ Paint oldFill = fill;
+ fill = null;
+ boolean oldFillESet = fillESet;
+ fillESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, DGPackage.STYLE__FILL, oldFill, null,
+ oldFillESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFill() {
+ if (fill != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) fill).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.STYLE__FILL, null, msgs);
+ msgs = basicUnsetFill(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldFillESet = fillESet;
+ fillESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__FILL, null, null, oldFillESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFill() {
+ return fillESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getFillOpacity() {
+ return fillOpacity;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFillOpacity(double newFillOpacity) {
+ double oldFillOpacity = fillOpacity;
+ fillOpacity = newFillOpacity;
+ boolean oldFillOpacityESet = fillOpacityESet;
+ fillOpacityESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__FILL_OPACITY, oldFillOpacity, fillOpacity,
+ !oldFillOpacityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFillOpacity() {
+ double oldFillOpacity = fillOpacity;
+ boolean oldFillOpacityESet = fillOpacityESet;
+ fillOpacity = FILL_OPACITY_EDEFAULT;
+ fillOpacityESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__FILL_OPACITY, oldFillOpacity,
+ FILL_OPACITY_EDEFAULT, oldFillOpacityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFillOpacity() {
+ return fillOpacityESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Paint getStroke() {
+ return stroke;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStroke(Paint newStroke,
+ NotificationChain msgs) {
+ Paint oldStroke = stroke;
+ stroke = newStroke;
+ boolean oldStrokeESet = strokeESet;
+ strokeESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.STYLE__STROKE, oldStroke,
+ newStroke, !oldStrokeESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStroke(Paint newStroke) {
+ if (newStroke != stroke) {
+ NotificationChain msgs = null;
+ if (stroke != null)
+ msgs = ((InternalEObject) stroke).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.STYLE__STROKE, null,
+ msgs);
+ if (newStroke != null)
+ msgs = ((InternalEObject) newStroke).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.STYLE__STROKE, null,
+ msgs);
+ msgs = basicSetStroke(newStroke, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldStrokeESet = strokeESet;
+ strokeESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__STROKE, newStroke, newStroke,
+ !oldStrokeESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetStroke(NotificationChain msgs) {
+ Paint oldStroke = stroke;
+ stroke = null;
+ boolean oldStrokeESet = strokeESet;
+ strokeESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, DGPackage.STYLE__STROKE, oldStroke,
+ null, oldStrokeESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetStroke() {
+ if (stroke != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) stroke).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.STYLE__STROKE, null,
+ msgs);
+ msgs = basicUnsetStroke(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldStrokeESet = strokeESet;
+ strokeESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__STROKE, null, null, oldStrokeESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetStroke() {
+ return strokeESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getStrokeWidth() {
+ return strokeWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStrokeWidth(double newStrokeWidth) {
+ double oldStrokeWidth = strokeWidth;
+ strokeWidth = newStrokeWidth;
+ boolean oldStrokeWidthESet = strokeWidthESet;
+ strokeWidthESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__STROKE_WIDTH, oldStrokeWidth, strokeWidth,
+ !oldStrokeWidthESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetStrokeWidth() {
+ double oldStrokeWidth = strokeWidth;
+ boolean oldStrokeWidthESet = strokeWidthESet;
+ strokeWidth = STROKE_WIDTH_EDEFAULT;
+ strokeWidthESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__STROKE_WIDTH, oldStrokeWidth,
+ STROKE_WIDTH_EDEFAULT, oldStrokeWidthESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetStrokeWidth() {
+ return strokeWidthESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getStrokeOpacity() {
+ return strokeOpacity;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStrokeOpacity(double newStrokeOpacity) {
+ double oldStrokeOpacity = strokeOpacity;
+ strokeOpacity = newStrokeOpacity;
+ boolean oldStrokeOpacityESet = strokeOpacityESet;
+ strokeOpacityESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__STROKE_OPACITY, oldStrokeOpacity,
+ strokeOpacity, !oldStrokeOpacityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetStrokeOpacity() {
+ double oldStrokeOpacity = strokeOpacity;
+ boolean oldStrokeOpacityESet = strokeOpacityESet;
+ strokeOpacity = STROKE_OPACITY_EDEFAULT;
+ strokeOpacityESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__STROKE_OPACITY, oldStrokeOpacity,
+ STROKE_OPACITY_EDEFAULT, oldStrokeOpacityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetStrokeOpacity() {
+ return strokeOpacityESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Double> getStrokeDashLength() {
+ if (strokeDashLength == null) {
+ strokeDashLength = new EDataTypeEList.Unsettable<Double>(
+ Double.class, this, DGPackage.STYLE__STROKE_DASH_LENGTH);
+ }
+ return strokeDashLength;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetStrokeDashLength() {
+ if (strokeDashLength != null)
+ ((InternalEList.Unsettable<?>) strokeDashLength).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetStrokeDashLength() {
+ return strokeDashLength != null
+ && ((InternalEList.Unsettable<?>) strokeDashLength).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getFontSize() {
+ return fontSize;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFontSize(double newFontSize) {
+ double oldFontSize = fontSize;
+ fontSize = newFontSize;
+ boolean oldFontSizeESet = fontSizeESet;
+ fontSizeESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__FONT_SIZE, oldFontSize, fontSize,
+ !oldFontSizeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFontSize() {
+ double oldFontSize = fontSize;
+ boolean oldFontSizeESet = fontSizeESet;
+ fontSize = FONT_SIZE_EDEFAULT;
+ fontSizeESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__FONT_SIZE, oldFontSize,
+ FONT_SIZE_EDEFAULT, oldFontSizeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFontSize() {
+ return fontSizeESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getFontName() {
+ return fontName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFontName(String newFontName) {
+ String oldFontName = fontName;
+ fontName = newFontName;
+ boolean oldFontNameESet = fontNameESet;
+ fontNameESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__FONT_NAME, oldFontName, fontName,
+ !oldFontNameESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFontName() {
+ String oldFontName = fontName;
+ boolean oldFontNameESet = fontNameESet;
+ fontName = FONT_NAME_EDEFAULT;
+ fontNameESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__FONT_NAME, oldFontName,
+ FONT_NAME_EDEFAULT, oldFontNameESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFontName() {
+ return fontNameESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFontItalic() {
+ return fontItalic;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFontItalic(boolean newFontItalic) {
+ boolean oldFontItalic = fontItalic;
+ fontItalic = newFontItalic;
+ boolean oldFontItalicESet = fontItalicESet;
+ fontItalicESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__FONT_ITALIC, oldFontItalic, fontItalic,
+ !oldFontItalicESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFontItalic() {
+ boolean oldFontItalic = fontItalic;
+ boolean oldFontItalicESet = fontItalicESet;
+ fontItalic = FONT_ITALIC_EDEFAULT;
+ fontItalicESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__FONT_ITALIC, oldFontItalic,
+ FONT_ITALIC_EDEFAULT, oldFontItalicESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFontItalic() {
+ return fontItalicESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFontBold() {
+ return fontBold;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFontBold(boolean newFontBold) {
+ boolean oldFontBold = fontBold;
+ fontBold = newFontBold;
+ boolean oldFontBoldESet = fontBoldESet;
+ fontBoldESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__FONT_BOLD, oldFontBold, fontBold,
+ !oldFontBoldESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFontBold() {
+ boolean oldFontBold = fontBold;
+ boolean oldFontBoldESet = fontBoldESet;
+ fontBold = FONT_BOLD_EDEFAULT;
+ fontBoldESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__FONT_BOLD, oldFontBold,
+ FONT_BOLD_EDEFAULT, oldFontBoldESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFontBold() {
+ return fontBoldESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FontDecoration getFontDecoration() {
+ return fontDecoration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFontDecoration(FontDecoration newFontDecoration) {
+ FontDecoration oldFontDecoration = fontDecoration;
+ fontDecoration = newFontDecoration == null ? FONT_DECORATION_EDEFAULT
+ : newFontDecoration;
+ boolean oldFontDecorationESet = fontDecorationESet;
+ fontDecorationESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE__FONT_DECORATION, oldFontDecoration,
+ fontDecoration, !oldFontDecorationESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFontDecoration() {
+ FontDecoration oldFontDecoration = fontDecoration;
+ boolean oldFontDecorationESet = fontDecorationESet;
+ fontDecoration = FONT_DECORATION_EDEFAULT;
+ fontDecorationESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ DGPackage.STYLE__FONT_DECORATION, oldFontDecoration,
+ FONT_DECORATION_EDEFAULT, oldFontDecorationESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFontDecoration() {
+ return fontDecorationESet;
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validFontSize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Font Size</em>}' invariant operation. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #validFontSize(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_FONT_SIZE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "fontSize >= 0";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validFontSize(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.STYLE,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.STYLE___VALID_FONT_SIZE__DIAGNOSTICCHAIN_MAP,
+ VALID_FONT_SIZE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.STYLE__VALID_FONT_SIZE);
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validFillOpacity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Fill Opacity</em>}' invariant operation. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #validFillOpacity(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_FILL_OPACITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "fillOpacity >= 0 and fillOpacity <=1";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validFillOpacity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.STYLE,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.STYLE___VALID_FILL_OPACITY__DIAGNOSTICCHAIN_MAP,
+ VALID_FILL_OPACITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.STYLE__VALID_FILL_OPACITY);
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validStrokeWidth(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Stroke Width</em>}' invariant operation. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #validStrokeWidth(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_STROKE_WIDTH_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "strokeWidth >= 0";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validStrokeWidth(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.STYLE,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.STYLE___VALID_STROKE_WIDTH__DIAGNOSTICCHAIN_MAP,
+ VALID_STROKE_WIDTH_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.STYLE__VALID_STROKE_WIDTH);
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validDashLengthSize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Dash Length Size</em>}' invariant operation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #validDashLengthSize(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_DASH_LENGTH_SIZE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "strokeDashLength->size().mod(2) = 0";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validDashLengthSize(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.STYLE,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.STYLE___VALID_DASH_LENGTH_SIZE__DIAGNOSTICCHAIN_MAP,
+ VALID_DASH_LENGTH_SIZE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.STYLE__VALID_DASH_LENGTH_SIZE);
+ }
+
+ /**
+ * The cached validation expression for the '
+ * {@link #validStrokeOpacity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Valid Stroke Opacity</em>}' invariant operation. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #validStrokeOpacity(org.eclipse.emf.common.util.DiagnosticChain,
+ * java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_STROKE_OPACITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "strokeOpacity >= 0 and strokeOpacity <=1";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validStrokeOpacity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DGValidator
+ .validate(
+ DGPackage.Literals.STYLE,
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL",
+ DGPackage.Literals.STYLE___VALID_STROKE_OPACITY__DIAGNOSTICCHAIN_MAP,
+ VALID_STROKE_OPACITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR, DGValidator.DIAGNOSTIC_SOURCE,
+ DGValidator.STYLE__VALID_STROKE_OPACITY);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.STYLE__FILL:
+ return basicUnsetFill(msgs);
+ case DGPackage.STYLE__STROKE:
+ return basicUnsetStroke(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 DGPackage.STYLE__FILL:
+ return getFill();
+ case DGPackage.STYLE__FILL_OPACITY:
+ return getFillOpacity();
+ case DGPackage.STYLE__STROKE:
+ return getStroke();
+ case DGPackage.STYLE__STROKE_WIDTH:
+ return getStrokeWidth();
+ case DGPackage.STYLE__STROKE_OPACITY:
+ return getStrokeOpacity();
+ case DGPackage.STYLE__STROKE_DASH_LENGTH:
+ return getStrokeDashLength();
+ case DGPackage.STYLE__FONT_SIZE:
+ return getFontSize();
+ case DGPackage.STYLE__FONT_NAME:
+ return getFontName();
+ case DGPackage.STYLE__FONT_ITALIC:
+ return isFontItalic();
+ case DGPackage.STYLE__FONT_BOLD:
+ return isFontBold();
+ case DGPackage.STYLE__FONT_DECORATION:
+ return getFontDecoration();
+ }
+ 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 DGPackage.STYLE__FILL:
+ setFill((Paint) newValue);
+ return;
+ case DGPackage.STYLE__FILL_OPACITY:
+ setFillOpacity((Double) newValue);
+ return;
+ case DGPackage.STYLE__STROKE:
+ setStroke((Paint) newValue);
+ return;
+ case DGPackage.STYLE__STROKE_WIDTH:
+ setStrokeWidth((Double) newValue);
+ return;
+ case DGPackage.STYLE__STROKE_OPACITY:
+ setStrokeOpacity((Double) newValue);
+ return;
+ case DGPackage.STYLE__STROKE_DASH_LENGTH:
+ getStrokeDashLength().clear();
+ getStrokeDashLength().addAll(
+ (Collection<? extends Double>) newValue);
+ return;
+ case DGPackage.STYLE__FONT_SIZE:
+ setFontSize((Double) newValue);
+ return;
+ case DGPackage.STYLE__FONT_NAME:
+ setFontName((String) newValue);
+ return;
+ case DGPackage.STYLE__FONT_ITALIC:
+ setFontItalic((Boolean) newValue);
+ return;
+ case DGPackage.STYLE__FONT_BOLD:
+ setFontBold((Boolean) newValue);
+ return;
+ case DGPackage.STYLE__FONT_DECORATION:
+ setFontDecoration((FontDecoration) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.STYLE__FILL:
+ unsetFill();
+ return;
+ case DGPackage.STYLE__FILL_OPACITY:
+ unsetFillOpacity();
+ return;
+ case DGPackage.STYLE__STROKE:
+ unsetStroke();
+ return;
+ case DGPackage.STYLE__STROKE_WIDTH:
+ unsetStrokeWidth();
+ return;
+ case DGPackage.STYLE__STROKE_OPACITY:
+ unsetStrokeOpacity();
+ return;
+ case DGPackage.STYLE__STROKE_DASH_LENGTH:
+ unsetStrokeDashLength();
+ return;
+ case DGPackage.STYLE__FONT_SIZE:
+ unsetFontSize();
+ return;
+ case DGPackage.STYLE__FONT_NAME:
+ unsetFontName();
+ return;
+ case DGPackage.STYLE__FONT_ITALIC:
+ unsetFontItalic();
+ return;
+ case DGPackage.STYLE__FONT_BOLD:
+ unsetFontBold();
+ return;
+ case DGPackage.STYLE__FONT_DECORATION:
+ unsetFontDecoration();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.STYLE__FILL:
+ return isSetFill();
+ case DGPackage.STYLE__FILL_OPACITY:
+ return isSetFillOpacity();
+ case DGPackage.STYLE__STROKE:
+ return isSetStroke();
+ case DGPackage.STYLE__STROKE_WIDTH:
+ return isSetStrokeWidth();
+ case DGPackage.STYLE__STROKE_OPACITY:
+ return isSetStrokeOpacity();
+ case DGPackage.STYLE__STROKE_DASH_LENGTH:
+ return isSetStrokeDashLength();
+ case DGPackage.STYLE__FONT_SIZE:
+ return isSetFontSize();
+ case DGPackage.STYLE__FONT_NAME:
+ return isSetFontName();
+ case DGPackage.STYLE__FONT_ITALIC:
+ return isSetFontItalic();
+ case DGPackage.STYLE__FONT_BOLD:
+ return isSetFontBold();
+ case DGPackage.STYLE__FONT_DECORATION:
+ return isSetFontDecoration();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case DGPackage.STYLE___VALID_FONT_SIZE__DIAGNOSTICCHAIN_MAP:
+ return validFontSize((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case DGPackage.STYLE___VALID_FILL_OPACITY__DIAGNOSTICCHAIN_MAP:
+ return validFillOpacity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case DGPackage.STYLE___VALID_STROKE_WIDTH__DIAGNOSTICCHAIN_MAP:
+ return validStrokeWidth((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case DGPackage.STYLE___VALID_DASH_LENGTH_SIZE__DIAGNOSTICCHAIN_MAP:
+ return validDashLengthSize((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case DGPackage.STYLE___VALID_STROKE_OPACITY__DIAGNOSTICCHAIN_MAP:
+ return validStrokeOpacity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (fillOpacity: ");
+ if (fillOpacityESet)
+ result.append(fillOpacity);
+ else
+ result.append("<unset>");
+ result.append(", strokeWidth: ");
+ if (strokeWidthESet)
+ result.append(strokeWidth);
+ else
+ result.append("<unset>");
+ result.append(", strokeOpacity: ");
+ if (strokeOpacityESet)
+ result.append(strokeOpacity);
+ else
+ result.append("<unset>");
+ result.append(", strokeDashLength: ");
+ result.append(strokeDashLength);
+ result.append(", fontSize: ");
+ if (fontSizeESet)
+ result.append(fontSize);
+ else
+ result.append("<unset>");
+ result.append(", fontName: ");
+ if (fontNameESet)
+ result.append(fontName);
+ else
+ result.append("<unset>");
+ result.append(", fontItalic: ");
+ if (fontItalicESet)
+ result.append(fontItalic);
+ else
+ result.append("<unset>");
+ result.append(", fontBold: ");
+ if (fontBoldESet)
+ result.append(fontBold);
+ else
+ result.append("<unset>");
+ result.append(", fontDecoration: ");
+ if (fontDecorationESet)
+ result.append(fontDecoration);
+ else
+ result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} // StyleImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleRuleImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleRuleImpl.java
new file mode 100644
index 00000000000..fcaf7b55358
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleRuleImpl.java
@@ -0,0 +1,247 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Style;
+import org.eclipse.papyrus.dd.dg.StyleRule;
+import org.eclipse.papyrus.dd.dg.StyleSelector;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Style Rule</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleRuleImpl#getSelector <em>
+ * Selector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleRuleImpl#getStyle <em>Style
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StyleRuleImpl extends MinimalEObjectImpl.Container implements
+ StyleRule {
+ /**
+ * The cached value of the '{@link #getSelector() <em>Selector</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSelector()
+ * @generated
+ * @ordered
+ */
+ protected EList<StyleSelector> selector;
+
+ /**
+ * The cached value of the '{@link #getStyle() <em>Style</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStyle()
+ * @generated
+ * @ordered
+ */
+ protected Style style;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StyleRuleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.STYLE_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<StyleSelector> getSelector() {
+ if (selector == null) {
+ selector = new EObjectContainmentEList<StyleSelector>(
+ StyleSelector.class, this, DGPackage.STYLE_RULE__SELECTOR);
+ }
+ return selector;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Style getStyle() {
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetStyle(Style newStyle,
+ NotificationChain msgs) {
+ Style oldStyle = style;
+ style = newStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.STYLE_RULE__STYLE, oldStyle,
+ newStyle);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStyle(Style newStyle) {
+ if (newStyle != style) {
+ NotificationChain msgs = null;
+ if (style != null)
+ msgs = ((InternalEObject) style).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.STYLE_RULE__STYLE,
+ null, msgs);
+ if (newStyle != null)
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.STYLE_RULE__STYLE,
+ null, msgs);
+ msgs = basicSetStyle(newStyle, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE_RULE__STYLE, newStyle, newStyle));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.STYLE_RULE__SELECTOR:
+ return ((InternalEList<?>) getSelector()).basicRemove(otherEnd,
+ msgs);
+ case DGPackage.STYLE_RULE__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 DGPackage.STYLE_RULE__SELECTOR:
+ return getSelector();
+ case DGPackage.STYLE_RULE__STYLE:
+ return getStyle();
+ }
+ 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 DGPackage.STYLE_RULE__SELECTOR:
+ getSelector().clear();
+ getSelector()
+ .addAll((Collection<? extends StyleSelector>) newValue);
+ return;
+ case DGPackage.STYLE_RULE__STYLE:
+ setStyle((Style) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.STYLE_RULE__SELECTOR:
+ getSelector().clear();
+ return;
+ case DGPackage.STYLE_RULE__STYLE:
+ setStyle((Style) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.STYLE_RULE__SELECTOR:
+ return selector != null && !selector.isEmpty();
+ case DGPackage.STYLE_RULE__STYLE:
+ return style != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // StyleRuleImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleSelectorImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleSelectorImpl.java
new file mode 100644
index 00000000000..06718d4144f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleSelectorImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.StyleSelector;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Style Selector</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleSelectorImpl#getType <em>Type
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleSelectorImpl#getKeyword <em>
+ * Keyword</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StyleSelectorImpl extends MinimalEObjectImpl.Container implements
+ StyleSelector {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected EClass type;
+
+ /**
+ * The cached value of the '{@link #getKeyword() <em>Keyword</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getKeyword()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> keyword;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StyleSelectorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.STYLE_SELECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject) type;
+ type = (EClass) eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ DGPackage.STYLE_SELECTOR__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setType(EClass newType) {
+ EClass oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.STYLE_SELECTOR__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getKeyword() {
+ if (keyword == null) {
+ keyword = new EDataTypeUniqueEList<String>(String.class, this,
+ DGPackage.STYLE_SELECTOR__KEYWORD);
+ }
+ return keyword;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.STYLE_SELECTOR__TYPE:
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case DGPackage.STYLE_SELECTOR__KEYWORD:
+ return getKeyword();
+ }
+ 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 DGPackage.STYLE_SELECTOR__TYPE:
+ setType((EClass) newValue);
+ return;
+ case DGPackage.STYLE_SELECTOR__KEYWORD:
+ getKeyword().clear();
+ getKeyword().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.STYLE_SELECTOR__TYPE:
+ setType((EClass) null);
+ return;
+ case DGPackage.STYLE_SELECTOR__KEYWORD:
+ getKeyword().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.STYLE_SELECTOR__TYPE:
+ return type != null;
+ case DGPackage.STYLE_SELECTOR__KEYWORD:
+ return keyword != null && !keyword.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (keyword: ");
+ result.append(keyword);
+ result.append(')');
+ return result.toString();
+ }
+
+} // StyleSelectorImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleSheetImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleSheetImpl.java
new file mode 100644
index 00000000000..85edc7776cf
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/StyleSheetImpl.java
@@ -0,0 +1,164 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.StyleRule;
+import org.eclipse.papyrus.dd.dg.StyleSheet;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Style Sheet</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.StyleSheetImpl#getRule <em>Rule
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StyleSheetImpl extends MinimalEObjectImpl.Container implements
+ StyleSheet {
+ /**
+ * The cached value of the '{@link #getRule() <em>Rule</em>}' containment
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRule()
+ * @generated
+ * @ordered
+ */
+ protected EList<StyleRule> rule;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StyleSheetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.STYLE_SHEET;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<StyleRule> getRule() {
+ if (rule == null) {
+ rule = new EObjectContainmentEList<StyleRule>(StyleRule.class,
+ this, DGPackage.STYLE_SHEET__RULE);
+ }
+ return rule;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.STYLE_SHEET__RULE:
+ return ((InternalEList<?>) getRule()).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 DGPackage.STYLE_SHEET__RULE:
+ return getRule();
+ }
+ 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 DGPackage.STYLE_SHEET__RULE:
+ getRule().clear();
+ getRule().addAll((Collection<? extends StyleRule>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.STYLE_SHEET__RULE:
+ getRule().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.STYLE_SHEET__RULE:
+ return rule != null && !rule.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // StyleSheetImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TextImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TextImpl.java
new file mode 100644
index 00000000000..3032385cd47
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TextImpl.java
@@ -0,0 +1,268 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Text;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Text</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.TextImpl#getData <em>Data</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.TextImpl#getPosition <em>Position
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TextImpl extends GraphicalElementImpl implements Text {
+ /**
+ * The default value of the '{@link #getData() <em>Data</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getData()
+ * @generated
+ * @ordered
+ */
+ protected static final String DATA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getData() <em>Data</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getData()
+ * @generated
+ * @ordered
+ */
+ protected String data = DATA_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPosition() <em>Position</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPosition()
+ * @generated
+ * @ordered
+ */
+ protected Point position;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TextImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.TEXT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getData() {
+ return data;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setData(String newData) {
+ String oldData = data;
+ data = newData;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.TEXT__DATA, oldData, data));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Point getPosition() {
+ return position;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPosition(Point newPosition,
+ NotificationChain msgs) {
+ Point oldPosition = position;
+ position = newPosition;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.TEXT__POSITION, oldPosition,
+ newPosition);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPosition(Point newPosition) {
+ if (newPosition != position) {
+ NotificationChain msgs = null;
+ if (position != null)
+ msgs = ((InternalEObject) position).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.TEXT__POSITION,
+ null, msgs);
+ if (newPosition != null)
+ msgs = ((InternalEObject) newPosition).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.TEXT__POSITION,
+ null, msgs);
+ msgs = basicSetPosition(newPosition, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.TEXT__POSITION, newPosition, newPosition));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.TEXT__POSITION:
+ return basicSetPosition(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 DGPackage.TEXT__DATA:
+ return getData();
+ case DGPackage.TEXT__POSITION:
+ return getPosition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.TEXT__DATA:
+ setData((String) newValue);
+ return;
+ case DGPackage.TEXT__POSITION:
+ setPosition((Point) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.TEXT__DATA:
+ setData(DATA_EDEFAULT);
+ return;
+ case DGPackage.TEXT__POSITION:
+ setPosition((Point) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.TEXT__DATA:
+ return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT
+ .equals(data);
+ case DGPackage.TEXT__POSITION:
+ return position != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (data: ");
+ result.append(data);
+ result.append(')');
+ return result.toString();
+ }
+
+} // TextImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TransformImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TransformImpl.java
new file mode 100644
index 00000000000..ee27b09e03d
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TransformImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Transform;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Transform</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TransformImpl extends MinimalEObjectImpl.Container
+ implements Transform {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TransformImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.TRANSFORM;
+ }
+
+} // TransformImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TranslateImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TranslateImpl.java
new file mode 100644
index 00000000000..92a35de6b0f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/TranslateImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Translate;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Translate</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.TranslateImpl#getDeltaX <em>Delta X
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.TranslateImpl#getDeltaY <em>Delta Y
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TranslateImpl extends TransformImpl implements Translate {
+ /**
+ * The default value of the '{@link #getDeltaX() <em>Delta X</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDeltaX()
+ * @generated
+ * @ordered
+ */
+ protected static final double DELTA_X_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getDeltaX() <em>Delta X</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDeltaX()
+ * @generated
+ * @ordered
+ */
+ protected double deltaX = DELTA_X_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDeltaY() <em>Delta Y</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDeltaY()
+ * @generated
+ * @ordered
+ */
+ protected static final double DELTA_Y_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getDeltaY() <em>Delta Y</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDeltaY()
+ * @generated
+ * @ordered
+ */
+ protected double deltaY = DELTA_Y_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TranslateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.TRANSLATE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getDeltaX() {
+ return deltaX;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDeltaX(double newDeltaX) {
+ double oldDeltaX = deltaX;
+ deltaX = newDeltaX;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.TRANSLATE__DELTA_X, oldDeltaX, deltaX));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getDeltaY() {
+ return deltaY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDeltaY(double newDeltaY) {
+ double oldDeltaY = deltaY;
+ deltaY = newDeltaY;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.TRANSLATE__DELTA_Y, oldDeltaY, deltaY));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DGPackage.TRANSLATE__DELTA_X:
+ return getDeltaX();
+ case DGPackage.TRANSLATE__DELTA_Y:
+ return getDeltaY();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.TRANSLATE__DELTA_X:
+ setDeltaX((Double) newValue);
+ return;
+ case DGPackage.TRANSLATE__DELTA_Y:
+ setDeltaY((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.TRANSLATE__DELTA_X:
+ setDeltaX(DELTA_X_EDEFAULT);
+ return;
+ case DGPackage.TRANSLATE__DELTA_Y:
+ setDeltaY(DELTA_Y_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.TRANSLATE__DELTA_X:
+ return deltaX != DELTA_X_EDEFAULT;
+ case DGPackage.TRANSLATE__DELTA_Y:
+ return deltaY != DELTA_Y_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (deltaX: ");
+ result.append(deltaX);
+ result.append(", deltaY: ");
+ result.append(deltaY);
+ result.append(')');
+ return result.toString();
+ }
+
+} // TranslateImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/UseImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/UseImpl.java
new file mode 100644
index 00000000000..c25d621cfae
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/impl/UseImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dc.Bounds;
+
+import org.eclipse.papyrus.dd.dg.DGPackage;
+import org.eclipse.papyrus.dd.dg.Use;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Use</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.dg.impl.UseImpl#getBounds <em>Bounds</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UseImpl extends GraphicalElementImpl implements Use {
+ /**
+ * The cached value of the '{@link #getBounds() <em>Bounds</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBounds()
+ * @generated
+ * @ordered
+ */
+ protected Bounds bounds;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DGPackage.Literals.USE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Bounds getBounds() {
+ return bounds;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBounds(Bounds newBounds,
+ NotificationChain msgs) {
+ Bounds oldBounds = bounds;
+ bounds = newBounds;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DGPackage.USE__BOUNDS, oldBounds,
+ newBounds);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBounds(Bounds newBounds) {
+ if (newBounds != bounds) {
+ NotificationChain msgs = null;
+ if (bounds != null)
+ msgs = ((InternalEObject) bounds).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.USE__BOUNDS, null,
+ msgs);
+ if (newBounds != null)
+ msgs = ((InternalEObject) newBounds).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DGPackage.USE__BOUNDS, null,
+ msgs);
+ msgs = basicSetBounds(newBounds, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DGPackage.USE__BOUNDS, newBounds, newBounds));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DGPackage.USE__BOUNDS:
+ return basicSetBounds(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 DGPackage.USE__BOUNDS:
+ return getBounds();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DGPackage.USE__BOUNDS:
+ setBounds((Bounds) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DGPackage.USE__BOUNDS:
+ setBounds((Bounds) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DGPackage.USE__BOUNDS:
+ return bounds != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // UseImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGAdapterFactory.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGAdapterFactory.java
new file mode 100644
index 00000000000..e35a060258b
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGAdapterFactory.java
@@ -0,0 +1,973 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.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.papyrus.dd.dg.*;
+
+/**
+ * <!-- 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.papyrus.dd.dg.DGPackage
+ * @generated
+ */
+public class DGAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DGPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DGAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = DGPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+ * the object is either the model's package or is an instance object of the
+ * model. <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DGSwitch<Adapter> modelSwitch = new DGSwitch<Adapter>() {
+ @Override
+ public Adapter caseCanvas(Canvas object) {
+ return createCanvasAdapter();
+ }
+
+ @Override
+ public Adapter caseGroup(Group object) {
+ return createGroupAdapter();
+ }
+
+ @Override
+ public Adapter caseGraphicalElement(GraphicalElement object) {
+ return createGraphicalElementAdapter();
+ }
+
+ @Override
+ public Adapter caseDefinition(Definition object) {
+ return createDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseMoveTo(MoveTo object) {
+ return createMoveToAdapter();
+ }
+
+ @Override
+ public Adapter casePathCommand(PathCommand object) {
+ return createPathCommandAdapter();
+ }
+
+ @Override
+ public Adapter caseClipPath(ClipPath object) {
+ return createClipPathAdapter();
+ }
+
+ @Override
+ public Adapter caseStyle(Style object) {
+ return createStyleAdapter();
+ }
+
+ @Override
+ public Adapter casePaint(Paint object) {
+ return createPaintAdapter();
+ }
+
+ @Override
+ public Adapter casePaintServer(PaintServer object) {
+ return createPaintServerAdapter();
+ }
+
+ @Override
+ public Adapter caseTransform(Transform object) {
+ return createTransformAdapter();
+ }
+
+ @Override
+ public Adapter caseCircle(Circle object) {
+ return createCircleAdapter();
+ }
+
+ @Override
+ public Adapter caseClosePath(ClosePath object) {
+ return createClosePathAdapter();
+ }
+
+ @Override
+ public Adapter caseCubicCurveTo(CubicCurveTo object) {
+ return createCubicCurveToAdapter();
+ }
+
+ @Override
+ public Adapter caseDefinitions(Definitions object) {
+ return createDefinitionsAdapter();
+ }
+
+ @Override
+ public Adapter caseStyleSheet(StyleSheet object) {
+ return createStyleSheetAdapter();
+ }
+
+ @Override
+ public Adapter caseStyleRule(StyleRule object) {
+ return createStyleRuleAdapter();
+ }
+
+ @Override
+ public Adapter caseStyleSelector(StyleSelector object) {
+ return createStyleSelectorAdapter();
+ }
+
+ @Override
+ public Adapter caseEllipse(Ellipse object) {
+ return createEllipseAdapter();
+ }
+
+ @Override
+ public Adapter caseEllipticalCurveTo(EllipticalCurveTo object) {
+ return createEllipticalCurveToAdapter();
+ }
+
+ @Override
+ public Adapter caseQuadraticCurveTo(QuadraticCurveTo object) {
+ return createQuadraticCurveToAdapter();
+ }
+
+ @Override
+ public Adapter caseGradient(Gradient object) {
+ return createGradientAdapter();
+ }
+
+ @Override
+ public Adapter caseGradientStop(GradientStop object) {
+ return createGradientStopAdapter();
+ }
+
+ @Override
+ public Adapter caseImage(Image object) {
+ return createImageAdapter();
+ }
+
+ @Override
+ public Adapter caseLine(Line object) {
+ return createLineAdapter();
+ }
+
+ @Override
+ public Adapter caseMarkedElement(MarkedElement object) {
+ return createMarkedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseMarker(Marker object) {
+ return createMarkerAdapter();
+ }
+
+ @Override
+ public Adapter caseLinearGradient(LinearGradient object) {
+ return createLinearGradientAdapter();
+ }
+
+ @Override
+ public Adapter caseLineTo(LineTo object) {
+ return createLineToAdapter();
+ }
+
+ @Override
+ public Adapter caseMatrix(Matrix object) {
+ return createMatrixAdapter();
+ }
+
+ @Override
+ public Adapter casePath(Path object) {
+ return createPathAdapter();
+ }
+
+ @Override
+ public Adapter casePattern(Pattern object) {
+ return createPatternAdapter();
+ }
+
+ @Override
+ public Adapter casePolygon(Polygon object) {
+ return createPolygonAdapter();
+ }
+
+ @Override
+ public Adapter casePolyline(Polyline object) {
+ return createPolylineAdapter();
+ }
+
+ @Override
+ public Adapter caseRadialGradient(RadialGradient object) {
+ return createRadialGradientAdapter();
+ }
+
+ @Override
+ public Adapter caseRectangle(Rectangle object) {
+ return createRectangleAdapter();
+ }
+
+ @Override
+ public Adapter caseRootCanvas(RootCanvas object) {
+ return createRootCanvasAdapter();
+ }
+
+ @Override
+ public Adapter caseRotate(Rotate object) {
+ return createRotateAdapter();
+ }
+
+ @Override
+ public Adapter caseScale(Scale object) {
+ return createScaleAdapter();
+ }
+
+ @Override
+ public Adapter caseSkew(Skew object) {
+ return createSkewAdapter();
+ }
+
+ @Override
+ public Adapter caseText(Text object) {
+ return createTextAdapter();
+ }
+
+ @Override
+ public Adapter caseTranslate(Translate object) {
+ return createTranslateAdapter();
+ }
+
+ @Override
+ public Adapter caseUse(Use object) {
+ return createUseAdapter();
+ }
+
+ @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.papyrus.dd.dg.Canvas <em>Canvas</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.papyrus.dd.dg.Canvas
+ * @generated
+ */
+ public Adapter createCanvasAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Group <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.papyrus.dd.dg.Group
+ * @generated
+ */
+ public Adapter createGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.GraphicalElement
+ * <em>Graphical 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.papyrus.dd.dg.GraphicalElement
+ * @generated
+ */
+ public Adapter createGraphicalElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Definition <em>Definition</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.papyrus.dd.dg.Definition
+ * @generated
+ */
+ public Adapter createDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.ClipPath <em>Clip Path</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.papyrus.dd.dg.ClipPath
+ * @generated
+ */
+ public Adapter createClipPathAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Style <em>Style</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.papyrus.dd.dg.Style
+ * @generated
+ */
+ public Adapter createStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Paint <em>Paint</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.papyrus.dd.dg.Paint
+ * @generated
+ */
+ public Adapter createPaintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.PaintServer <em>Paint Server</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.papyrus.dd.dg.PaintServer
+ * @generated
+ */
+ public Adapter createPaintServerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Transform <em>Transform</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.papyrus.dd.dg.Transform
+ * @generated
+ */
+ public Adapter createTransformAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Definitions <em>Definitions</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.papyrus.dd.dg.Definitions
+ * @generated
+ */
+ public Adapter createDefinitionsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.CubicCurveTo <em>Cubic Curve To</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.papyrus.dd.dg.CubicCurveTo
+ * @generated
+ */
+ public Adapter createCubicCurveToAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.PathCommand <em>Path Command</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.papyrus.dd.dg.PathCommand
+ * @generated
+ */
+ public Adapter createPathCommandAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Marker <em>Marker</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.papyrus.dd.dg.Marker
+ * @generated
+ */
+ public Adapter createMarkerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.StyleSheet <em>Style Sheet</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.papyrus.dd.dg.StyleSheet
+ * @generated
+ */
+ public Adapter createStyleSheetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.StyleRule <em>Style Rule</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.papyrus.dd.dg.StyleRule
+ * @generated
+ */
+ public Adapter createStyleRuleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.StyleSelector <em>Style Selector</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.papyrus.dd.dg.StyleSelector
+ * @generated
+ */
+ public Adapter createStyleSelectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Circle <em>Circle</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.papyrus.dd.dg.Circle
+ * @generated
+ */
+ public Adapter createCircleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.ClosePath <em>Close Path</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.papyrus.dd.dg.ClosePath
+ * @generated
+ */
+ public Adapter createClosePathAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Ellipse <em>Ellipse</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.papyrus.dd.dg.Ellipse
+ * @generated
+ */
+ public Adapter createEllipseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.EllipticalCurveTo
+ * <em>Elliptical Curve To</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.papyrus.dd.dg.EllipticalCurveTo
+ * @generated
+ */
+ public Adapter createEllipticalCurveToAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.QuadraticCurveTo
+ * <em>Quadratic Curve To</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.papyrus.dd.dg.QuadraticCurveTo
+ * @generated
+ */
+ public Adapter createQuadraticCurveToAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Gradient <em>Gradient</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.papyrus.dd.dg.Gradient
+ * @generated
+ */
+ public Adapter createGradientAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.GradientStop <em>Gradient Stop</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.papyrus.dd.dg.GradientStop
+ * @generated
+ */
+ public Adapter createGradientStopAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Image <em>Image</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.papyrus.dd.dg.Image
+ * @generated
+ */
+ public Adapter createImageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Line <em>Line</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.papyrus.dd.dg.Line
+ * @generated
+ */
+ public Adapter createLineAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.MarkedElement <em>Marked 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.papyrus.dd.dg.MarkedElement
+ * @generated
+ */
+ public Adapter createMarkedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.LinearGradient <em>Linear Gradient</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.papyrus.dd.dg.LinearGradient
+ * @generated
+ */
+ public Adapter createLinearGradientAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.LineTo <em>Line To</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.papyrus.dd.dg.LineTo
+ * @generated
+ */
+ public Adapter createLineToAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Matrix <em>Matrix</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.papyrus.dd.dg.Matrix
+ * @generated
+ */
+ public Adapter createMatrixAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.MoveTo <em>Move To</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.papyrus.dd.dg.MoveTo
+ * @generated
+ */
+ public Adapter createMoveToAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Path <em>Path</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.papyrus.dd.dg.Path
+ * @generated
+ */
+ public Adapter createPathAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Pattern <em>Pattern</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.papyrus.dd.dg.Pattern
+ * @generated
+ */
+ public Adapter createPatternAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Polygon <em>Polygon</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.papyrus.dd.dg.Polygon
+ * @generated
+ */
+ public Adapter createPolygonAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Polyline <em>Polyline</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.papyrus.dd.dg.Polyline
+ * @generated
+ */
+ public Adapter createPolylineAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.RadialGradient <em>Radial Gradient</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.papyrus.dd.dg.RadialGradient
+ * @generated
+ */
+ public Adapter createRadialGradientAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Rectangle <em>Rectangle</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.papyrus.dd.dg.Rectangle
+ * @generated
+ */
+ public Adapter createRectangleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.RootCanvas <em>Root Canvas</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.papyrus.dd.dg.RootCanvas
+ * @generated
+ */
+ public Adapter createRootCanvasAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Rotate <em>Rotate</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.papyrus.dd.dg.Rotate
+ * @generated
+ */
+ public Adapter createRotateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Scale <em>Scale</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.papyrus.dd.dg.Scale
+ * @generated
+ */
+ public Adapter createScaleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Skew <em>Skew</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.papyrus.dd.dg.Skew
+ * @generated
+ */
+ public Adapter createSkewAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Text <em>Text</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.papyrus.dd.dg.Text
+ * @generated
+ */
+ public Adapter createTextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Translate <em>Translate</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.papyrus.dd.dg.Translate
+ * @generated
+ */
+ public Adapter createTranslateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.dg.Use <em>Use</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.papyrus.dd.dg.Use
+ * @generated
+ */
+ public Adapter createUseAdapter() {
+ 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;
+ }
+
+} // DGAdapterFactory
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGSwitch.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGSwitch.java
new file mode 100644
index 00000000000..1203dcdef4b
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGSwitch.java
@@ -0,0 +1,1261 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.dd.dg.*;
+
+/**
+ * <!-- 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.papyrus.dd.dg.DGPackage
+ * @generated
+ */
+public class DGSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DGPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DGSwitch() {
+ if (modelPackage == null) {
+ modelPackage = DGPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns
+ * a non null result; it yields that result. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code>
+ * call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case DGPackage.CANVAS: {
+ Canvas canvas = (Canvas) theEObject;
+ T result = caseCanvas(canvas);
+ if (result == null)
+ result = caseGroup(canvas);
+ if (result == null)
+ result = caseGraphicalElement(canvas);
+ if (result == null)
+ result = caseDefinition(canvas);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.GROUP: {
+ Group group = (Group) theEObject;
+ T result = caseGroup(group);
+ if (result == null)
+ result = caseGraphicalElement(group);
+ if (result == null)
+ result = caseDefinition(group);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.GRAPHICAL_ELEMENT: {
+ GraphicalElement graphicalElement = (GraphicalElement) theEObject;
+ T result = caseGraphicalElement(graphicalElement);
+ if (result == null)
+ result = caseDefinition(graphicalElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.DEFINITION: {
+ Definition definition = (Definition) theEObject;
+ T result = caseDefinition(definition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.MOVE_TO: {
+ MoveTo moveTo = (MoveTo) theEObject;
+ T result = caseMoveTo(moveTo);
+ if (result == null)
+ result = casePathCommand(moveTo);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.PATH_COMMAND: {
+ PathCommand pathCommand = (PathCommand) theEObject;
+ T result = casePathCommand(pathCommand);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.CLIP_PATH: {
+ ClipPath clipPath = (ClipPath) theEObject;
+ T result = caseClipPath(clipPath);
+ if (result == null)
+ result = caseGroup(clipPath);
+ if (result == null)
+ result = caseGraphicalElement(clipPath);
+ if (result == null)
+ result = caseDefinition(clipPath);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.STYLE: {
+ Style style = (Style) theEObject;
+ T result = caseStyle(style);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.PAINT: {
+ Paint paint = (Paint) theEObject;
+ T result = casePaint(paint);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.PAINT_SERVER: {
+ PaintServer paintServer = (PaintServer) theEObject;
+ T result = casePaintServer(paintServer);
+ if (result == null)
+ result = caseDefinition(paintServer);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.TRANSFORM: {
+ Transform transform = (Transform) theEObject;
+ T result = caseTransform(transform);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.CIRCLE: {
+ Circle circle = (Circle) theEObject;
+ T result = caseCircle(circle);
+ if (result == null)
+ result = caseGraphicalElement(circle);
+ if (result == null)
+ result = caseDefinition(circle);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.CLOSE_PATH: {
+ ClosePath closePath = (ClosePath) theEObject;
+ T result = caseClosePath(closePath);
+ if (result == null)
+ result = casePathCommand(closePath);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.CUBIC_CURVE_TO: {
+ CubicCurveTo cubicCurveTo = (CubicCurveTo) theEObject;
+ T result = caseCubicCurveTo(cubicCurveTo);
+ if (result == null)
+ result = casePathCommand(cubicCurveTo);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.DEFINITIONS: {
+ Definitions definitions = (Definitions) theEObject;
+ T result = caseDefinitions(definitions);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.STYLE_SHEET: {
+ StyleSheet styleSheet = (StyleSheet) theEObject;
+ T result = caseStyleSheet(styleSheet);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.STYLE_RULE: {
+ StyleRule styleRule = (StyleRule) theEObject;
+ T result = caseStyleRule(styleRule);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.STYLE_SELECTOR: {
+ StyleSelector styleSelector = (StyleSelector) theEObject;
+ T result = caseStyleSelector(styleSelector);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.ELLIPSE: {
+ Ellipse ellipse = (Ellipse) theEObject;
+ T result = caseEllipse(ellipse);
+ if (result == null)
+ result = caseGraphicalElement(ellipse);
+ if (result == null)
+ result = caseDefinition(ellipse);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.ELLIPTICAL_CURVE_TO: {
+ EllipticalCurveTo ellipticalCurveTo = (EllipticalCurveTo) theEObject;
+ T result = caseEllipticalCurveTo(ellipticalCurveTo);
+ if (result == null)
+ result = casePathCommand(ellipticalCurveTo);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.QUADRATIC_CURVE_TO: {
+ QuadraticCurveTo quadraticCurveTo = (QuadraticCurveTo) theEObject;
+ T result = caseQuadraticCurveTo(quadraticCurveTo);
+ if (result == null)
+ result = casePathCommand(quadraticCurveTo);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.GRADIENT: {
+ Gradient gradient = (Gradient) theEObject;
+ T result = caseGradient(gradient);
+ if (result == null)
+ result = casePaintServer(gradient);
+ if (result == null)
+ result = caseDefinition(gradient);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.GRADIENT_STOP: {
+ GradientStop gradientStop = (GradientStop) theEObject;
+ T result = caseGradientStop(gradientStop);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.IMAGE: {
+ Image image = (Image) theEObject;
+ T result = caseImage(image);
+ if (result == null)
+ result = caseGraphicalElement(image);
+ if (result == null)
+ result = caseDefinition(image);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.LINE: {
+ Line line = (Line) theEObject;
+ T result = caseLine(line);
+ if (result == null)
+ result = caseMarkedElement(line);
+ if (result == null)
+ result = caseGraphicalElement(line);
+ if (result == null)
+ result = caseDefinition(line);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.MARKED_ELEMENT: {
+ MarkedElement markedElement = (MarkedElement) theEObject;
+ T result = caseMarkedElement(markedElement);
+ if (result == null)
+ result = caseGraphicalElement(markedElement);
+ if (result == null)
+ result = caseDefinition(markedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.MARKER: {
+ Marker marker = (Marker) theEObject;
+ T result = caseMarker(marker);
+ if (result == null)
+ result = caseGroup(marker);
+ if (result == null)
+ result = caseGraphicalElement(marker);
+ if (result == null)
+ result = caseDefinition(marker);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.LINEAR_GRADIENT: {
+ LinearGradient linearGradient = (LinearGradient) theEObject;
+ T result = caseLinearGradient(linearGradient);
+ if (result == null)
+ result = caseGradient(linearGradient);
+ if (result == null)
+ result = casePaintServer(linearGradient);
+ if (result == null)
+ result = caseDefinition(linearGradient);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.LINE_TO: {
+ LineTo lineTo = (LineTo) theEObject;
+ T result = caseLineTo(lineTo);
+ if (result == null)
+ result = casePathCommand(lineTo);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.MATRIX: {
+ Matrix matrix = (Matrix) theEObject;
+ T result = caseMatrix(matrix);
+ if (result == null)
+ result = caseTransform(matrix);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.PATH: {
+ Path path = (Path) theEObject;
+ T result = casePath(path);
+ if (result == null)
+ result = caseMarkedElement(path);
+ if (result == null)
+ result = caseGraphicalElement(path);
+ if (result == null)
+ result = caseDefinition(path);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.PATTERN: {
+ Pattern pattern = (Pattern) theEObject;
+ T result = casePattern(pattern);
+ if (result == null)
+ result = casePaintServer(pattern);
+ if (result == null)
+ result = caseDefinition(pattern);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.POLYGON: {
+ Polygon polygon = (Polygon) theEObject;
+ T result = casePolygon(polygon);
+ if (result == null)
+ result = caseMarkedElement(polygon);
+ if (result == null)
+ result = caseGraphicalElement(polygon);
+ if (result == null)
+ result = caseDefinition(polygon);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.POLYLINE: {
+ Polyline polyline = (Polyline) theEObject;
+ T result = casePolyline(polyline);
+ if (result == null)
+ result = caseMarkedElement(polyline);
+ if (result == null)
+ result = caseGraphicalElement(polyline);
+ if (result == null)
+ result = caseDefinition(polyline);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.RADIAL_GRADIENT: {
+ RadialGradient radialGradient = (RadialGradient) theEObject;
+ T result = caseRadialGradient(radialGradient);
+ if (result == null)
+ result = caseGradient(radialGradient);
+ if (result == null)
+ result = casePaintServer(radialGradient);
+ if (result == null)
+ result = caseDefinition(radialGradient);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.RECTANGLE: {
+ Rectangle rectangle = (Rectangle) theEObject;
+ T result = caseRectangle(rectangle);
+ if (result == null)
+ result = caseGraphicalElement(rectangle);
+ if (result == null)
+ result = caseDefinition(rectangle);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.ROOT_CANVAS: {
+ RootCanvas rootCanvas = (RootCanvas) theEObject;
+ T result = caseRootCanvas(rootCanvas);
+ if (result == null)
+ result = caseCanvas(rootCanvas);
+ if (result == null)
+ result = caseGroup(rootCanvas);
+ if (result == null)
+ result = caseGraphicalElement(rootCanvas);
+ if (result == null)
+ result = caseDefinition(rootCanvas);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.ROTATE: {
+ Rotate rotate = (Rotate) theEObject;
+ T result = caseRotate(rotate);
+ if (result == null)
+ result = caseTransform(rotate);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.SCALE: {
+ Scale scale = (Scale) theEObject;
+ T result = caseScale(scale);
+ if (result == null)
+ result = caseTransform(scale);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.SKEW: {
+ Skew skew = (Skew) theEObject;
+ T result = caseSkew(skew);
+ if (result == null)
+ result = caseTransform(skew);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.TEXT: {
+ Text text = (Text) theEObject;
+ T result = caseText(text);
+ if (result == null)
+ result = caseGraphicalElement(text);
+ if (result == null)
+ result = caseDefinition(text);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.TRANSLATE: {
+ Translate translate = (Translate) theEObject;
+ T result = caseTranslate(translate);
+ if (result == null)
+ result = caseTransform(translate);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DGPackage.USE: {
+ Use use = (Use) theEObject;
+ T result = caseUse(use);
+ if (result == null)
+ result = caseGraphicalElement(use);
+ if (result == null)
+ result = caseDefinition(use);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Canvas</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>Canvas</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCanvas(Canvas 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 caseGroup(Group object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Graphical 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>Graphical Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGraphicalElement(GraphicalElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Definition</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>Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDefinition(Definition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Clip Path</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>Clip Path</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClipPath(ClipPath object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Style</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>Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyle(Style object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Paint</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>Paint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePaint(Paint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Paint Server</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>Paint Server</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePaintServer(PaintServer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Transform</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>Transform</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTransform(Transform object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Definitions</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>Definitions</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDefinitions(Definitions object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Cubic Curve To</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>Cubic Curve To</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCubicCurveTo(CubicCurveTo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Path Command</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>Path Command</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePathCommand(PathCommand object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Marker</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>Marker</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMarker(Marker object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Style Sheet</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>Style Sheet</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyleSheet(StyleSheet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Style Rule</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>Style Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyleRule(StyleRule object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Style Selector</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>Style Selector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyleSelector(StyleSelector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Circle</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>Circle</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCircle(Circle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Close Path</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>Close Path</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClosePath(ClosePath object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Ellipse</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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEllipse(Ellipse object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Elliptical Curve To</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>Elliptical Curve To</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEllipticalCurveTo(EllipticalCurveTo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Quadratic Curve To</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>Quadratic Curve To</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQuadraticCurveTo(QuadraticCurveTo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Gradient</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>Gradient</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGradient(Gradient object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Gradient Stop</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>Gradient Stop</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGradientStop(GradientStop object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Image</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>Image</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImage(Image object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Line</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>Line</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLine(Line object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Marked 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>Marked Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMarkedElement(MarkedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Linear Gradient</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>Linear Gradient</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLinearGradient(LinearGradient object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Line To</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>Line To</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLineTo(LineTo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Matrix</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>Matrix</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMatrix(Matrix object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Move To</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>Move To</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMoveTo(MoveTo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Path</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>Path</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePath(Path object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Pattern</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>Pattern</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePattern(Pattern object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Polygon</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>Polygon</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePolygon(Polygon object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Polyline</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>Polyline</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePolyline(Polyline object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Radial Gradient</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>Radial Gradient</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRadialGradient(RadialGradient object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Rectangle</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>Rectangle</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRectangle(Rectangle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Root Canvas</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>Root Canvas</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRootCanvas(RootCanvas object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Rotate</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>Rotate</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRotate(Rotate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Scale</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>Scale</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseScale(Scale object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Skew</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>Skew</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSkew(Skew object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Text</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>Text</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseText(Text object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Translate</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>Translate</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTranslate(Translate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Use</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>Use</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUse(Use object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>EObject</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch, but this is
+ * the last case anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // DGSwitch
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGValidator.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGValidator.java
new file mode 100644
index 00000000000..0e535ea4657
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/dg/util/DGValidator.java
@@ -0,0 +1,1130 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.dg.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.dd.dg.*;
+
+/**
+ * <!-- begin-user-doc --> The <b>Validator</b> for the model. <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.papyrus.dd.dg.DGPackage
+ * @generated
+ */
+public class DGValidator extends EObjectValidator {
+
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final DGValidator INSTANCE = new DGValidator();
+
+ /**
+ * A constant for the
+ * {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of
+ * diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes}
+ * from this package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "org.eclipse.papyrus.dd.dg";
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Font Size' of 'Style'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STYLE__VALID_FONT_SIZE = 1;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Fill Opacity' of 'Style'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STYLE__VALID_FILL_OPACITY = 2;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Stroke Width' of 'Style'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STYLE__VALID_STROKE_WIDTH = 3;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Dash Length Size' of 'Style'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STYLE__VALID_DASH_LENGTH_SIZE = 4;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Stroke Opacity' of 'Style'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STYLE__VALID_STROKE_OPACITY = 5;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Non Negative Radius' of 'Circle'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CIRCLE__NON_NEGATIVE_RADIUS = 6;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Offset' of 'Gradient Stop'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int GRADIENT_STOP__VALID_OFFSET = 7;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Opacity' of 'Gradient Stop'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int GRADIENT_STOP__VALID_OPACITY = 8;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Gradient Vector' of 'Linear Gradient'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LINEAR_GRADIENT__VALID_GRADIENT_VECTOR = 9;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Center Point' of 'Radial Gradient'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RADIAL_GRADIENT__VALID_CENTER_POINT = 10;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Focus Point' of 'Radial Gradient'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RADIAL_GRADIENT__VALID_FOCUS_POINT = 11;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Valid Radius' of 'Radial Gradient'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RADIAL_GRADIENT__VALID_RADIUS = 12;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
+ * constraint 'Nonnegativescale' of 'Scale'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SCALE__NONNEGATIVESCALE = 13;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for
+ * additional hand written constants. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 13;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for
+ * additional hand written constants in a derived class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+ /**
+ * Delegates evaluation of the given invariant expression against the object
+ * in the given context. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static boolean validate(EClass eClass, EObject eObject,
+ DiagnosticChain diagnostics, Map<Object, Object> context,
+ String validationDelegate, EOperation invariant, String expression,
+ int severity, String source, int code) {
+ return EObjectValidator.validate(eClass, eObject, diagnostics, context,
+ validationDelegate, invariant, expression, severity, source,
+ code);
+ }
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DGValidator() {
+ super();
+ }
+
+ /**
+ * Returns the package of this validator switch. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EPackage getEPackage() {
+ return DGPackage.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresponding classifier of the
+ * model. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean validate(int classifierID, Object value,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ switch (classifierID) {
+ case DGPackage.CANVAS:
+ return validateCanvas((Canvas) value, diagnostics, context);
+ case DGPackage.GROUP:
+ return validateGroup((Group) value, diagnostics, context);
+ case DGPackage.GRAPHICAL_ELEMENT:
+ return validateGraphicalElement((GraphicalElement) value,
+ diagnostics, context);
+ case DGPackage.DEFINITION:
+ return validateDefinition((Definition) value, diagnostics, context);
+ case DGPackage.MOVE_TO:
+ return validateMoveTo((MoveTo) value, diagnostics, context);
+ case DGPackage.PATH_COMMAND:
+ return validatePathCommand((PathCommand) value, diagnostics,
+ context);
+ case DGPackage.CLIP_PATH:
+ return validateClipPath((ClipPath) value, diagnostics, context);
+ case DGPackage.STYLE:
+ return validateStyle((Style) value, diagnostics, context);
+ case DGPackage.PAINT:
+ return validatePaint((Paint) value, diagnostics, context);
+ case DGPackage.PAINT_SERVER:
+ return validatePaintServer((PaintServer) value, diagnostics,
+ context);
+ case DGPackage.TRANSFORM:
+ return validateTransform((Transform) value, diagnostics, context);
+ case DGPackage.CIRCLE:
+ return validateCircle((Circle) value, diagnostics, context);
+ case DGPackage.CLOSE_PATH:
+ return validateClosePath((ClosePath) value, diagnostics, context);
+ case DGPackage.CUBIC_CURVE_TO:
+ return validateCubicCurveTo((CubicCurveTo) value, diagnostics,
+ context);
+ case DGPackage.DEFINITIONS:
+ return validateDefinitions((Definitions) value, diagnostics,
+ context);
+ case DGPackage.STYLE_SHEET:
+ return validateStyleSheet((StyleSheet) value, diagnostics, context);
+ case DGPackage.STYLE_RULE:
+ return validateStyleRule((StyleRule) value, diagnostics, context);
+ case DGPackage.STYLE_SELECTOR:
+ return validateStyleSelector((StyleSelector) value, diagnostics,
+ context);
+ case DGPackage.ELLIPSE:
+ return validateEllipse((Ellipse) value, diagnostics, context);
+ case DGPackage.ELLIPTICAL_CURVE_TO:
+ return validateEllipticalCurveTo((EllipticalCurveTo) value,
+ diagnostics, context);
+ case DGPackage.QUADRATIC_CURVE_TO:
+ return validateQuadraticCurveTo((QuadraticCurveTo) value,
+ diagnostics, context);
+ case DGPackage.GRADIENT:
+ return validateGradient((Gradient) value, diagnostics, context);
+ case DGPackage.GRADIENT_STOP:
+ return validateGradientStop((GradientStop) value, diagnostics,
+ context);
+ case DGPackage.IMAGE:
+ return validateImage((Image) value, diagnostics, context);
+ case DGPackage.LINE:
+ return validateLine((Line) value, diagnostics, context);
+ case DGPackage.MARKED_ELEMENT:
+ return validateMarkedElement((MarkedElement) value, diagnostics,
+ context);
+ case DGPackage.MARKER:
+ return validateMarker((Marker) value, diagnostics, context);
+ case DGPackage.LINEAR_GRADIENT:
+ return validateLinearGradient((LinearGradient) value, diagnostics,
+ context);
+ case DGPackage.LINE_TO:
+ return validateLineTo((LineTo) value, diagnostics, context);
+ case DGPackage.MATRIX:
+ return validateMatrix((Matrix) value, diagnostics, context);
+ case DGPackage.PATH:
+ return validatePath((Path) value, diagnostics, context);
+ case DGPackage.PATTERN:
+ return validatePattern((Pattern) value, diagnostics, context);
+ case DGPackage.POLYGON:
+ return validatePolygon((Polygon) value, diagnostics, context);
+ case DGPackage.POLYLINE:
+ return validatePolyline((Polyline) value, diagnostics, context);
+ case DGPackage.RADIAL_GRADIENT:
+ return validateRadialGradient((RadialGradient) value, diagnostics,
+ context);
+ case DGPackage.RECTANGLE:
+ return validateRectangle((Rectangle) value, diagnostics, context);
+ case DGPackage.ROOT_CANVAS:
+ return validateRootCanvas((RootCanvas) value, diagnostics, context);
+ case DGPackage.ROTATE:
+ return validateRotate((Rotate) value, diagnostics, context);
+ case DGPackage.SCALE:
+ return validateScale((Scale) value, diagnostics, context);
+ case DGPackage.SKEW:
+ return validateSkew((Skew) value, diagnostics, context);
+ case DGPackage.TEXT:
+ return validateText((Text) value, diagnostics, context);
+ case DGPackage.TRANSLATE:
+ return validateTranslate((Translate) value, diagnostics, context);
+ case DGPackage.USE:
+ return validateUse((Use) value, diagnostics, context);
+ case DGPackage.FONT_DECORATION:
+ return validateFontDecoration((FontDecoration) value, diagnostics,
+ context);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCanvas(Canvas canvas, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(canvas, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateGroup(Group group, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(group, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateGraphicalElement(GraphicalElement graphicalElement,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(graphicalElement, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDefinition(Definition definition,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(definition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClipPath(ClipPath clipPath,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(clipPath, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyle(Style style, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(style, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms(style, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms(style, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained(style, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired(style,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves(style, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID(style, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique(style, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique(style, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStyle_validFontSize(style, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStyle_validFillOpacity(style, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validateStyle_validStrokeWidth(style, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validateStyle_validDashLengthSize(style, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validateStyle_validStrokeOpacity(style, diagnostics,
+ context);
+ return result;
+ }
+
+ /**
+ * Validates the validFontSize constraint of '<em>Style</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyle_validFontSize(Style style,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return style.validFontSize(diagnostics, context);
+ }
+
+ /**
+ * Validates the validFillOpacity constraint of '<em>Style</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyle_validFillOpacity(Style style,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return style.validFillOpacity(diagnostics, context);
+ }
+
+ /**
+ * Validates the validStrokeWidth constraint of '<em>Style</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyle_validStrokeWidth(Style style,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return style.validStrokeWidth(diagnostics, context);
+ }
+
+ /**
+ * Validates the validDashLengthSize constraint of '<em>Style</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyle_validDashLengthSize(Style style,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return style.validDashLengthSize(diagnostics, context);
+ }
+
+ /**
+ * Validates the validStrokeOpacity constraint of '<em>Style</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyle_validStrokeOpacity(Style style,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return style.validStrokeOpacity(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePaint(Paint paint, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(paint, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePaintServer(PaintServer paintServer,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(paintServer, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTransform(Transform transform,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(transform, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDefinitions(Definitions definitions,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(definitions, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCubicCurveTo(CubicCurveTo cubicCurveTo,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(cubicCurveTo, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePathCommand(PathCommand pathCommand,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(pathCommand, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMarker(Marker marker, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(marker, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyleSheet(StyleSheet styleSheet,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(styleSheet, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyleRule(StyleRule styleRule,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(styleRule, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStyleSelector(StyleSelector styleSelector,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(styleSelector, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCircle(Circle circle, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(circle, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms(circle,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms(circle, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained(circle, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired(circle,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves(circle, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID(circle, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique(circle, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique(circle, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCircle_nonNegativeRadius(circle, diagnostics,
+ context);
+ return result;
+ }
+
+ /**
+ * Validates the nonNegativeRadius constraint of '<em>Circle</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCircle_nonNegativeRadius(Circle circle,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return circle.nonNegativeRadius(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClosePath(ClosePath closePath,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(closePath, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEllipse(Ellipse ellipse,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(ellipse, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEllipticalCurveTo(
+ EllipticalCurveTo ellipticalCurveTo, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(ellipticalCurveTo, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQuadraticCurveTo(QuadraticCurveTo quadraticCurveTo,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(quadraticCurveTo, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateGradient(Gradient gradient,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(gradient, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateGradientStop(GradientStop gradientStop,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(gradientStop, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms(gradientStop,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms(gradientStop,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained(gradientStop,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired(
+ gradientStop, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves(gradientStop, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID(gradientStop, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique(gradientStop, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique(gradientStop, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validateGradientStop_validOffset(gradientStop,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateGradientStop_validOpacity(gradientStop,
+ diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the validOffset constraint of '<em>Gradient Stop</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateGradientStop_validOffset(GradientStop gradientStop,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return gradientStop.validOffset(diagnostics, context);
+ }
+
+ /**
+ * Validates the validOpacity constraint of '<em>Gradient Stop</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateGradientStop_validOpacity(GradientStop gradientStop,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return gradientStop.validOpacity(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateImage(Image image, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(image, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLine(Line line, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(line, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMarkedElement(MarkedElement markedElement,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(markedElement, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinearGradient(LinearGradient linearGradient,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(linearGradient, diagnostics,
+ context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms(linearGradient,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms(linearGradient,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained(linearGradient,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired(
+ linearGradient, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves(linearGradient, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID(linearGradient, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique(linearGradient, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique(linearGradient, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validateLinearGradient_validGradientVector(
+ linearGradient, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the validGradientVector constraint of '<em>Linear Gradient</em>
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinearGradient_validGradientVector(
+ LinearGradient linearGradient, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return linearGradient.validGradientVector(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLineTo(LineTo lineTo, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(lineTo, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMatrix(Matrix matrix, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(matrix, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMoveTo(MoveTo moveTo, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(moveTo, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePath(Path path, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(path, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePattern(Pattern pattern,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(pattern, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePolygon(Polygon polygon,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(polygon, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePolyline(Polyline polyline,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(polyline, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRadialGradient(RadialGradient radialGradient,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(radialGradient, diagnostics,
+ context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms(radialGradient,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms(radialGradient,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained(radialGradient,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired(
+ radialGradient, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves(radialGradient, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID(radialGradient, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique(radialGradient, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique(radialGradient, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validateRadialGradient_validCenterPoint(radialGradient,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateRadialGradient_validFocusPoint(radialGradient,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateRadialGradient_validRadius(radialGradient,
+ diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the validCenterPoint constraint of '<em>Radial Gradient</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRadialGradient_validCenterPoint(
+ RadialGradient radialGradient, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return radialGradient.validCenterPoint(diagnostics, context);
+ }
+
+ /**
+ * Validates the validFocusPoint constraint of '<em>Radial Gradient</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRadialGradient_validFocusPoint(
+ RadialGradient radialGradient, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return radialGradient.validFocusPoint(diagnostics, context);
+ }
+
+ /**
+ * Validates the validRadius constraint of '<em>Radial Gradient</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRadialGradient_validRadius(
+ RadialGradient radialGradient, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return radialGradient.validRadius(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRectangle(Rectangle rectangle,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(rectangle, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRootCanvas(RootCanvas rootCanvas,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(rootCanvas, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRotate(Rotate rotate, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(rotate, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateScale(Scale scale, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(scale, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms(scale, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms(scale, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained(scale, diagnostics,
+ context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired(scale,
+ diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves(scale, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID(scale, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique(scale, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique(scale, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateScale_nonnegativescale(scale, diagnostics,
+ context);
+ return result;
+ }
+
+ /**
+ * Validates the nonnegativescale constraint of '<em>Scale</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateScale_nonnegativescale(Scale scale,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return scale.nonnegativescale(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSkew(Skew skew, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(skew, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateText(Text text, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(text, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTranslate(Translate translate,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(translate, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUse(Use use, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(use, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFontDecoration(FontDecoration fontDecoration,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * Returns the resource locator that will be used to fetch messages for this
+ * validator's diagnostics. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ // TODO
+ // Specialize this to return a resource locator for messages specific to
+ // this validator.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return super.getResourceLocator();
+ }
+
+} // DGValidator
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DIFactory.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DIFactory.java
new file mode 100644
index 00000000000..0341b5f5509
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DIFactory.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di;
+
+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.papyrus.dd.di.DIPackage
+ * @generated
+ */
+public interface DIFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ DIFactory eINSTANCE = org.eclipse.papyrus.dd.di.impl.DIFactoryImpl.init();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DIPackage getDIPackage();
+
+} // DIFactory
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DIPackage.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DIPackage.java
new file mode 100644
index 00000000000..1951c997361
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DIPackage.java
@@ -0,0 +1,855 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The Diagram Interchange (DI)
+ * package enables interchange of graphical information that language users have
+ * control over, such as position of nodes and line routing points. Language
+ * specifications specialize elements of DI to define diagram interchange
+ * elements for a language. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.DIFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DIPackage extends EPackage {
+
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "di";
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.omg.org/spec/DD/20110901/DI";
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "di";
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ DIPackage eINSTANCE = org.eclipse.papyrus.dd.di.impl.DIPackageImpl.init();
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.DiagramElementImpl
+ * <em>Diagram Element</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.DiagramElementImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getDiagramElement()
+ * @generated
+ */
+ int DIAGRAM_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT__MODEL_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Owning Element</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT__OWNING_ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT__OWNED_ELEMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Local Style</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT__LOCAL_STYLE = 3;
+
+ /**
+ * The feature id for the '<em><b>Shared Style</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT__SHARED_STYLE = 4;
+
+ /**
+ * The number of structural features of the '<em>Diagram Element</em>'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_FEATURE_COUNT = 5;
+
+ /**
+ * The number of operations of the '<em>Diagram Element</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_ELEMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.StyleImpl <em>Style</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.StyleImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getStyle()
+ * @generated
+ */
+ int STYLE = 1;
+
+ /**
+ * The number of structural features of the '<em>Style</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Style</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STYLE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.EdgeImpl <em>Edge</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.EdgeImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getEdge()
+ * @generated
+ */
+ int EDGE = 2;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE__MODEL_ELEMENT = DIAGRAM_ELEMENT__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owning Element</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE__OWNING_ELEMENT = DIAGRAM_ELEMENT__OWNING_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE__OWNED_ELEMENT = DIAGRAM_ELEMENT__OWNED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Local Style</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE__LOCAL_STYLE = DIAGRAM_ELEMENT__LOCAL_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Shared Style</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE__SHARED_STYLE = DIAGRAM_ELEMENT__SHARED_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE__SOURCE = DIAGRAM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE__TARGET = DIAGRAM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Waypoint</b></em>' containment reference
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE__WAYPOINT = DIAGRAM_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Edge</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_FEATURE_COUNT = DIAGRAM_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Edge</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EDGE_OPERATION_COUNT = DIAGRAM_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.ShapeImpl <em>Shape</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.ShapeImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getShape()
+ * @generated
+ */
+ int SHAPE = 4;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE__MODEL_ELEMENT = DIAGRAM_ELEMENT__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owning Element</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE__OWNING_ELEMENT = DIAGRAM_ELEMENT__OWNING_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE__OWNED_ELEMENT = DIAGRAM_ELEMENT__OWNED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Local Style</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE__LOCAL_STYLE = DIAGRAM_ELEMENT__LOCAL_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Shared Style</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE__SHARED_STYLE = DIAGRAM_ELEMENT__SHARED_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE__BOUNDS = DIAGRAM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Shape</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_FEATURE_COUNT = DIAGRAM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Shape</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHAPE_OPERATION_COUNT = DIAGRAM_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.DiagramImpl <em>Diagram</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.DiagramImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getDiagram()
+ * @generated
+ */
+ int DIAGRAM = 3;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__MODEL_ELEMENT = SHAPE__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owning Element</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__OWNING_ELEMENT = SHAPE__OWNING_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__OWNED_ELEMENT = SHAPE__OWNED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Local Style</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__LOCAL_STYLE = SHAPE__LOCAL_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Shared Style</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__SHARED_STYLE = SHAPE__SHARED_STYLE;
+
+ /**
+ * The feature id for the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__BOUNDS = SHAPE__BOUNDS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__NAME = SHAPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__DOCUMENTATION = SHAPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Resolution</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__RESOLUTION = SHAPE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Diagram</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_FEATURE_COUNT = SHAPE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Diagram</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM_OPERATION_COUNT = SHAPE_OPERATION_COUNT + 0;
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement <em>Diagram Element</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Diagram Element</em>'.
+ * @see org.eclipse.papyrus.dd.di.DiagramElement
+ * @generated
+ */
+ EClass getDiagramElement();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getModelElement
+ * <em>Model Element</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Model Element</em>'.
+ * @see org.eclipse.papyrus.dd.di.DiagramElement#getModelElement()
+ * @see #getDiagramElement()
+ * @generated
+ */
+ EReference getDiagramElement_ModelElement();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getOwningElement
+ * <em>Owning Element</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Owning Element</em>'.
+ * @see org.eclipse.papyrus.dd.di.DiagramElement#getOwningElement()
+ * @see #getDiagramElement()
+ * @generated
+ */
+ EReference getDiagramElement_OwningElement();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getOwnedElement
+ * <em>Owned Element</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Owned Element</em>'.
+ * @see org.eclipse.papyrus.dd.di.DiagramElement#getOwnedElement()
+ * @see #getDiagramElement()
+ * @generated
+ */
+ EReference getDiagramElement_OwnedElement();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getLocalStyle
+ * <em>Local Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>Local Style</em>'.
+ * @see org.eclipse.papyrus.dd.di.DiagramElement#getLocalStyle()
+ * @see #getDiagramElement()
+ * @generated
+ */
+ EReference getDiagramElement_LocalStyle();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getSharedStyle
+ * <em>Shared Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Shared Style</em>'.
+ * @see org.eclipse.papyrus.dd.di.DiagramElement#getSharedStyle()
+ * @see #getDiagramElement()
+ * @generated
+ */
+ EReference getDiagramElement_SharedStyle();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.di.Style <em>Style</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Style</em>'.
+ * @see org.eclipse.papyrus.dd.di.Style
+ * @generated
+ */
+ EClass getStyle();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.dd.di.Edge
+ * <em>Edge</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Edge</em>'.
+ * @see org.eclipse.papyrus.dd.di.Edge
+ * @generated
+ */
+ EClass getEdge();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.di.Edge#getSource <em>Source</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Source</em>'.
+ * @see org.eclipse.papyrus.dd.di.Edge#getSource()
+ * @see #getEdge()
+ * @generated
+ */
+ EReference getEdge_Source();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.dd.di.Edge#getTarget <em>Target</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Target</em>'.
+ * @see org.eclipse.papyrus.dd.di.Edge#getTarget()
+ * @see #getEdge()
+ * @generated
+ */
+ EReference getEdge_Target();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.dd.di.Edge#getWaypoint <em>Waypoint</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Waypoint</em>'.
+ * @see org.eclipse.papyrus.dd.di.Edge#getWaypoint()
+ * @see #getEdge()
+ * @generated
+ */
+ EReference getEdge_Waypoint();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.di.Diagram <em>Diagram</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Diagram</em>'.
+ * @see org.eclipse.papyrus.dd.di.Diagram
+ * @generated
+ */
+ EClass getDiagram();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.di.Diagram#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.dd.di.Diagram#getName()
+ * @see #getDiagram()
+ * @generated
+ */
+ EAttribute getDiagram_Name();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.di.Diagram#getDocumentation
+ * <em>Documentation</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Documentation</em>'.
+ * @see org.eclipse.papyrus.dd.di.Diagram#getDocumentation()
+ * @see #getDiagram()
+ * @generated
+ */
+ EAttribute getDiagram_Documentation();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.dd.di.Diagram#getResolution
+ * <em>Resolution</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Resolution</em>'.
+ * @see org.eclipse.papyrus.dd.di.Diagram#getResolution()
+ * @see #getDiagram()
+ * @generated
+ */
+ EAttribute getDiagram_Resolution();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.dd.di.Shape <em>Shape</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Shape</em>'.
+ * @see org.eclipse.papyrus.dd.di.Shape
+ * @generated
+ */
+ EClass getShape();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.papyrus.dd.di.Shape#getBounds <em>Bounds</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Bounds</em>'.
+ * @see org.eclipse.papyrus.dd.di.Shape#getBounds()
+ * @see #getShape()
+ * @generated
+ */
+ EReference getShape_Bounds();
+
+ /**
+ * 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
+ */
+ DIFactory getDIFactory();
+
+ /**
+ * <!-- begin-user-doc --> Defines literals for the meta objects that
+ * represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.DiagramElementImpl
+ * <em>Diagram Element</em>}' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.DiagramElementImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getDiagramElement()
+ * @generated
+ */
+ EClass DIAGRAM_ELEMENT = eINSTANCE.getDiagramElement();
+
+ /**
+ * The meta object literal for the '<em><b>Model Element</b></em>'
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_ELEMENT__MODEL_ELEMENT = eINSTANCE
+ .getDiagramElement_ModelElement();
+
+ /**
+ * The meta object literal for the '<em><b>Owning Element</b></em>'
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_ELEMENT__OWNING_ELEMENT = eINSTANCE
+ .getDiagramElement_OwningElement();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Element</b></em>'
+ * reference list feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_ELEMENT__OWNED_ELEMENT = eINSTANCE
+ .getDiagramElement_OwnedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Local Style</b></em>'
+ * containment reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_ELEMENT__LOCAL_STYLE = eINSTANCE
+ .getDiagramElement_LocalStyle();
+
+ /**
+ * The meta object literal for the '<em><b>Shared Style</b></em>'
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DIAGRAM_ELEMENT__SHARED_STYLE = eINSTANCE
+ .getDiagramElement_SharedStyle();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.StyleImpl <em>Style</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.StyleImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getStyle()
+ * @generated
+ */
+ EClass STYLE = eINSTANCE.getStyle();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.EdgeImpl <em>Edge</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.EdgeImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getEdge()
+ * @generated
+ */
+ EClass EDGE = eINSTANCE.getEdge();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' reference
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE__SOURCE = eINSTANCE.getEdge_Source();
+
+ /**
+ * The meta object literal for the '<em><b>Target</b></em>' reference
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE__TARGET = eINSTANCE.getEdge_Target();
+
+ /**
+ * The meta object literal for the '<em><b>Waypoint</b></em>'
+ * containment reference list feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EDGE__WAYPOINT = eINSTANCE.getEdge_Waypoint();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.DiagramImpl <em>Diagram</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.DiagramImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getDiagram()
+ * @generated
+ */
+ EClass DIAGRAM = eINSTANCE.getDiagram();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute
+ * feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM__NAME = eINSTANCE.getDiagram_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Documentation</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM__DOCUMENTATION = eINSTANCE
+ .getDiagram_Documentation();
+
+ /**
+ * The meta object literal for the '<em><b>Resolution</b></em>'
+ * attribute feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DIAGRAM__RESOLUTION = eINSTANCE.getDiagram_Resolution();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.papyrus.dd.di.impl.ShapeImpl <em>Shape</em>}'
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.dd.di.impl.ShapeImpl
+ * @see org.eclipse.papyrus.dd.di.impl.DIPackageImpl#getShape()
+ * @generated
+ */
+ EClass SHAPE = eINSTANCE.getShape();
+
+ /**
+ * The meta object literal for the '<em><b>Bounds</b></em>' containment
+ * reference feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference SHAPE__BOUNDS = eINSTANCE.getShape_Bounds();
+
+ }
+
+} // DIPackage
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Diagram.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Diagram.java
new file mode 100644
index 00000000000..b689fe7bf6d
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Diagram.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Diagram</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Diagram is an abstract container of a graph of
+ * diagram elements. Diagrams are diagram elements with an origin point in the
+ * x-y coordinate system. Their elements are laid out relative to their origin
+ * point. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.di.Diagram#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.Diagram#getDocumentation <em>
+ * Documentation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.Diagram#getResolution <em>Resolution
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagram()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Diagram extends Shape {
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. The default
+ * value is <code>""</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> the name of the diagram. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagram_Name()
+ * @model default="" dataType="org.eclipse.papyrus.dd.dc.String"
+ * required="true" ordered="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.di.Diagram#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>Documentation</b></em>' attribute. The
+ * default value is <code>""</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> the documentation of the
+ * diagram. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Documentation</em>' attribute.
+ * @see #setDocumentation(String)
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagram_Documentation()
+ * @model default="" dataType="org.eclipse.papyrus.dd.dc.String"
+ * required="true" ordered="false"
+ * @generated
+ */
+ String getDocumentation();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.di.Diagram#getDocumentation
+ * <em>Documentation</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Documentation</em>' attribute.
+ * @see #getDocumentation()
+ * @generated
+ */
+ void setDocumentation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Resolution</b></em>' attribute. The
+ * default value is <code>"300"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> the resolution of the diagram
+ * expressed in user units per inch. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Resolution</em>' attribute.
+ * @see #setResolution(double)
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagram_Resolution()
+ * @model default="300" dataType="org.eclipse.papyrus.dd.dc.Real"
+ * required="true" ordered="false"
+ * @generated
+ */
+ double getResolution();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.di.Diagram#getResolution
+ * <em>Resolution</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Resolution</em>' attribute.
+ * @see #getResolution()
+ * @generated
+ */
+ void setResolution(double value);
+
+} // Diagram
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DiagramElement.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DiagramElement.java
new file mode 100644
index 00000000000..3be8491d81f
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/DiagramElement.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Diagram Element</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> DiagramElement is the abstract super type of all
+ * elements in diagrams, including diagrams themselves. When contained in a
+ * diagram, diagram elements are laid out relative to the diagram?s origin. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.di.DiagramElement#getModelElement <em>Model
+ * Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.DiagramElement#getOwningElement <em>
+ * Owning Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.DiagramElement#getOwnedElement <em>Owned
+ * Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.DiagramElement#getLocalStyle <em>Local
+ * Style</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.DiagramElement#getSharedStyle <em>Shared
+ * Style</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagramElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DiagramElement extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>Model Element</b></em>' reference. This
+ * feature is a derived union. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * <!-- begin-model-doc --> a reference to a depicted model element, which
+ * can be any MOF-based element <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Model Element</em>' reference.
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagramElement_ModelElement()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * ordered="false"
+ * @generated
+ */
+ EObject getModelElement();
+
+ /**
+ * Returns the value of the '<em><b>Owning Element</b></em>' reference. It
+ * is bidirectional and its opposite is '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getOwnedElement
+ * <em>Owned Element</em>}'. This feature is a derived union. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * reference to the diagram element that directly owns this diagram element.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Owning Element</em>' reference.
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagramElement_OwningElement()
+ * @see org.eclipse.papyrus.dd.di.DiagramElement#getOwnedElement
+ * @model opposite="ownedElement" transient="true" changeable="false"
+ * volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ DiagramElement getOwningElement();
+
+ /**
+ * Returns the value of the '<em><b>Owned Element</b></em>' reference list.
+ * The list contents are of type
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement}. It is bidirectional and
+ * its opposite is '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getOwningElement
+ * <em>Owning Element</em>}'. This feature is a derived union. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * collection of diagram elements that are directly owned by this diagram
+ * element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Owned Element</em>' reference list.
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagramElement_OwnedElement()
+ * @see org.eclipse.papyrus.dd.di.DiagramElement#getOwningElement
+ * @model opposite="owningElement" transient="true" changeable="false"
+ * volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<DiagramElement> getOwnedElement();
+
+ /**
+ * Returns the value of the '<em><b>Local Style</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> a reference to an optional locally-owned style for
+ * this diagram element. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Local Style</em>' containment reference.
+ * @see #setLocalStyle(Style)
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagramElement_LocalStyle()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ Style getLocalStyle();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getLocalStyle
+ * <em>Local Style</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Local Style</em>' containment
+ * reference.
+ * @see #getLocalStyle()
+ * @generated
+ */
+ void setLocalStyle(Style value);
+
+ /**
+ * Returns the value of the '<em><b>Shared Style</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> a
+ * reference to an optional shared style element for this diagram element.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Shared Style</em>' reference.
+ * @see #setSharedStyle(Style)
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getDiagramElement_SharedStyle()
+ * @model ordered="false"
+ * @generated
+ */
+ Style getSharedStyle();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.papyrus.dd.di.DiagramElement#getSharedStyle
+ * <em>Shared Style</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Shared Style</em>' reference.
+ * @see #getSharedStyle()
+ * @generated
+ */
+ void setSharedStyle(Style value);
+
+} // DiagramElement
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Edge.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Edge.java
new file mode 100644
index 00000000000..f766b5a43c5
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Edge.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.dd.dc.Point;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Edge</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Edge is a diagram element that renders as a
+ * polyline, connecting a source diagram element to a target diagram element,
+ * and is positioned relative to the origin of the diagram. <!-- end-model-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.di.Edge#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.Edge#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.Edge#getWaypoint <em>Waypoint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getEdge()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Edge extends DiagramElement {
+
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference. This feature
+ * is a derived union. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> the edge's source diagram element, i.e. where the
+ * edge starts from. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source</em>' reference.
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getEdge_Source()
+ * @model required="true" transient="true" changeable="false"
+ * volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ DiagramElement getSource();
+
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' reference. This feature
+ * is a derived union. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> the edge's target diagram element, i.e. where the
+ * edge ends at. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target</em>' reference.
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getEdge_Target()
+ * @model required="true" transient="true" changeable="false"
+ * volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ DiagramElement getTarget();
+
+ /**
+ * Returns the value of the '<em><b>Waypoint</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.papyrus.dd.dc.Point}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> an optional list of points
+ * relative to the origin of the nesting diagram that specifies the
+ * connected line segments of the edge <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Waypoint</em>' containment reference list.
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getEdge_Waypoint()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Point> getWaypoint();
+
+} // Edge
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Shape.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Shape.java
new file mode 100644
index 00000000000..c056f0b2d66
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Shape.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di;
+
+import org.eclipse.papyrus.dd.dc.Bounds;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Shape</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Shape is a diagram element with given bounds that is
+ * laid out relative to the origin of the diagram <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.di.Shape#getBounds <em>Bounds</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getShape()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Shape extends DiagramElement {
+
+ /**
+ * Returns the value of the '<em><b>Bounds</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * the optional bounds of the shape relative to the origin of its nesting
+ * plane. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Bounds</em>' containment reference.
+ * @see #setBounds(Bounds)
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getShape_Bounds()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ Bounds getBounds();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.dd.di.Shape#getBounds
+ * <em>Bounds</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Bounds</em>' containment reference.
+ * @see #getBounds()
+ * @generated
+ */
+ void setBounds(Bounds value);
+
+} // Shape
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Style.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Style.java
new file mode 100644
index 00000000000..7e96a1944f6
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/Style.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Style</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> Style contains formatting properties that affect the
+ * appearance or style of diagram elements, including diagram themselves. <!--
+ * end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.dd.di.DIPackage#getStyle()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Style extends EObject {
+} // Style
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DIFactoryImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DIFactoryImpl.java
new file mode 100644
index 00000000000..efbffda162e
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DIFactoryImpl.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.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.papyrus.dd.di.*;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class DIFactoryImpl extends EFactoryImpl implements DIFactory {
+
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static DIFactory init() {
+ try {
+ DIFactory theDIFactory = (DIFactory) EPackage.Registry.INSTANCE
+ .getEFactory(DIPackage.eNS_URI);
+ if (theDIFactory != null) {
+ return theDIFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DIFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DIFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName()
+ + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DIPackage getDIPackage() {
+ return (DIPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DIPackage getPackage() {
+ return DIPackage.eINSTANCE;
+ }
+
+} // DIFactoryImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DIPackageImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DIPackageImpl.java
new file mode 100644
index 00000000000..a8d4cdc3124
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DIPackageImpl.java
@@ -0,0 +1,489 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.dd.dc.DCPackage;
+
+import org.eclipse.papyrus.dd.di.DIFactory;
+import org.eclipse.papyrus.dd.di.DIPackage;
+import org.eclipse.papyrus.dd.di.Diagram;
+import org.eclipse.papyrus.dd.di.DiagramElement;
+import org.eclipse.papyrus.dd.di.Edge;
+import org.eclipse.papyrus.dd.di.Shape;
+import org.eclipse.papyrus.dd.di.Style;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class DIPackageImpl extends EPackageImpl implements DIPackage {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass diagramElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass styleEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass edgeEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass diagramEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass shapeEClass = 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.papyrus.dd.di.DIPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DIPackageImpl() {
+ super(eNS_URI, DIFactory.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 DIPackage#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 DIPackage init() {
+ if (isInited)
+ return (DIPackage) EPackage.Registry.INSTANCE
+ .getEPackage(DIPackage.eNS_URI);
+
+ // Obtain or create and register package
+ DIPackageImpl theDIPackage = (DIPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof DIPackageImpl ? EPackage.Registry.INSTANCE
+ .get(eNS_URI) : new DIPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ DCPackage.eINSTANCE.eClass();
+ EcorePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theDIPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDIPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theDIPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DIPackage.eNS_URI, theDIPackage);
+ return theDIPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDiagramElement() {
+ return diagramElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDiagramElement_ModelElement() {
+ return (EReference) diagramElementEClass.getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDiagramElement_OwningElement() {
+ return (EReference) diagramElementEClass.getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDiagramElement_OwnedElement() {
+ return (EReference) diagramElementEClass.getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDiagramElement_LocalStyle() {
+ return (EReference) diagramElementEClass.getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDiagramElement_SharedStyle() {
+ return (EReference) diagramElementEClass.getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStyle() {
+ return styleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEdge() {
+ return edgeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEdge_Source() {
+ return (EReference) edgeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEdge_Target() {
+ return (EReference) edgeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEdge_Waypoint() {
+ return (EReference) edgeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDiagram() {
+ return diagramEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDiagram_Name() {
+ return (EAttribute) diagramEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDiagram_Documentation() {
+ return (EAttribute) diagramEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDiagram_Resolution() {
+ return (EAttribute) diagramEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getShape() {
+ return shapeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getShape_Bounds() {
+ return (EReference) shapeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DIFactory getDIFactory() {
+ return (DIFactory) 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
+ diagramElementEClass = createEClass(DIAGRAM_ELEMENT);
+ createEReference(diagramElementEClass, DIAGRAM_ELEMENT__MODEL_ELEMENT);
+ createEReference(diagramElementEClass, DIAGRAM_ELEMENT__OWNING_ELEMENT);
+ createEReference(diagramElementEClass, DIAGRAM_ELEMENT__OWNED_ELEMENT);
+ createEReference(diagramElementEClass, DIAGRAM_ELEMENT__LOCAL_STYLE);
+ createEReference(diagramElementEClass, DIAGRAM_ELEMENT__SHARED_STYLE);
+
+ styleEClass = createEClass(STYLE);
+
+ edgeEClass = createEClass(EDGE);
+ createEReference(edgeEClass, EDGE__SOURCE);
+ createEReference(edgeEClass, EDGE__TARGET);
+ createEReference(edgeEClass, EDGE__WAYPOINT);
+
+ diagramEClass = createEClass(DIAGRAM);
+ createEAttribute(diagramEClass, DIAGRAM__NAME);
+ createEAttribute(diagramEClass, DIAGRAM__DOCUMENTATION);
+ createEAttribute(diagramEClass, DIAGRAM__RESOLUTION);
+
+ shapeEClass = createEClass(SHAPE);
+ createEReference(shapeEClass, SHAPE__BOUNDS);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized)
+ return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE
+ .getEPackage(EcorePackage.eNS_URI);
+ DCPackage theDCPackage = (DCPackage) EPackage.Registry.INSTANCE
+ .getEPackage(DCPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ edgeEClass.getESuperTypes().add(this.getDiagramElement());
+ diagramEClass.getESuperTypes().add(this.getShape());
+ shapeEClass.getESuperTypes().add(this.getDiagramElement());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(diagramElementEClass, DiagramElement.class,
+ "DiagramElement", IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDiagramElement_ModelElement(),
+ theEcorePackage.getEObject(), null, "modelElement", null, 0, 1,
+ DiagramElement.class, IS_TRANSIENT, IS_VOLATILE,
+ !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getDiagramElement_OwningElement(),
+ this.getDiagramElement(),
+ this.getDiagramElement_OwnedElement(), "owningElement", null,
+ 0, 1, DiagramElement.class, IS_TRANSIENT, IS_VOLATILE,
+ !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getDiagramElement_OwnedElement(),
+ this.getDiagramElement(),
+ this.getDiagramElement_OwningElement(), "ownedElement", null,
+ 0, -1, DiagramElement.class, IS_TRANSIENT, IS_VOLATILE,
+ !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getDiagramElement_LocalStyle(), this.getStyle(), null,
+ "localStyle", null, 0, 1, DiagramElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDiagramElement_SharedStyle(), this.getStyle(), null,
+ "sharedStyle", null, 0, 1, DiagramElement.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(styleEClass, Style.class, "Style", IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(edgeEClass, Edge.class, "Edge", IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEdge_Source(), this.getDiagramElement(), null,
+ "source", null, 1, 1, Edge.class, IS_TRANSIENT, IS_VOLATILE,
+ !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getEdge_Target(), this.getDiagramElement(), null,
+ "target", null, 1, 1, Edge.class, IS_TRANSIENT, IS_VOLATILE,
+ !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getEdge_Waypoint(), theDCPackage.getPoint(), null,
+ "waypoint", null, 0, -1, Edge.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(diagramEClass, Diagram.class, "Diagram", IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDiagram_Name(), theDCPackage.getString(), "name", "",
+ 1, 1, Diagram.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ !IS_ORDERED);
+ initEAttribute(getDiagram_Documentation(), theDCPackage.getString(),
+ "documentation", "", 1, 1, Diagram.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDiagram_Resolution(), theDCPackage.getReal(),
+ "resolution", "300", 1, 1, Diagram.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(shapeEClass, Shape.class, "Shape", IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getShape_Bounds(), theDCPackage.getBounds(), null,
+ "bounds", null, 0, 1, Shape.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // union
+ createUnionAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>union</b>. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createUnionAnnotations() {
+ String source = "union";
+ addAnnotation(getDiagramElement_ModelElement(), source, new String[] {});
+ addAnnotation(getDiagramElement_OwningElement(), source,
+ new String[] {});
+ addAnnotation(getDiagramElement_OwnedElement(), source, new String[] {});
+ addAnnotation(getEdge_Source(), source, new String[] {});
+ addAnnotation(getEdge_Target(), source, new String[] {});
+ }
+
+} // DIPackageImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DiagramElementImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DiagramElementImpl.java
new file mode 100644
index 00000000000..e6e2f804f33
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DiagramElementImpl.java
@@ -0,0 +1,374 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.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.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.dd.di.DIPackage;
+import org.eclipse.papyrus.dd.di.DiagramElement;
+import org.eclipse.papyrus.dd.di.Style;
+
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Diagram Element</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.DiagramElementImpl#getModelElement
+ * <em>Model Element</em>}</li>
+ * <li>
+ * {@link org.eclipse.papyrus.dd.di.impl.DiagramElementImpl#getOwningElement
+ * <em>Owning Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.DiagramElementImpl#getOwnedElement
+ * <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.DiagramElementImpl#getLocalStyle
+ * <em>Local Style</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.DiagramElementImpl#getSharedStyle
+ * <em>Shared Style</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class DiagramElementImpl extends MinimalEObjectImpl.Container
+ implements DiagramElement {
+
+ /**
+ * The cached value of the '{@link #getLocalStyle() <em>Local Style</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLocalStyle()
+ * @generated
+ * @ordered
+ */
+ protected Style localStyle;
+
+ /**
+ * The cached value of the '{@link #getSharedStyle() <em>Shared Style</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSharedStyle()
+ * @generated
+ * @ordered
+ */
+ protected Style sharedStyle;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiagramElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DIPackage.Literals.DIAGRAM_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject getModelElement() {
+ EObject modelElement = basicGetModelElement();
+ return modelElement != null && modelElement.eIsProxy() ? eResolveProxy((InternalEObject) modelElement)
+ : modelElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject basicGetModelElement() {
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramElement getOwningElement() {
+ DiagramElement owningElement = basicGetOwningElement();
+ return owningElement != null && owningElement.eIsProxy() ? (DiagramElement) eResolveProxy((InternalEObject) owningElement)
+ : owningElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramElement basicGetOwningElement() {
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<DiagramElement> getOwnedElement() {
+ return new DerivedUnionEObjectEList<DiagramElement>(
+ DiagramElement.class, this,
+ DIPackage.DIAGRAM_ELEMENT__OWNED_ELEMENT, null);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Style getLocalStyle() {
+ return localStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetLocalStyle(Style newLocalStyle,
+ NotificationChain msgs) {
+ Style oldLocalStyle = localStyle;
+ localStyle = newLocalStyle;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE,
+ oldLocalStyle, newLocalStyle);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLocalStyle(Style newLocalStyle) {
+ if (newLocalStyle != localStyle) {
+ NotificationChain msgs = null;
+ if (localStyle != null)
+ msgs = ((InternalEObject) localStyle).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE, null,
+ msgs);
+ if (newLocalStyle != null)
+ msgs = ((InternalEObject) newLocalStyle).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE, null,
+ msgs);
+ msgs = basicSetLocalStyle(newLocalStyle, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE, newLocalStyle,
+ newLocalStyle));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Style getSharedStyle() {
+ if (sharedStyle != null && sharedStyle.eIsProxy()) {
+ InternalEObject oldSharedStyle = (InternalEObject) sharedStyle;
+ sharedStyle = (Style) eResolveProxy(oldSharedStyle);
+ if (sharedStyle != oldSharedStyle) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ DIPackage.DIAGRAM_ELEMENT__SHARED_STYLE,
+ oldSharedStyle, sharedStyle));
+ }
+ }
+ return sharedStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Style basicGetSharedStyle() {
+ return sharedStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSharedStyle(Style newSharedStyle) {
+ Style oldSharedStyle = sharedStyle;
+ sharedStyle = newSharedStyle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DIPackage.DIAGRAM_ELEMENT__SHARED_STYLE, oldSharedStyle,
+ sharedStyle));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE:
+ return basicSetLocalStyle(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 DIPackage.DIAGRAM_ELEMENT__MODEL_ELEMENT:
+ if (resolve)
+ return getModelElement();
+ return basicGetModelElement();
+ case DIPackage.DIAGRAM_ELEMENT__OWNING_ELEMENT:
+ if (resolve)
+ return getOwningElement();
+ return basicGetOwningElement();
+ case DIPackage.DIAGRAM_ELEMENT__OWNED_ELEMENT:
+ return getOwnedElement();
+ case DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE:
+ return getLocalStyle();
+ case DIPackage.DIAGRAM_ELEMENT__SHARED_STYLE:
+ if (resolve)
+ return getSharedStyle();
+ return basicGetSharedStyle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE:
+ setLocalStyle((Style) newValue);
+ return;
+ case DIPackage.DIAGRAM_ELEMENT__SHARED_STYLE:
+ setSharedStyle((Style) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE:
+ setLocalStyle((Style) null);
+ return;
+ case DIPackage.DIAGRAM_ELEMENT__SHARED_STYLE:
+ setSharedStyle((Style) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DIPackage.DIAGRAM_ELEMENT__MODEL_ELEMENT:
+ return isSetModelElement();
+ case DIPackage.DIAGRAM_ELEMENT__OWNING_ELEMENT:
+ return isSetOwningElement();
+ case DIPackage.DIAGRAM_ELEMENT__OWNED_ELEMENT:
+ return isSetOwnedElement();
+ case DIPackage.DIAGRAM_ELEMENT__LOCAL_STYLE:
+ return localStyle != null;
+ case DIPackage.DIAGRAM_ELEMENT__SHARED_STYLE:
+ return sharedStyle != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetModelElement() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetOwningElement() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetOwnedElement() {
+ return false;
+ }
+
+} // DiagramElementImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DiagramImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DiagramImpl.java
new file mode 100644
index 00000000000..1dba0ed50c5
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/DiagramImpl.java
@@ -0,0 +1,290 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.dd.di.DIPackage;
+import org.eclipse.papyrus.dd.di.Diagram;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Diagram</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.DiagramImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.DiagramImpl#getDocumentation <em>
+ * Documentation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.DiagramImpl#getResolution <em>
+ * Resolution</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class DiagramImpl extends ShapeImpl implements Diagram {
+
+ /**
+ * 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 = "";
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * 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 = "";
+
+ /**
+ * The cached value of the '{@link #getDocumentation()
+ * <em>Documentation</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getResolution() <em>Resolution</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getResolution()
+ * @generated
+ * @ordered
+ */
+ protected static final double RESOLUTION_EDEFAULT = 300.0;
+
+ /**
+ * The cached value of the '{@link #getResolution() <em>Resolution</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getResolution()
+ * @generated
+ * @ordered
+ */
+ protected double resolution = RESOLUTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiagramImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DIPackage.Literals.DIAGRAM;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DIPackage.DIAGRAM__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DIPackage.DIAGRAM__DOCUMENTATION, oldDocumentation,
+ documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public double getResolution() {
+ return resolution;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setResolution(double newResolution) {
+ double oldResolution = resolution;
+ resolution = newResolution;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DIPackage.DIAGRAM__RESOLUTION, oldResolution, resolution));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DIPackage.DIAGRAM__NAME:
+ return getName();
+ case DIPackage.DIAGRAM__DOCUMENTATION:
+ return getDocumentation();
+ case DIPackage.DIAGRAM__RESOLUTION:
+ return getResolution();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DIPackage.DIAGRAM__NAME:
+ setName((String) newValue);
+ return;
+ case DIPackage.DIAGRAM__DOCUMENTATION:
+ setDocumentation((String) newValue);
+ return;
+ case DIPackage.DIAGRAM__RESOLUTION:
+ setResolution((Double) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DIPackage.DIAGRAM__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case DIPackage.DIAGRAM__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ case DIPackage.DIAGRAM__RESOLUTION:
+ setResolution(RESOLUTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DIPackage.DIAGRAM__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case DIPackage.DIAGRAM__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null
+ : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ case DIPackage.DIAGRAM__RESOLUTION:
+ return resolution != RESOLUTION_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", documentation: ");
+ result.append(documentation);
+ result.append(", resolution: ");
+ result.append(resolution);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DiagramImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/EdgeImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/EdgeImpl.java
new file mode 100644
index 00000000000..31f9e1fdbae
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/EdgeImpl.java
@@ -0,0 +1,239 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.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.papyrus.dd.dc.Point;
+
+import org.eclipse.papyrus.dd.di.DIPackage;
+import org.eclipse.papyrus.dd.di.DiagramElement;
+import org.eclipse.papyrus.dd.di.Edge;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Edge</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.EdgeImpl#getSource <em>Source</em>}
+ * </li>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.EdgeImpl#getTarget <em>Target</em>}
+ * </li>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.EdgeImpl#getWaypoint <em>Waypoint
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class EdgeImpl extends DiagramElementImpl implements Edge {
+
+ /**
+ * The cached value of the '{@link #getWaypoint() <em>Waypoint</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getWaypoint()
+ * @generated
+ * @ordered
+ */
+ protected EList<Point> waypoint;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EdgeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DIPackage.Literals.EDGE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramElement getSource() {
+ DiagramElement source = basicGetSource();
+ return source != null && source.eIsProxy() ? (DiagramElement) eResolveProxy((InternalEObject) source)
+ : source;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramElement basicGetSource() {
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramElement getTarget() {
+ DiagramElement target = basicGetTarget();
+ return target != null && target.eIsProxy() ? (DiagramElement) eResolveProxy((InternalEObject) target)
+ : target;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DiagramElement basicGetTarget() {
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Point> getWaypoint() {
+ if (waypoint == null) {
+ waypoint = new EObjectContainmentEList<Point>(Point.class, this,
+ DIPackage.EDGE__WAYPOINT);
+ }
+ return waypoint;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DIPackage.EDGE__WAYPOINT:
+ return ((InternalEList<?>) getWaypoint()).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 DIPackage.EDGE__SOURCE:
+ if (resolve)
+ return getSource();
+ return basicGetSource();
+ case DIPackage.EDGE__TARGET:
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ case DIPackage.EDGE__WAYPOINT:
+ return getWaypoint();
+ }
+ 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 DIPackage.EDGE__WAYPOINT:
+ getWaypoint().clear();
+ getWaypoint().addAll((Collection<? extends Point>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DIPackage.EDGE__WAYPOINT:
+ getWaypoint().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DIPackage.EDGE__SOURCE:
+ return isSetSource();
+ case DIPackage.EDGE__TARGET:
+ return isSetTarget();
+ case DIPackage.EDGE__WAYPOINT:
+ return waypoint != null && !waypoint.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetSource() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetTarget() {
+ return false;
+ }
+
+} // EdgeImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/ShapeImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/ShapeImpl.java
new file mode 100644
index 00000000000..9c4874c3379
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/ShapeImpl.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.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.papyrus.dd.dc.Bounds;
+
+import org.eclipse.papyrus.dd.di.DIPackage;
+import org.eclipse.papyrus.dd.di.Shape;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Shape</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.dd.di.impl.ShapeImpl#getBounds <em>Bounds
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ShapeImpl extends DiagramElementImpl implements Shape {
+
+ /**
+ * The cached value of the '{@link #getBounds() <em>Bounds</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBounds()
+ * @generated
+ * @ordered
+ */
+ protected Bounds bounds;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ShapeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DIPackage.Literals.SHAPE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Bounds getBounds() {
+ return bounds;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBounds(Bounds newBounds,
+ NotificationChain msgs) {
+ Bounds oldBounds = bounds;
+ bounds = newBounds;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, DIPackage.SHAPE__BOUNDS, oldBounds,
+ newBounds);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBounds(Bounds newBounds) {
+ if (newBounds != bounds) {
+ NotificationChain msgs = null;
+ if (bounds != null)
+ msgs = ((InternalEObject) bounds).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - DIPackage.SHAPE__BOUNDS, null,
+ msgs);
+ if (newBounds != null)
+ msgs = ((InternalEObject) newBounds).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - DIPackage.SHAPE__BOUNDS, null,
+ msgs);
+ msgs = basicSetBounds(newBounds, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DIPackage.SHAPE__BOUNDS, newBounds, newBounds));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DIPackage.SHAPE__BOUNDS:
+ return basicSetBounds(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 DIPackage.SHAPE__BOUNDS:
+ return getBounds();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DIPackage.SHAPE__BOUNDS:
+ setBounds((Bounds) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DIPackage.SHAPE__BOUNDS:
+ setBounds((Bounds) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DIPackage.SHAPE__BOUNDS:
+ return bounds != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ShapeImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/StyleImpl.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/StyleImpl.java
new file mode 100644
index 00000000000..6c537dde9f8
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/impl/StyleImpl.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.dd.di.DIPackage;
+import org.eclipse.papyrus.dd.di.Style;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Style</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class StyleImpl extends MinimalEObjectImpl.Container implements
+ Style {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DIPackage.Literals.STYLE;
+ }
+
+} // StyleImpl
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/util/DIAdapterFactory.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/util/DIAdapterFactory.java
new file mode 100644
index 00000000000..c7e774f81fe
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/util/DIAdapterFactory.java
@@ -0,0 +1,211 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.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.papyrus.dd.di.*;
+
+/**
+ * <!-- 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.papyrus.dd.di.DIPackage
+ * @generated
+ */
+public class DIAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DIPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DIAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = DIPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+ * the object is either the model's package or is an instance object of the
+ * model. <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DISwitch<Adapter> modelSwitch = new DISwitch<Adapter>() {
+
+ @Override
+ public Adapter caseDiagramElement(DiagramElement object) {
+ return createDiagramElementAdapter();
+ }
+
+ @Override
+ public Adapter caseStyle(Style object) {
+ return createStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseEdge(Edge object) {
+ return createEdgeAdapter();
+ }
+
+ @Override
+ public Adapter caseDiagram(Diagram object) {
+ return createDiagramAdapter();
+ }
+
+ @Override
+ public Adapter caseShape(Shape object) {
+ return createShapeAdapter();
+ }
+
+ @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.papyrus.dd.di.DiagramElement <em>Diagram 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.papyrus.dd.di.DiagramElement
+ * @generated
+ */
+ public Adapter createDiagramElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.di.Style <em>Style</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.papyrus.dd.di.Style
+ * @generated
+ */
+ public Adapter createStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.di.Edge <em>Edge</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.papyrus.dd.di.Edge
+ * @generated
+ */
+ public Adapter createEdgeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.di.Diagram <em>Diagram</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.papyrus.dd.di.Diagram
+ * @generated
+ */
+ public Adapter createDiagramAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.dd.di.Shape <em>Shape</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.papyrus.dd.di.Shape
+ * @generated
+ */
+ public Adapter createShapeAdapter() {
+ 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;
+ }
+
+} // DIAdapterFactory
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/util/DISwitch.java b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/util/DISwitch.java
new file mode 100644
index 00000000000..031d2bc919b
--- /dev/null
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.dd/src/org/eclipse/papyrus/dd/di/util/DISwitch.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.dd.di.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.dd.di.*;
+
+/**
+ * <!-- 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.papyrus.dd.di.DIPackage
+ * @generated
+ */
+public class DISwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DIPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public DISwitch() {
+ if (modelPackage == null) {
+ modelPackage = DIPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns
+ * a non null result; it yields that result. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code>
+ * call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case DIPackage.DIAGRAM_ELEMENT: {
+ DiagramElement diagramElement = (DiagramElement) theEObject;
+ T result = caseDiagramElement(diagramElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DIPackage.STYLE: {
+ Style style = (Style) theEObject;
+ T result = caseStyle(style);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DIPackage.EDGE: {
+ Edge edge = (Edge) theEObject;
+ T result = caseEdge(edge);
+ if (result == null)
+ result = caseDiagramElement(edge);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DIPackage.DIAGRAM: {
+ Diagram diagram = (Diagram) theEObject;
+ T result = caseDiagram(diagram);
+ if (result == null)
+ result = caseShape(diagram);
+ if (result == null)
+ result = caseDiagramElement(diagram);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case DIPackage.SHAPE: {
+ Shape shape = (Shape) theEObject;
+ T result = caseShape(shape);
+ if (result == null)
+ result = caseDiagramElement(shape);
+ 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 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>Diagram Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagramElement(DiagramElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Style</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>Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyle(Style object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Edge</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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEdge(Edge object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Diagram</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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagram(Diagram object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Shape</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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseShape(Shape object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>EObject</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch, but this is
+ * the last case anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // DISwitch

Back to the top