aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2018-05-17 02:38:23 -0400
committerEike Stepper2018-05-17 02:38:23 -0400
commit42e8ce5b370c45e726f4db06615f3c85d57c3ea1 (patch)
tree28ab32e844b4fa55db89969453b9d6d9ba1e7b42
parent23099f7ca473d72f8c0df820bbfd3bc0d8e53b93 (diff)
downloadcdo-42e8ce5b370c45e726f4db06615f3c85d57c3ea1.tar.gz
cdo-42e8ce5b370c45e726f4db06615f3c85d57c3ea1.tar.xz
cdo-42e8ce5b370c45e726f4db06615f3c85d57c3ea1.zip
[534791] Natively support GMF Notation instances (GMF4CDO)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=534791
-rw-r--r--features/org.eclipse.emf.cdo.all-feature/feature.xml9
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.classpath7
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.project58
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/.api_filters35
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.core.prefs427
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.launching.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.ui.prefs119
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.ltk.core.refactoring.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.mylyn.tasks.ui.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.mylyn.team.ui.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.pde.api.tools.prefs95
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/HandWrittenClasses.rtf346
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/META-INF/MANIFEST.MF14
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/Migrate GMF Notation.launch17
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/about.html28
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/build.properties26
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/migrate.ant249
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/plugin.properties11
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/plugin.xml22
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/pom.xml31
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ArrowStyleImpl.java205
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicCompartmentImpl.java395
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicDecorationNodeImpl.java537
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicSemanticCompartmentImpl.java449
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BooleanListValueStyleImpl.java145
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BooleanValueStyleImpl.java161
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BoundsImpl.java262
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ByteArrayValueStyleImpl.java161
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/CanonicalStyleImpl.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/CompartmentImpl.java453
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ConnectorImpl.java858
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ConnectorStyleImpl.java327
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DataTypeStyleImpl.java194
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DecorationNodeImpl.java279
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DescriptionStyleImpl.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramImpl.java561
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramLinkStyleImpl.java168
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramStyleImpl.java331
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DoubleListValueStyleImpl.java145
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DoubleValueStyleImpl.java161
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DrawerStyleImpl.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EObjectListValueStyleImpl.java145
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EObjectValueStyleImpl.java165
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EdgeImpl.java598
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FillStyleImpl.java250
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FilteringStyleImpl.java280
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FontStyleImpl.java423
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/GuideImpl.java216
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/GuideStyleImpl.java194
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/HintedDiagramLinkStyleImpl.java165
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IdentityAnchorImpl.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageBufferStyleImpl.java207
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageImpl.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageStyleImpl.java269
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IntListValueStyleImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IntValueStyleImpl.java160
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LineStyleImpl.java208
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LineTypeStyleImpl.java164
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ListCompartmentImpl.java669
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ListValueStyleImpl.java225
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LocationImpl.java208
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/MultiDiagramLinkStyleImpl.java148
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NamedStyleImpl.java163
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NodeEntryImpl.java301
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NodeImpl.java320
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationEObjectImpl.java87
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationFactoryImpl.java1630
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationPackageImpl.java3628
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/PageStyleImpl.java290
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/PropertiesSetStyleImpl.java269
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/PropertyValueImpl.java281
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/RatioImpl.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/RelativeBendpointsImpl.java215
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/RoundedCornersStyleImpl.java165
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/RoutingStyleImpl.java419
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/SemanticListCompartmentImpl.java680
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ShapeImpl.java1035
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ShapeStyleImpl.java603
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/SingleValueStyleImpl.java218
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/SizeImpl.java208
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/SortingStyleImpl.java286
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/StandardDiagramImpl.java704
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/StringListValueStyleImpl.java145
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/StringToPropertyValueMapEntryImpl.java313
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/StringValueStyleImpl.java160
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/TextStyleImpl.java164
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/TitleStyleImpl.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ViewImpl.java759
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/templates/BasicDecorationNodeImpl.java246
-rw-r--r--plugins/org.eclipse.emf.cdo.gmf.notation/templates/DecorationNodeImpl.java197
-rw-r--r--releng/org.eclipse.emf.cdo.releng.parent/plugins/pom.xml1
-rw-r--r--releng/org.eclipse.emf.cdo.releng.site/category.xml1
94 files changed, 26827 insertions, 1 deletions
diff --git a/features/org.eclipse.emf.cdo.all-feature/feature.xml b/features/org.eclipse.emf.cdo.all-feature/feature.xml
index 84ca2f0eb4..e00cd7c4cf 100644
--- a/features/org.eclipse.emf.cdo.all-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo.all-feature/feature.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2009, 2011, 2017 Eike Stepper (Berlin, Germany) and others.
+ Copyright (c) 2009, 2011, 2017, 2018 Eike Stepper (Berlin, Germany) and others.
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
@@ -128,6 +128,13 @@
unpack="false"/>
<plugin
+ id="org.eclipse.emf.cdo.gmf.notation"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
id="org.eclipse.emf.cdo.ecore"
download-size="0"
install-size="0"
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.classpath b/plugins/org.eclipse.emf.cdo.gmf.notation/.classpath
new file mode 100644
index 0000000000..64c5e31b7a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.project b/plugins/org.eclipse.emf.cdo.gmf.notation/.project
new file mode 100644
index 0000000000..c9b9a51944
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.project
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.cdo.gmf.notation</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>check.maven.pom</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>ignore.lower.bound.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.emf.cdo.releng/versions/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1396938000000</id>
+ <name></name>
+ <type>10</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-true-false-target</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/.api_filters b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/.api_filters
new file mode 100644
index 0000000000..341e6883e9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/.api_filters
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.cdo.admin" version="2">
+ <resource path="src/org/eclipse/emf/cdo/admin/CDOAdminClient.java" type="org.eclipse.emf.cdo.admin.CDOAdminClient">
+ <filter id="571473929">
+ <message_arguments>
+ <message_argument value="CDOAdmin"/>
+ <message_argument value="CDOAdminClient"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/cdo/admin/CDOAdminClientRepository.java" type="org.eclipse.emf.cdo.admin.CDOAdminClientRepository">
+ <filter id="571473929">
+ <message_arguments>
+ <message_argument value="CDOAdminRepository"/>
+ <message_argument value="CDOAdminClientRepository"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/cdo/internal/admin/CDOAdminClientRepositoryImpl.java" type="org.eclipse.emf.cdo.internal.admin.CDOAdminClientRepositoryImpl">
+ <filter id="574660632">
+ <message_arguments>
+ <message_argument value="CDOAdminClientRepository"/>
+ <message_argument value="CDOAdminRepository"/>
+ <message_argument value="CDOAdminClientRepositoryImpl"/>
+ </message_arguments>
+ </filter>
+ <filter id="574668824">
+ <message_arguments>
+ <message_argument value="CDOAdminClientRepository"/>
+ <message_argument value="CDOAdminClientRepositoryImpl"/>
+ <message_argument value="CDOAdminRepository"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..31269a7b24
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 04 12:59:04 CEST 2011
+eclipse.preferences.version=1
+
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..51781f086a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,427 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.ucls,doc-files/,package.html,package-info.java
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=ignore
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=ignore
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=2
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=160
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000000..556ed07a3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+#Fri Sep 02 05:38:34 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..d193d20ed0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,119 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=false
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_EMFT
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_EMFT
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004-2018 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=false
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..864e30fe5d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000000..b050639a54
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+project.repository.kind=bugzilla
+project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000000..97c11e6725
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.mylyn.team.ui.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+commit.comment.template=[${task.id}] ${task.description}\r\n\r\n${task.url}
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000000..0c17d59e45
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,95 @@
+#Thu Feb 04 09:44:24 CET 2010
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+MISSING_EE_DESCRIPTIONS=Warning
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..fe01bb701d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=2
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/HandWrittenClasses.rtf b/plugins/org.eclipse.emf.cdo.gmf.notation/HandWrittenClasses.rtf
new file mode 100644
index 0000000000..13c424f515
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/HandWrittenClasses.rtf
@@ -0,0 +1,346 @@
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang1031\deflangfe1031\themelang1031\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
+{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}
+{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f39\fbidi \fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Consolas;}
+{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f60\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
+{\f61\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f63\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f64\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f65\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
+{\f66\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f67\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f68\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f410\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
+{\f411\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f413\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f414\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f417\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
+{\f418\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f430\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f431\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f433\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}
+{\f434\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f437\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f438\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
+{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
+{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
+{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;
+\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;
+\caccentone\ctint255\cshade191\red54\green95\blue145;\red0\green176\blue80;\cbackgroundone\ctint255\cshade166\red166\green166\blue166;}{\*\defchp \f31506\fs22\lang1031\langfe1033\langfenp1033 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
+\f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 \snext0 \sqformat \spriority0 \styrsid3428071 Normal;}{\s1\ql \li0\ri0\sb480\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af31503\afs28\alang1025 \ltrch\fcs0 \b\fs28\cf17\lang1031\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1033 \sbasedon0 \snext0 \slink17 \sqformat \spriority9 \styrsid6697859 heading 1;}{\*\cs10 \additive
+\ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{
+\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 \f38\fs16\lang1031\langfe1033\cgrid\langnp1031\langfenp1033
+\sbasedon0 \snext15 \slink16 \ssemihidden \sunhideused \styrsid6697859 Balloon Text;}{\*\cs16 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 \f38\fs16 \sbasedon10 \slink15 \slocked \ssemihidden \styrsid6697859 Sprechblasentext Zchn;}{\*\cs17 \additive
+\rtlch\fcs1 \ab\af31503\afs28 \ltrch\fcs0 \b\fs28\cf17\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 \styrsid6697859 \'dcberschrift 1 Zchn;}{
+\s18\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033
+\sbasedon0 \snext18 \sqformat \spriority34 \styrsid8677487 List Paragraph;}}{\*\listtable{\list\listtemplateid1358330524\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67567629\'01\u-3844 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers
+;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}
+\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0
+\fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0
+\fi-360\li6480\lin6480 }{\listname ;}\listid268247506}{\list\listtemplateid-1271612510\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567617
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}
+\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}
+\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0
+\fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0
+\fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0
+\fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname
+;}\listid563838075}{\list\listtemplateid861568562\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0
+\fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0
+\fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0
+\fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid651253722}{\list\listtemplateid125979140
+\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1395026884\'01\'d7;}{\levelnumbers;}\f39\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
+\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
+{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid669068534}{\list\listtemplateid-909839206\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li6480\lin6480 }{\listname ;}\listid1632905090}{\list\listtemplateid13676086\listhybrid{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1395026884\'01\'d7;}{\levelnumbers;}\f39\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
+\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid1872644003}}{\*\listoverridetable{\listoverride\listid651253722\listoverridecount0\ls1}{\listoverride\listid563838075\listoverridecount0\ls2}
+{\listoverride\listid1872644003\listoverridecount0\ls3}{\listoverride\listid268247506\listoverridecount0\ls4}{\listoverride\listid669068534\listoverridecount0\ls5}{\listoverride\listid1632905090\listoverridecount0\ls6}}{\*\rsidtbl \rsid73594\rsid159725
+\rsid222040\rsid475321\rsid1468703\rsid1601925\rsid1721077\rsid2055654\rsid2772090\rsid2818155\rsid3038808\rsid3042417\rsid3301411\rsid3370573\rsid3428071\rsid3428507\rsid3492082\rsid3937264\rsid3959680\rsid4204535\rsid4264561\rsid4654776\rsid4734784
+\rsid4880534\rsid5466393\rsid5515932\rsid5581108\rsid5637325\rsid5717460\rsid5900910\rsid5990547\rsid6116843\rsid6697859\rsid7096081\rsid7144093\rsid7348292\rsid7962217\rsid8605382\rsid8677487\rsid8939020\rsid9272076\rsid9375894\rsid10302745\rsid10495180
+\rsid10565515\rsid10845159\rsid11798261\rsid12201342\rsid12599026\rsid13574488\rsid13647883\rsid14901175\rsid15744354\rsid16065543\rsid16454549\rsid16582473}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1
+\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Stepper}{\operator Stepper}{\creatim\yr2018\mo4\dy16\hr9\min54}{\revtim\yr2018\mo4\dy16\hr9\min54}{\printim\yr2018\mo4\dy6\hr9\min3}{\version2}{\edmins0}{\nofpages1}{\nofwords133}{\nofchars842}
+{\*\company Microsoft}{\nofcharsws974}{\vern32775}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11906\paperh16838\margl720\margr720\margt567\margb720\gutter0\ltrsect
+\deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves1\trackformatting1\donotembedsysfont1\relyonvml1\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0
+\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace110\dgvspace180\dghorigin720\dgvorigin567\dghshow2\dgvshow1
+\jexpand\viewkind1\viewscale180\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\rsidroot6697859\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
+{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10565515\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
+{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
+{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
+\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3937264 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
+\f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid8677487 View}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid10495180 }{\rtlch\fcs1 \af31507
+\ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid10495180 {\field{\*\fldinst SYMBOL 174 \\f "Symbol" \\s 11}{\fldrslt\f3\fs22}}}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid10495180 EModelElement}{\rtlch\fcs1 \af31507
+\ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid8677487
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}\pard\plain \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3492082\contextualspace \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 Visible}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (eflags)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Type}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Mutable}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (eflags)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Source Edges}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Target Edges}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Persisted Children}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Transient Children}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Styles}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Element}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Diagram}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (derived)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3937264 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1
+\af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid8677487
+\par Node}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid10495180 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid10495180 {\field{\*\fldinst SYMBOL 174 \\f "Symbol" \\s 11}{\fldrslt\f3\fs22}}}{\rtlch\fcs1
+\af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid10495180 View}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid8677487
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}\pard\plain \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3492082\contextualspace \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 Visible
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Type
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Mutable
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Source Edges
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Target Edges
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Persisted Children
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Transient Children
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Styles
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Element
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Diagram
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894 Layout Constraint}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3492082 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid9375894
+\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3937264 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1
+\af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid8677487
+\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf6\lang2057\langfe1033\langnp2057\insrsid8677487\charrsid12201342 BasicDecorationNode}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid10495180 }{\rtlch\fcs1 \af31507 \ltrch\fcs0
+\lang2057\langfe1033\langnp2057\insrsid10495180 {\field{\*\fldinst SYMBOL 174 \\f "Symbol" \\s 11}{\fldrslt\f3\fs22}}}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid10495180 }{\rtlch\fcs1 \af31507 \ltrch\fcs0
+\strike\cf19\lang2057\langfe1033\langnp2057\insrsid10495180\charrsid3042417 Node}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid475321 EModelElement}{\rtlch\fcs1 \af31507 \ltrch\fcs0
+\lang2057\langfe1033\langnp2057\insrsid8677487
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}\pard\plain \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid5515932\contextualspace \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 Visible}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid5515932 \tab (eflags)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Type}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid5515932 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Mutable}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid5515932 \tab (eflags)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf6\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}}\pard \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls5\rin0\lin720\itap0\pararsid5515932\contextualspace {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf6\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 Source Edges
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf6\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}Target Edges
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf6\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}Persisted Children
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf6\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}Transient Children
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf6\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}Styles
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}\pard \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid5515932\contextualspace {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 Element}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid5515932 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Diagram}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid5515932 \tab (derived)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf6\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}}\pard \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls5\rin0\lin720\itap0\pararsid5515932\contextualspace {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf6\lang2057\langfe1033\langnp2057\insrsid9375894\charrsid9375894 Layout Constraint
+\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3301411 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1
+\af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid3301411
+\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid16065543 DecorationNode}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid3301411 }{\rtlch\fcs1 \af31507 \ltrch\fcs0
+\lang2057\langfe1033\langnp2057\insrsid3301411 {\field{\*\fldinst SYMBOL 174 \\f "Symbol" \\s 11}{\fldrslt\f3\fs22}}}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid3301411 }{\rtlch\fcs1 \af31507 \ltrch\fcs0
+\cf6\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid12201342 BasicDecorationNode}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid3301411
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}\pard\plain \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3301411\contextualspace \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 Visible
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Type
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Mutable
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid3959680 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}}\pard \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls5\rin0\lin720\itap0\pararsid3301411\contextualspace {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid3959680 Source Edges
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid3959680 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}Target Edges
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}\pard \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3301411\contextualspace {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 Persisted Children}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Transient Children}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Styles}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 Element
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Diagram
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 Layout Constraint}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894
+\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3301411 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1
+\af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid3301411
+\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid16065543 BasicSemanticCompartment}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid3301411 }{\rtlch\fcs1 \af31507 \ltrch\fcs0
+\lang2057\langfe1033\langnp2057\insrsid3301411 {\field{\*\fldinst SYMBOL 174 \\f "Symbol" \\s 11}{\fldrslt\f3\fs22}}}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid3301411 }{\rtlch\fcs1 \af31507 \ltrch\fcs0
+\cf6\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid12201342 BasicDecorationNode}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid3301411
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}\pard\plain \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3301411\contextualspace \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033 {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 Visible
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Type
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Mutable
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid3959680 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}}\pard \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls5\rin0\lin720\itap0\pararsid3301411\contextualspace {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid3959680 Source Edges
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid3959680 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}Target Edges
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid4264561 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}}\pard \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls5\rin0\lin720\itap0\pararsid4264561\contextualspace {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid4264561 Persisted Children\tab (field)
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid4264561 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}Transient Children\tab (field)
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid4264561 \loch\af39\dbch\af31506\hich\f39 \'d7\tab}Styles\tab (field)
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}\pard \ltrpar\s18\ql \fi-360\li720\ri0\widctlpar
+\tx3402\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3301411\contextualspace {\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 Element
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf19\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}Diagram
+\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f10\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 \loch\af10\dbch\af31506\hich\f10 \'fc\tab}}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894 Layout Constraint}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0 \f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411 \tab (field)}{\rtlch\fcs1 \af39\afs20 \ltrch\fcs0
+\f39\fs20\cf18\lang2057\langfe1033\langnp2057\insrsid3301411\charrsid9375894
+\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14901175 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1031\langfe1033\cgrid\langnp1031\langfenp1033
+{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang2057\langfe1033\langnp2057\insrsid16582473\charrsid16582473
+\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
+72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
+2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
+44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
+065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
+00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
+84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
+52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
+bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
+656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
+070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
+29e245eb2b260a0238fd010000ffff0300504b030414000600080000002100e35a492797060000551b0000160000007468656d652f7468656d652f7468656d65
+312e786d6cec594d6f1b4518be23f11f467b6f6327761a4775aad8b11b6852a2d82dea71bc3bde9d66766735334eea1b6a8f484888823850891b0704546a252e
+e5d7048aa048fd0bbc33b3bbde89d72469235a417d48bcb3cfbcdf5f33be7aed5eccd0211192f2a4edd52fd73c44129f073409dbdead61ffd29a87a4c2498019
+4f48db9b12e95ddb78ffbdab785d45242608f627721db7bd48a9747d6949fab08ce5659e9204de8db988b18247112e05021f01dd982d2dd76aab4b31a6898712
+1c03d91d2ca894f8d21691344cbc8d9c7c8f018f4449bde03331d0c489bbc7808383ba86c8a9ec32810e316b7bc02ae04743724f798861a9e045dbab998fb7b4
+717509af679b985ab0b7b4af6f3ed9be6c4370b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83aa569632cd467faddec9699640f6
+eb3ced6ead596bb8f812fd9539995b9d4ea7d9ca64b1440dc87e6dcce1d76aab8dcd65076f4016df9cc3373a9bddeeaa8337208b5f9dc3f7afb4561b2ede8022
+46938339b47668bf9f512f2063ceb62be16b005fab65f0190aa2a1082fcd62cc13b530d8627c978b3e203492614513a4a62919631f22b98be391a05873c0eb04
+97ded8255fce2d696648fa82a6aaed7d9862c88a19bd97cf7e78f9ec093abefff4f8fecfc70f1e1cdfffc91272766de3242cef7af1dde77f3dfa04fdf9e4db17
+0fbfacc6cb32feb71f3ffdf5972faa81903f33719e7ff5f8f7a78f9f7ffdd91fdf3fac806f0a3c2ac387342612dd2447689fc7a098b18a2b391989f3ed184698
+96776c26a1c409d65c2ae8f754e4a06f4e31cbbce3c8d121ae056f0ba81f55c0eb93bb8ec083484c14ade07c238a1de02ee7acc345a5156e685e25330f274958
+cd5c4ccab87d8c0fab787771e2f8b73749a172e661e928de8d8823e61ec389c221498842fa1d3f20a442bb3b943a76dda5bee0928f15ba435107d34a930ce9c8
+89a6d9a66d1a835fa6553a83bf1ddbecde461dceaab4de22872e12b202b30ae187843966bc8e270ac755248738666583ef6015550939980abf8ceb49059e0e09
+e3a81710686d15527c2440df92d36f602859956edf65d3d8450a450faa68ee60cecbc82d7ed08d709c5661073489cad80fe4018428467b5c55c177b99b21fa19
+fc809385eebe4d89e3eed3abc12d1a3a22cd0244bf99086d45a8d54e058e69f24fe59851a8c7d6fa17578ea1003effe651854fdfd642bc093da92a13b64f94df
+45b89345b7cb4540dffe9abb8527c91e81309f6f3cef4aeebb92ebfde74beea27c3e6ba19dd55628bb7a6eb053b19991e3c523f298323650534676a499922534
+8aa00f8b7aa3392292e2cc9446f0352bec0e2e14d8ec4182ab8fa98a06114e61c2ae7b9a482833d2a144299770b433cb95b4351ea674650f864d7d64b0054162
+b5cb03bbbca297f3934141c6b49bd09c3f73462b9ac05999ad5cc98882daafc2acae853a33b7ba11cdd43a875ba13238715e35582cac09130882b905acbc0a87
+74cd1a4e26989140dbdd36dfdc2dc60b17e92219e180643ed27acffba86e9c94c78ab90c80d8a9f0913ee69d62b512b79626fb1adccee2a432bbc60276b9f75e
+c74b7904cfbca413f7443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc3a116bec629785deaa10fb3106e877c256cd89f9acc26cb67de6ce58ab94950878b0a
+6bf739859d3a900aa9b6b08c6c6898575908b04473b2f22f37c1ac17a5808df4579062650d82e18d490176745d4bc663e2abb2b34b2bda76f6312ba57ca28818
+44c1111ab189d8c7e07e1daaa04f4025dc4d988aa01fe0264d5bdbbc728b739674e5fb2b83b3eb98a511cecaad4ed13c932ddce4712183792a8907ba55ca6e94
+3bbf2a26e52f48957218ffcf54d1fd04ae0a5602ed011fee7205463a5fdb1e172ae25085d288fa7d019383a91d102d701b0baf21a8e046d9fc17e450ffb73967
+6998b486139fdaa7211214fa918a04217b50964cf49d42ac9ef52e4b9265844c4495c495a9157b440e091bea1ab8aa7bbb87220875534db232607027e3cf7dce
+326814ea21a79c6f4e0d297aafcd817f7bf2b1c90c4ab975d80c34b9fd0b112bbaaadd6fb6e7bdb7ac887e311bb31a795600b3522b686569ff8a229cb3d5da8a
+35a7f17233170ebc38af312c1603510a173e48ff81fe4785cf880963dd50877c1f6a2b829f1a3431081b88ea4b76f040ba40dac5110c4e76d1069326654d9b8d
+4eda6a79b3bee049b7e07bc2d85ab2b3f8fb9cc62e8633979d938b1769ecccc28eadedda425383674fa6282c8df3938c718cf95dabfcc3131fdd05476fc105ff
+84296982097e55121846cf81c903487ecbd16cddf81b0000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f
+7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f
+2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e31
+98720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d98505
+28a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c02000013000000000000000000000000
+00000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000000000
+00002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001402000074
+68656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100e35a492797060000551b0000160000000000000000
+0000000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000
+0000000000000000009c0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000970a00000000}
+{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
+6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
+656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
+{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
+\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
+\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
+\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
+4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f00000000000000000000000030fa
+b22958d5d301feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.gmf.notation/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..b8b41653d2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.cdo.gmf.notation; singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.emf.cdo;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.ecore;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)"
+Automatic-Module-Name: org.eclipse.emf.cdo.gmf.notation
+Export-Package: org.eclipse.emf.cdo.gmf.notation.impl;version="1.0.0"
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/Migrate GMF Notation.launch b/plugins/org.eclipse.emf.cdo.gmf.notation/Migrate GMF Notation.launch
new file mode 100644
index 0000000000..365b66b83a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/Migrate GMF Notation.launch
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.emf.cdo.gmf.notation&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.cdo.gmf.notation/migrate.ant"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.gmf.notation"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.emf.cdo.gmf.notation/migrate.ant}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dgit.clone.gmf=C:\develop\gmf-master\git\org.eclipse.gmf.notation&#13;&#10;-DDDgit.clone.gmf=${git.clone.cdo}/../org.eclipse.gmf.notation&#13;&#10;-DDDtp.classpath=${targlet_container_classpath:Modular Target}"/>
+<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+</launchConfiguration>
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/about.html b/plugins/org.eclipse.emf.cdo.gmf.notation/about.html
new file mode 100644
index 0000000000..d35d5aed64
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/build.properties b/plugins/org.eclipse.emf.cdo.gmf.notation/build.properties
new file mode 100644
index 0000000000..5b1b8b2f7d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/build.properties
@@ -0,0 +1,26 @@
+# Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+# 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:
+# Eike Stepper - initial API and implementation
+
+# NLS_MESSAGEFORMAT_VAR
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ about.html,\
+ plugin.xml
+src.includes = about.html,\
+ pom.xml,\
+ migrate.ant,\
+ templates/,\
+ Migrate GMF Notation.launch
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+
+generateSourceReferences = true
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/migrate.ant b/plugins/org.eclipse.emf.cdo.gmf.notation/migrate.ant
new file mode 100644
index 0000000000..a9d697bf8a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/migrate.ant
@@ -0,0 +1,249 @@
+<?xml version="1.0"?>
+<!--
+ Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ 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:
+ Eike Stepper - initial API and implementation
+-->
+<project name="migrate" default="migrate">
+
+ <!--
+ The migration of the GMF Notation model to CDO is completely automated.
+ The following preconditions must be met before executing the 'migrate.ant' script:
+
+ 1. The 'org.eclipse.emf.cdo.migrator' plugin must be installed into the Eclipse IDE.
+
+ 2. CDO's Git repository must be cloned from ssh://git.eclipse.org:29418/cdo/cdo
+ to the local disk. It's disk location must then be registered under
+ Preferences | Run/Debug | String Substitution -> variable 'git.clone.cdo'.
+
+ 3. GMF Notation's Git repository must be cloned from
+ ssh://git.eclipse.org:29418/gmf-notation/org.eclipse.gmf.notation
+ to the local disk. It's disk location must then be passed into this script
+ through the 'git.clone.gmf' property. The 'Migrate GMF Notation' launch config
+ assumes that the GMF Notation clone is colocated with the CDO clone.
+
+ Then execute the following tasks:
+ -->
+ <target name="migrate">
+
+ <!--
+ Ensure that GMF Notation's Git clone exists and is reachable.
+ -->
+ <fail unless="git.clone.gmf" message="Property 'git.clone.gmf' is undefined!" />
+ <property name="notation" location="${git.clone.gmf}/org.eclipse.gmf.runtime.notation" />
+ <fail message="The directory '${notation}' does not exist!">
+ <condition>
+ <not>
+ <available file="${notation}" type="dir" />
+ </not>
+ </condition>
+ </fail>
+
+ <property name="project.name" value="org.eclipse.gmf.runtime.notation" />
+ <property name="notation.tmp" location="${basedir}/target/${project.name}" />
+ <echo message="Migrating in ${notation.tmp} ..." />
+
+ <!--
+ Copy the entire 'org.eclipse.gmf.runtime.notation' project from the GMF clone
+ into the 'target' folder of the 'org.eclipse.emf.cdo.gmf.notation' plugin to avoid
+ changes in the GMF clone.
+
+ Remove all 'NOT_CDO' markers from the source code to cause regeneration of a
+ few methods that must be handwritten in pure GMF only.
+ -->
+ <delete failonerror="true" includeemptydirs="true">
+ <fileset dir="${notation.tmp}">
+ <include name="**" />
+ </fileset>
+ </delete>
+ <copy todir="${notation.tmp}" verbose="false" failonerror="true" overwrite="true" includeemptydirs="false">
+ <fileset dir="${notation}" defaultexcludes="true">
+ <include name="**/*" />
+ <exclude name="**/*.class" />
+ <exclude name="**/*.html" />
+ </fileset>
+ <filterchain>
+ <replacestring from="@generated NOT_CDO" to="@generated" />
+ </filterchain>
+ </copy>
+
+ <!--
+ Import the 'org.eclipse.gmf.runtime.notation' project from the 'target' folder
+ of the 'org.eclipse.emf.cdo.gmf.notation' plugin into the workspace, so that
+ workspace-relative references can be resolved.
+ -->
+ <cdo.deleteProject projectname="${project.name}" />
+ <cdo.importProject projectname="${project.name}" fromlocation="${notation.tmp}" />
+
+ <!--
+ Migrate the 'notation.genmodel' to CDO and regenerate the model within the
+ imported 'org.eclipse.gmf.runtime.notation' project.
+ -->
+ <property name="model.path" value="/${project.name}/model/notation.genmodel" />
+ <cdo.migrateModel modelpath="${model.path}" dynamicfeaturedelegation="true" />
+ <cdo.generateModel modelpath="${model.path}" />
+
+ <!--
+ Copy all Java files from the generated 'impl' folder to the 'impl' folder of the
+ 'org.eclipse.emf.cdo.gmf.notation' project. Apply the following refactorings:
+
+ 1. Rename the Java package to 'org.eclipse.emf.cdo.gmf.notation.impl'.
+ 2. Replace EMF's EModelElementImpl base class with CDO's variant of that class.
+ 3. Replace the eAnnotations field accesses that the generator has left in some
+ eIsSet() methods with calls to the getEAnnotations() method.
+ 4. Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ EModelElement.eAnnotations feature is implemented dynamically, too.
+ -->
+ <property name="impl" location="${basedir}/src/org/eclipse/emf/cdo/gmf/notation/impl" />
+ <delete>
+ <fileset dir="${impl}">
+ <include name="*.java" />
+ </fileset>
+ </delete>
+ <copy todir="${impl}">
+ <fileset dir="${notation.tmp}/src/org/eclipse/gmf/runtime/notation/impl">
+ <include name="*.java" />
+ </fileset>
+ <filterchain>
+ <replacestring from="org.eclipse.gmf.runtime.notation.impl" to="org.eclipse.emf.cdo.gmf.notation.impl" />
+ <replacestring from="extends EModelElementImpl" to="extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl" />
+ <replacestring from="eAnnotations != null &amp;&amp; !eAnnotations.isEmpty()" to="!getEAnnotations().isEmpty()" />
+ <replacestring from="ESTATIC_FEATURE_COUNT = 1" to="ESTATIC_FEATURE_COUNT = 0" />
+ </filterchain>
+ </copy>
+
+ <!--
+ The temporary 'org.eclipse.gmf.runtime.notation' project is no longer needed.
+ Delete it from the workspace.
+ -->
+ <cdo.deleteProject projectname="${project.name}" />
+
+ <!--
+ GMF's BasicDecorationNodeImpl class is completely handwritten, just to spare the
+ Java fields of the following six structural features:
+
+ 1. Source Edges (from ViewImpl)
+ 2. Target Edges (from ViewImpl)
+ 3. Persisted Children (from ViewImpl)
+ 4. Transient Children (from ViewImpl)
+ 5. Styles (from ViewImpl)
+ 6. Layout Constraint (from NodeImpl)
+
+ This was achieved by changing the super class of BasicDecorationNodeImpl from NodeIml
+ (which extends ViewImpl) to EModelElementImpl. As a result none of the required members
+ from ViewImpl and NodeImpl are available through class inheritance. For a complete analysis
+ of the effects of these optimizations refer to the HandWrittenClasses.rtf document.
+
+ Copy the implementations of the above six features from the 'BasicDecorationNodeImpl.java'
+ file in the 'templates' folder of the 'org.eclipse.emf.cdo.gmf.notation' project.
+
+ Copy the remaining required fields and methods from ViewImpl.
+ -->
+ <cdo.transferMembers template="${basedir}\templates\BasicDecorationNodeImpl.java" target="${impl}/BasicDecorationNodeImpl.java">
+ <sourceclass file="${impl}\ViewImpl.java">
+ <sourcefield match=".*_EDEFAULT" />
+ <sourcefield match="ESTATIC_FEATURE_COUNT" />
+ <sourcefield match="childrenFeatures" />
+ <sourcemethod match=".*Visible" />
+ <sourcemethod match=".*Type" />
+ <sourcemethod match=".*TypeGen" />
+ <sourcemethod match=".*Mutable" />
+ <sourcemethod match=".*Element" />
+ <sourcemethod match=".*ElementGen" />
+ <sourcemethod match=".*Diagram" />
+ <sourcemethod match="createStyle" />
+ <sourcemethod match=".*StyleGen" />
+ <sourcemethod match=".*Child" />
+ <sourcemethod match=".*ChildAt" />
+ <sourcemethod match="persist" />
+ <sourcemethod match="persistChildren" />
+ <sourcemethod match="getVisibleChildren" />
+ </sourceclass>
+ </cdo.transferMembers>
+
+ <!--
+ GMF's DecorationNodeImpl (which extends the handwritten BasicDecorationNodeImpl) reestablishes
+ the default behavior of the following four structural features:
+
+ 1. Persisted Children (from ViewImpl)
+ 2. Transient Children (from ViewImpl)
+ 3. Styles (from ViewImpl)
+ 4. Layout Constraint (from NodeImpl)
+
+ Copy the implementations of the above four features from ViewImpl and NodeImpl.
+ -->
+ <cdo.transferMembers template="${basedir}\templates\DecorationNodeImpl.java" target="${impl}/DecorationNodeImpl.java">
+ <sourceclass file="${impl}\ViewImpl.java">
+ <sourcemethod match="getChildren" />
+ <sourcemethod match="getPersistedChildren" />
+ <sourcemethod match="getTransientChildren" />
+ <sourcemethod match="getStyles" />
+ </sourceclass>
+ <sourceclass file="${impl}\NodeImpl.java">
+ <sourcemethod match="getLayoutConstraint" />
+ <sourcemethod match="basicSetLayoutConstraint" />
+ <sourcemethod match="setLayoutConstraint" />
+ </sourceclass>
+ </cdo.transferMembers>
+
+ <!--
+ GMF's BasicSemanticCompartmentImpl (which extends the handwritten BasicDecorationNodeImpl)
+ reestablishes the default behavior of the following structural feature:
+
+ 1. Layout Constraint (from NodeImpl)
+
+ Replace the existing hand-written implementations of the above feature with their
+ counter parts from NodeImpl.
+ -->
+ <property name="dynamic.template" location="${notation.tmp}/template-BasicSemanticCompartmentImpl.java" />
+ <copy file="${impl}/BasicSemanticCompartmentImpl.java" tofile="${dynamic.template}" verbose="true" />
+ <replaceregexp file="${dynamic.template}" flags="gs" byline="false">
+ <regexp pattern="[ \t]*protected LayoutConstraint layoutConstraint;[\r\n]*" />
+ <substitution expression="" />
+ </replaceregexp>
+ <replaceregexp file="${dynamic.template}" flags="gs" byline="false">
+ <regexp pattern="[ \t]*public void setLayoutConstraint\(LayoutConstraint newLayoutConstraint\).*\} //BasicSemanticCompartmentImpl" />
+ <substitution expression="%%METHODS%%${line.separator}${line.separator}} //BasicSemanticCompartmentImpl" />
+ </replaceregexp>
+ <cdo.transferMembers template="${dynamic.template}" target="${impl}/BasicSemanticCompartmentImpl.java">
+ <sourceclass file="${impl}\NodeImpl.java" imports="false">
+ <sourcemethod match="getLayoutConstraint" />
+ <sourcemethod match="basicSetLayoutConstraint" />
+ <sourcemethod match="setLayoutConstraint" />
+ </sourceclass>
+ </cdo.transferMembers>
+
+ <!--
+ A number of GMF classes contain handwritten eFlags fields. Remove them.
+ -->
+ <replaceregexp flags="gs" byline="false">
+ <fileset dir="${impl}">
+ <include name="*.java" />
+ </fileset>
+ <regexp pattern="\s*[ \t]+/\*\*.*?int eFlags[^;]*;[\r\n]*" />
+ <substitution expression="" />
+ </replaceregexp>
+
+ <!--
+ GMF's handwritten ListValueStyleImpl.getRawValuesList() method reuses the generated
+ rawValuesList field to cache an additional wrapper list. As this rawValuesList field
+ disappears when generating for CDO, reinsert it manually.
+ -->
+ <replaceregexp file="${impl}/ListValueStyleImpl.java" flags="gs" byline="false">
+ <regexp pattern="(implements ListValueStyle \{)" />
+ <substitution expression="\1${line.separator} private EList rawValuesList;${line.separator}" />
+ </replaceregexp>
+
+ <!--
+ Apply source cleanup to the 'org.eclipse.emf.cdo.gmf.notation' project.
+ This ensures that only relevant changes appear in the Git history.
+ -->
+ <cdo.cleanupProject projectname="org.eclipse.emf.cdo.gmf.notation" />
+ </target>
+
+</project>
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/plugin.properties b/plugins/org.eclipse.emf.cdo.gmf.notation/plugin.properties
new file mode 100644
index 0000000000..336ee40c28
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/plugin.properties
@@ -0,0 +1,11 @@
+# Copyright (c) 2012 Eike Stepper (Berlin, Germany) and others.
+# 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:
+# Eike Stepper - initial API and implementation
+
+pluginName = CDO Model Repository Client Admin Support
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/plugin.xml b/plugins/org.eclipse.emf.cdo.gmf.notation/plugin.xml
new file mode 100644
index 0000000000..9725791fb8
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ 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:
+ Eike Stepper - initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/gmf/runtime/1.0.2/notation"
+ class="org.eclipse.emf.cdo.gmf.notation.impl.NotationFactoryImpl" />
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/pom.xml b/plugins/org.eclipse.emf.cdo.gmf.notation/pom.xml
new file mode 100644
index 0000000000..e2287213a7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2017 Eike Stepper (Berlin, Germany) and others.
+ 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:
+ Eike Stepper - initial API and implementation
+-->
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.cdo</groupId>
+ <artifactId>org.eclipse.emf.cdo.plugins</artifactId>
+ <version>4.7.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.cdo.releng.parent/plugins</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emf.cdo</groupId>
+ <artifactId>org.eclipse.emf.cdo.gmf.notation</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ArrowStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ArrowStyleImpl.java
new file mode 100644
index 0000000000..d2feef6eae
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ArrowStyleImpl.java
@@ -0,0 +1,205 @@
+/******************************************************************************
+ * Copyright (c) 2008, 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.ArrowStyle;
+import org.eclipse.gmf.runtime.notation.ArrowType;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Arrow Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ArrowStyleImpl#getArrowSource <em>Arrow Source</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ArrowStyleImpl#getArrowTarget <em>Arrow Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArrowStyleImpl extends CDOObjectImpl implements ArrowStyle
+{
+ /**
+ * The default value of the '{@link #getArrowSource() <em>Arrow Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArrowSource()
+ * @generated
+ * @ordered
+ */
+ protected static final ArrowType ARROW_SOURCE_EDEFAULT = ArrowType.NONE_LITERAL;
+
+ /**
+ * The default value of the '{@link #getArrowTarget() <em>Arrow Target</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArrowTarget()
+ * @generated
+ * @ordered
+ */
+ protected static final ArrowType ARROW_TARGET_EDEFAULT = ArrowType.NONE_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArrowStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.ARROW_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArrowType getArrowSource()
+ {
+ return (ArrowType)eDynamicGet(NotationPackage.ARROW_STYLE__ARROW_SOURCE, NotationPackage.Literals.ARROW_STYLE__ARROW_SOURCE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArrowSource(ArrowType newArrowSource)
+ {
+ eDynamicSet(NotationPackage.ARROW_STYLE__ARROW_SOURCE, NotationPackage.Literals.ARROW_STYLE__ARROW_SOURCE, newArrowSource);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArrowType getArrowTarget()
+ {
+ return (ArrowType)eDynamicGet(NotationPackage.ARROW_STYLE__ARROW_TARGET, NotationPackage.Literals.ARROW_STYLE__ARROW_TARGET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArrowTarget(ArrowType newArrowTarget)
+ {
+ eDynamicSet(NotationPackage.ARROW_STYLE__ARROW_TARGET, NotationPackage.Literals.ARROW_STYLE__ARROW_TARGET, newArrowTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.ARROW_STYLE__ARROW_SOURCE:
+ return getArrowSource();
+ case NotationPackage.ARROW_STYLE__ARROW_TARGET:
+ return getArrowTarget();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.ARROW_STYLE__ARROW_SOURCE:
+ setArrowSource((ArrowType)newValue);
+ return;
+ case NotationPackage.ARROW_STYLE__ARROW_TARGET:
+ setArrowTarget((ArrowType)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.ARROW_STYLE__ARROW_SOURCE:
+ setArrowSource(ARROW_SOURCE_EDEFAULT);
+ return;
+ case NotationPackage.ARROW_STYLE__ARROW_TARGET:
+ setArrowTarget(ARROW_TARGET_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.ARROW_STYLE__ARROW_SOURCE:
+ return getArrowSource() != ARROW_SOURCE_EDEFAULT;
+ case NotationPackage.ARROW_STYLE__ARROW_TARGET:
+ return getArrowTarget() != ARROW_TARGET_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // ArrowStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicCompartmentImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicCompartmentImpl.java
new file mode 100644
index 0000000000..7b4a8c3583
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicCompartmentImpl.java
@@ -0,0 +1,395 @@
+/******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.runtime.notation.BasicCompartment;
+import org.eclipse.gmf.runtime.notation.DrawerStyle;
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Basic Compartment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.BasicCompartmentImpl#isCollapsed <em>Collapsed</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BasicCompartmentImpl extends DecorationNodeImpl implements BasicCompartment
+{
+ /**
+ * The default value of the '{@link #isCollapsed() <em>Collapsed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollapsed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean COLLAPSED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BasicCompartmentImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.BASIC_COMPARTMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCollapsed()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.BASIC_COMPARTMENT__COLLAPSED - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DRAWER_STYLE__COLLAPSED, true,
+ true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCollapsed(boolean newCollapsed)
+ {
+ eDynamicSet(NotationPackage.BASIC_COMPARTMENT__COLLAPSED - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DRAWER_STYLE__COLLAPSED,
+ new Boolean(newCollapsed));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_COMPARTMENT__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.BASIC_COMPARTMENT__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.BASIC_COMPARTMENT__TYPE:
+ return getType();
+ case NotationPackage.BASIC_COMPARTMENT__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.BASIC_COMPARTMENT__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.BASIC_COMPARTMENT__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.BASIC_COMPARTMENT__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.BASIC_COMPARTMENT__STYLES:
+ return getStyles();
+ case NotationPackage.BASIC_COMPARTMENT__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.BASIC_COMPARTMENT__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.BASIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.BASIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint();
+ case NotationPackage.BASIC_COMPARTMENT__COLLAPSED:
+ return isCollapsed() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.BASIC_COMPARTMENT__TARGET_EDGES:
+ return;
+ default:
+ eSetGen(featureID, newValue);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSetGen(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_COMPARTMENT__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__SOURCE_EDGES:
+ getSourceEdges().clear();
+ getSourceEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__TARGET_EDGES:
+ getTargetEdges().clear();
+ getTargetEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)newValue);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__COLLAPSED:
+ setCollapsed(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.BASIC_COMPARTMENT__TARGET_EDGES:
+ return;
+ default:
+ eUnsetGen(featureID);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnsetGen(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_COMPARTMENT__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__SOURCE_EDGES:
+ getSourceEdges().clear();
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__TARGET_EDGES:
+ getTargetEdges().clear();
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)null);
+ return;
+ case NotationPackage.BASIC_COMPARTMENT__COLLAPSED:
+ setCollapsed(COLLAPSED_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.BASIC_COMPARTMENT__TARGET_EDGES:
+ return false;
+ default:
+ return eIsSetGen(featureID);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSetGen(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_COMPARTMENT__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.BASIC_COMPARTMENT__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.BASIC_COMPARTMENT__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.BASIC_COMPARTMENT__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.BASIC_COMPARTMENT__SOURCE_EDGES:
+ return !getSourceEdges().isEmpty();
+ case NotationPackage.BASIC_COMPARTMENT__TARGET_EDGES:
+ return !getTargetEdges().isEmpty();
+ case NotationPackage.BASIC_COMPARTMENT__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.BASIC_COMPARTMENT__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.BASIC_COMPARTMENT__ELEMENT:
+ return isSetElement();
+ case NotationPackage.BASIC_COMPARTMENT__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.BASIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.BASIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint() != null;
+ case NotationPackage.BASIC_COMPARTMENT__COLLAPSED:
+ return isCollapsed() != COLLAPSED_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
+ {
+ if (baseClass == Style.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DrawerStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.BASIC_COMPARTMENT__COLLAPSED:
+ return NotationPackage.DRAWER_STYLE__COLLAPSED;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
+ {
+ if (baseClass == Style.class)
+ {
+ switch (baseFeatureID)
+ {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DrawerStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.DRAWER_STYLE__COLLAPSED:
+ return NotationPackage.BASIC_COMPARTMENT__COLLAPSED;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // BasicCompartmentImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicDecorationNodeImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicDecorationNodeImpl.java
new file mode 100644
index 0000000000..b4f4d9c783
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicDecorationNodeImpl.java
@@ -0,0 +1,537 @@
+/******************************************************************************
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ * Eike Stepper - Migration to CDO
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.ECollections;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EcoreEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.BasicDecorationNode;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Basic Decoration Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated NOT
+ * @since 1.2
+ */
+public class BasicDecorationNodeImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements BasicDecorationNode
+{
+ protected static final boolean VISIBLE_EDEFAULT = true;
+
+ protected static final String TYPE_EDEFAULT = "";
+
+ protected static final boolean MUTABLE_EDEFAULT = false;
+
+ protected static final EStructuralFeature[] childrenFeatures = new EStructuralFeature[] { NotationPackage.Literals.VIEW__PERSISTED_CHILDREN,
+ NotationPackage.Literals.VIEW__TRANSIENT_CHILDREN };
+
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ protected BasicDecorationNodeImpl()
+ {
+ super();
+ setVisible(VISIBLE_EDEFAULT);
+ }
+
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.BASIC_DECORATION_NODE;
+ }
+
+ public EList getSourceEdges()
+ {
+ return new EcoreEList.UnmodifiableEList(this, NotationPackage.eINSTANCE.getView_SourceEdges(), 0, null);
+ }
+
+ public EList getTargetEdges()
+ {
+ return new EcoreEList.UnmodifiableEList(this, NotationPackage.eINSTANCE.getView_TargetEdges(), 0, null);
+ }
+
+ public EList getPersistedChildren()
+ {
+ return new EcoreEList.UnmodifiableEList(this, NotationPackage.eINSTANCE.getView_PersistedChildren(), 0, null);
+ }
+
+ public EList getTransientChildren()
+ {
+ return new EcoreEList.UnmodifiableEList(this, NotationPackage.eINSTANCE.getView_TransientChildren(), 0, null);
+ }
+
+ public EList getChildren()
+ {
+ return ECollections.emptyEList();
+ }
+
+ public EList getStyles()
+ {
+ return new EcoreEList.UnmodifiableEList(this, NotationPackage.eINSTANCE.getView_TransientChildren(), 0, null);
+ }
+
+ public Style getStyle(EClass eClass)
+ {
+ if (eClass != null && NotationPackage.eINSTANCE.getStyle().isSuperTypeOf(eClass))
+ {
+ EClass thisEClass = eClass();
+ if (eClass.isSuperTypeOf(thisEClass) || eClass == thisEClass)
+ {
+ return (Style)this;
+ }
+ if (eIsSet(NotationPackage.Literals.VIEW__STYLES))
+ {
+ for (Iterator i = getStyles().iterator(); i.hasNext();)
+ {
+ Style style = (Style)i.next();
+ if (style.eClass() == eClass || eClass.isInstance(style))
+ {
+ return style;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public NamedStyle getNamedStyle(EClass eClass, String name)
+ {
+ if (eClass != null && eIsSet(NotationPackage.Literals.VIEW__STYLES) && NotationPackage.eINSTANCE.getNamedStyle().isSuperTypeOf(eClass))
+ {
+ for (Iterator i = getStyles().iterator(); i.hasNext();)
+ {
+ Style style = (Style)i.next();
+ if (style.eClass() == eClass || eClass.isInstance(style))
+ {
+ if (style.eGet(NotationPackage.eINSTANCE.getNamedStyle_Name()).equals(name))
+ {
+ return (NamedStyle)style;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public LayoutConstraint createLayoutConstraint(EClass eClass)
+ {
+ LayoutConstraint newLayoutConstraint = (LayoutConstraint)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ setLayoutConstraint(newLayoutConstraint);
+ return newLayoutConstraint;
+ }
+
+ public void setLayoutConstraint(LayoutConstraint newLayoutConstraint)
+ {
+ throw new UnsupportedOperationException("BasicDecorationNodeImpl#setLayoutConstraint(LayoutConstraint newLayoutConstraint)"); //$NON-NLS-1$
+ }
+
+ public NotificationChain basicSetLayoutConstraint(LayoutConstraint newLayoutConstraint, NotificationChain msgs)
+ {
+ return msgs;
+ }
+
+ public LayoutConstraint getLayoutConstraint()
+ {
+ return null;
+ }
+
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_DECORATION_NODE__EANNOTATIONS:
+ return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_DECORATION_NODE__EANNOTATIONS:
+ return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_DECORATION_NODE__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.BASIC_DECORATION_NODE__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.BASIC_DECORATION_NODE__TYPE:
+ return getType();
+ case NotationPackage.BASIC_DECORATION_NODE__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.BASIC_DECORATION_NODE__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.BASIC_DECORATION_NODE__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.BASIC_DECORATION_NODE__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.BASIC_DECORATION_NODE__STYLES:
+ return getStyles();
+ case NotationPackage.BASIC_DECORATION_NODE__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.BASIC_DECORATION_NODE__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.BASIC_DECORATION_NODE__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.BASIC_DECORATION_NODE__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_DECORATION_NODE__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__SOURCE_EDGES:
+ case NotationPackage.BASIC_DECORATION_NODE__TARGET_EDGES:
+ case NotationPackage.BASIC_DECORATION_NODE__PERSISTED_CHILDREN:
+ case NotationPackage.BASIC_DECORATION_NODE__STYLES:
+ case NotationPackage.BASIC_DECORATION_NODE__TRANSIENT_CHILDREN:
+ case NotationPackage.BASIC_DECORATION_NODE__LAYOUT_CONSTRAINT:
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_DECORATION_NODE__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__SOURCE_EDGES:
+ case NotationPackage.BASIC_DECORATION_NODE__TARGET_EDGES:
+ case NotationPackage.BASIC_DECORATION_NODE__PERSISTED_CHILDREN:
+ case NotationPackage.BASIC_DECORATION_NODE__STYLES:
+ case NotationPackage.BASIC_DECORATION_NODE__TRANSIENT_CHILDREN:
+ case NotationPackage.BASIC_DECORATION_NODE__LAYOUT_CONSTRAINT:
+ return;
+ case NotationPackage.BASIC_DECORATION_NODE__ELEMENT:
+ unsetElement();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_DECORATION_NODE__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.BASIC_DECORATION_NODE__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.BASIC_DECORATION_NODE__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.BASIC_DECORATION_NODE__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.BASIC_DECORATION_NODE__SOURCE_EDGES:
+ case NotationPackage.BASIC_DECORATION_NODE__TARGET_EDGES:
+ case NotationPackage.BASIC_DECORATION_NODE__PERSISTED_CHILDREN:
+ case NotationPackage.BASIC_DECORATION_NODE__STYLES:
+ case NotationPackage.BASIC_DECORATION_NODE__TRANSIENT_CHILDREN:
+ case NotationPackage.BASIC_DECORATION_NODE__LAYOUT_CONSTRAINT:
+ return false;
+ case NotationPackage.BASIC_DECORATION_NODE__ELEMENT:
+ return isSetElement();
+ case NotationPackage.BASIC_DECORATION_NODE__DIAGRAM:
+ return basicGetDiagram() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ public boolean isVisible()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.VIEW__VISIBLE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__VISIBLE, true, true)).booleanValue();
+ }
+
+ public void setVisible(boolean newVisible)
+ {
+ eDynamicSet(NotationPackage.VIEW__VISIBLE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__VISIBLE, new Boolean(newVisible));
+ }
+
+ public String getType()
+ {
+ return (String)eDynamicGet(NotationPackage.VIEW__TYPE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__TYPE, true, true);
+ }
+
+ public void setType(String newType)
+ {
+ setTypeGen(newType == null ? null : newType.intern());
+ }
+
+ public void setTypeGen(String newType)
+ {
+ eDynamicSet(NotationPackage.VIEW__TYPE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__TYPE, newType);
+ }
+
+ public boolean isMutable()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.VIEW__MUTABLE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__MUTABLE, true, true)).booleanValue();
+ }
+
+ public void setMutable(boolean newMutable)
+ {
+ eDynamicSet(NotationPackage.VIEW__MUTABLE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__MUTABLE, new Boolean(newMutable));
+ }
+
+ public EObject getElement()
+ {
+ if (!isSetElement())
+ {
+ EObject container = eContainer();
+ if (container instanceof View)
+ {
+ View view = (View)container;
+ return view.getElement();
+ }
+ }
+
+ return getElementGen();
+ }
+
+ public EObject getElementGen()
+ {
+ return (EObject)eDynamicGet(NotationPackage.VIEW__ELEMENT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__ELEMENT, true, true);
+ }
+
+ public EObject basicGetElement()
+ {
+ return (EObject)eDynamicGet(NotationPackage.VIEW__ELEMENT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__ELEMENT, false, true);
+ }
+
+ public void setElement(EObject newElement)
+ {
+ eDynamicSet(NotationPackage.VIEW__ELEMENT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__ELEMENT, newElement);
+ }
+
+ public void unsetElement()
+ {
+ eDynamicUnset(NotationPackage.VIEW__ELEMENT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__ELEMENT);
+ }
+
+ public boolean isSetElement()
+ {
+ return eDynamicIsSet(NotationPackage.VIEW__ELEMENT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__ELEMENT);
+ }
+
+ public Diagram getDiagram()
+ {
+ Diagram diagram = basicGetDiagram();
+ return diagram != null && diagram.eIsProxy() ? (Diagram)eResolveProxy((InternalEObject)diagram) : diagram;
+ }
+
+ public Diagram basicGetDiagram()
+ {
+ for (EObject parent = this; parent != null; parent = ((InternalEObject)parent).eInternalContainer())
+ {
+ if (NotationPackage.Literals.DIAGRAM.isSuperTypeOf(parent.eClass()))
+ {
+ return (Diagram)parent;
+ }
+ }
+ return null;
+ }
+
+ public Node createChild(EClass eClass)
+ {
+ Node newChild = (Node)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ getPersistedChildren().add(newChild);
+ return newChild;
+ }
+
+ public Style createStyle(EClass eClass)
+ {
+ Style newStyle = (Style)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ getStyles().add(newStyle);
+ return newStyle;
+ }
+
+ public void persistChildren()
+ {
+ if (eIsSet(NotationPackage.VIEW__TRANSIENT_CHILDREN))
+ {
+ getPersistedChildren().addAll(getTransientChildren());
+ }
+ }
+
+ public void insertChild(View child)
+ {
+ persistChildren();
+ getPersistedChildren().add(child);
+ }
+
+ public void insertChild(View child, boolean persisted)
+ {
+ List children = null;
+ if (persisted)
+ {
+ children = getPersistedChildren();
+ }
+ else
+ {
+ children = getTransientChildren();
+ }
+ children.add(child);
+ }
+
+ public void insertChildAt(View child, int index)
+ {
+ persistChildren();
+ if (getPersistedChildren().size() >= index)
+ {
+ getPersistedChildren().add(index, child);
+ }
+ }
+
+ public void removeChild(View child)
+ {
+ if (child.eContainer() == this)
+ {
+ EStructuralFeature eContainingFeature = child.eContainingFeature();
+ if (eContainingFeature == NotationPackage.Literals.VIEW__TRANSIENT_CHILDREN)
+ {
+ getTransientChildren().remove(child);
+ }
+ else if (eContainingFeature == NotationPackage.Literals.VIEW__PERSISTED_CHILDREN)
+ {
+ getPersistedChildren().remove(child);
+ }
+ }
+ }
+
+ public void persist()
+ {
+ EObject eContainer = eContainer();
+ if (eContainer instanceof View)
+ {
+ EStructuralFeature eContaingFeature = eContainingFeature();
+ if (eContaingFeature != null && eContaingFeature.isTransient())
+ {
+ View vContainer = (View)eContainer;
+ vContainer.persistChildren();
+ }
+ }
+ }
+
+ public EList getVisibleChildren()
+ {
+ boolean persistedChildrenSet = eIsSet(NotationPackage.VIEW__PERSISTED_CHILDREN);
+ boolean transientChildrenSet = eIsSet(NotationPackage.VIEW__TRANSIENT_CHILDREN);
+
+ if (persistedChildrenSet && transientChildrenSet)
+ {
+ return ECollections.EMPTY_ELIST;
+ }
+
+ List _children = new ArrayList();
+ if (persistedChildrenSet)
+ {
+ EList persistedChildren = getPersistedChildren();
+ for (Iterator iter = persistedChildren.iterator(); iter.hasNext();)
+ {
+ View view = (View)iter.next();
+ if (view.isVisible())
+ {
+ _children.add(view);
+ }
+ }
+ }
+
+ if (transientChildrenSet)
+ {
+ EList transientChildren = getTransientChildren();
+ for (Iterator iter = transientChildren.iterator(); iter.hasNext();)
+ {
+ View view = (View)iter.next();
+ if (view.isVisible())
+ {
+ _children.add(view);
+ }
+ }
+ }
+
+ return new BasicEList.UnmodifiableEList(_children.size(), _children.toArray());
+ }
+
+} // BasicDecorationNodeImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicSemanticCompartmentImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicSemanticCompartmentImpl.java
new file mode 100644
index 0000000000..43ff0a3e97
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BasicSemanticCompartmentImpl.java
@@ -0,0 +1,449 @@
+/******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.BasicSemanticCompartment;
+import org.eclipse.gmf.runtime.notation.DrawerStyle;
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Basic Semantic Compartment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.BasicSemanticCompartmentImpl#isCollapsed <em>Collapsed</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BasicSemanticCompartmentImpl extends BasicDecorationNodeImpl implements BasicSemanticCompartment
+{
+
+ /**
+ * The default value of the '{@link #isCollapsed() <em>Collapsed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollapsed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean COLLAPSED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BasicSemanticCompartmentImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.BASIC_SEMANTIC_COMPARTMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCollapsed()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.BASIC_SEMANTIC_COMPARTMENT__COLLAPSED - ESTATIC_FEATURE_COUNT,
+ NotationPackage.Literals.DRAWER_STYLE__COLLAPSED, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCollapsed(boolean newCollapsed)
+ {
+ eDynamicSet(NotationPackage.BASIC_SEMANTIC_COMPARTMENT__COLLAPSED - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DRAWER_STYLE__COLLAPSED,
+ new Boolean(newCollapsed));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TYPE:
+ return getType();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__STYLES:
+ return getStyles();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__COLLAPSED:
+ return isCollapsed() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TARGET_EDGES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__PERSISTED_CHILDREN:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__STYLES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ return;
+ default:
+ eSetGen(featureID, newValue);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSetGen(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__SOURCE_EDGES:
+ getSourceEdges().clear();
+ getSourceEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TARGET_EDGES:
+ getTargetEdges().clear();
+ getTargetEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)newValue);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__COLLAPSED:
+ setCollapsed(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TARGET_EDGES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__PERSISTED_CHILDREN:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__STYLES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ return;
+ default:
+ eUnsetGen(featureID);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnsetGen(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__SOURCE_EDGES:
+ getSourceEdges().clear();
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TARGET_EDGES:
+ getTargetEdges().clear();
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)null);
+ return;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__COLLAPSED:
+ setCollapsed(COLLAPSED_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TARGET_EDGES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__PERSISTED_CHILDREN:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__STYLES:
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ return false;
+ default:
+ return eIsSetGen(featureID);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSetGen(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__SOURCE_EDGES:
+ return !getSourceEdges().isEmpty();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TARGET_EDGES:
+ return !getTargetEdges().isEmpty();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__ELEMENT:
+ return isSetElement();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint() != null;
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__COLLAPSED:
+ return isCollapsed() != COLLAPSED_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
+ {
+ if (baseClass == Style.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DrawerStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__COLLAPSED:
+ return NotationPackage.DRAWER_STYLE__COLLAPSED;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
+ {
+ if (baseClass == Style.class)
+ {
+ switch (baseFeatureID)
+ {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DrawerStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.DRAWER_STYLE__COLLAPSED:
+ return NotationPackage.BASIC_SEMANTIC_COMPARTMENT__COLLAPSED;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__EANNOTATIONS:
+ return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT__LAYOUT_CONSTRAINT:
+ return basicSetLayoutConstraint(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ @Override
+ public LayoutConstraint createLayoutConstraint(EClass eClass)
+ {
+ LayoutConstraint newLayoutConstraint = (LayoutConstraint)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ setLayoutConstraint(newLayoutConstraint);
+ return newLayoutConstraint;
+ }
+
+ @Override
+ public LayoutConstraint getLayoutConstraint()
+ {
+ return (LayoutConstraint)eDynamicGet(NotationPackage.NODE__LAYOUT_CONSTRAINT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.NODE__LAYOUT_CONSTRAINT,
+ true, true);
+ }
+
+ @Override
+ public NotificationChain basicSetLayoutConstraint(LayoutConstraint newLayoutConstraint, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newLayoutConstraint, NotationPackage.NODE__LAYOUT_CONSTRAINT, msgs);
+ return msgs;
+ }
+
+ @Override
+ public void setLayoutConstraint(LayoutConstraint newLayoutConstraint)
+ {
+ eDynamicSet(NotationPackage.NODE__LAYOUT_CONSTRAINT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.NODE__LAYOUT_CONSTRAINT, newLayoutConstraint);
+ }
+
+} // BasicSemanticCompartmentImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BooleanListValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BooleanListValueStyleImpl.java
new file mode 100644
index 0000000000..ffca3a2457
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BooleanListValueStyleImpl.java
@@ -0,0 +1,145 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.BooleanListValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boolean List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.BooleanListValueStyleImpl#getBooleanListValue <em>Boolean List Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BooleanListValueStyleImpl extends NamedStyleImpl implements BooleanListValueStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BooleanListValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.BOOLEAN_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getBooleanListValue()
+ {
+ return (EList)eDynamicGet(NotationPackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE,
+ NotationPackage.Literals.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE:
+ return getBooleanListValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE:
+ getBooleanListValue().clear();
+ getBooleanListValue().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE:
+ getBooleanListValue().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE:
+ return !getBooleanListValue().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // BooleanListValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BooleanValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BooleanValueStyleImpl.java
new file mode 100644
index 0000000000..a8122dd1c4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BooleanValueStyleImpl.java
@@ -0,0 +1,161 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.BooleanValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boolean Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.BooleanValueStyleImpl#isBooleanValue <em>Boolean Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BooleanValueStyleImpl extends NamedStyleImpl implements BooleanValueStyle
+{
+ /**
+ * The default value of the '{@link #isBooleanValue() <em>Boolean Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isBooleanValue()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean BOOLEAN_VALUE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BooleanValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.BOOLEAN_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isBooleanValue()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE, NotationPackage.Literals.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE, true, true))
+ .booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBooleanValue(boolean newBooleanValue)
+ {
+ eDynamicSet(NotationPackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE, NotationPackage.Literals.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE, new Boolean(newBooleanValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOOLEAN_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE:
+ return isBooleanValue() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOOLEAN_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE:
+ setBooleanValue(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOOLEAN_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE:
+ setBooleanValue(BOOLEAN_VALUE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOOLEAN_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE:
+ return isBooleanValue() != BOOLEAN_VALUE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // BooleanValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BoundsImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BoundsImpl.java
new file mode 100644
index 0000000000..9e55576a85
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/BoundsImpl.java
@@ -0,0 +1,262 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Size;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bounds</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.BoundsImpl#getWidth <em>Width</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.BoundsImpl#getHeight <em>Height</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class BoundsImpl extends LocationImpl implements Bounds
+{
+ /**
+ * The default value of the '{@link #getWidth() <em>Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final int WIDTH_EDEFAULT = -1;
+
+ /**
+ * The default value of the '{@link #getHeight() <em>Height</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHeight()
+ * @generated
+ * @ordered
+ */
+ protected static final int HEIGHT_EDEFAULT = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BoundsImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.BOUNDS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getWidth()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.BOUNDS__WIDTH, NotationPackage.Literals.SIZE__WIDTH, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWidth(int newWidth)
+ {
+ eDynamicSet(NotationPackage.BOUNDS__WIDTH, NotationPackage.Literals.SIZE__WIDTH, new Integer(newWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHeight()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.BOUNDS__HEIGHT, NotationPackage.Literals.SIZE__HEIGHT, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHeight(int newHeight)
+ {
+ eDynamicSet(NotationPackage.BOUNDS__HEIGHT, NotationPackage.Literals.SIZE__HEIGHT, new Integer(newHeight));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOUNDS__X:
+ return new Integer(getX());
+ case NotationPackage.BOUNDS__Y:
+ return new Integer(getY());
+ case NotationPackage.BOUNDS__WIDTH:
+ return new Integer(getWidth());
+ case NotationPackage.BOUNDS__HEIGHT:
+ return new Integer(getHeight());
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOUNDS__X:
+ setX(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.BOUNDS__Y:
+ setY(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.BOUNDS__WIDTH:
+ setWidth(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.BOUNDS__HEIGHT:
+ setHeight(((Integer)newValue).intValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOUNDS__X:
+ setX(X_EDEFAULT);
+ return;
+ case NotationPackage.BOUNDS__Y:
+ setY(Y_EDEFAULT);
+ return;
+ case NotationPackage.BOUNDS__WIDTH:
+ setWidth(WIDTH_EDEFAULT);
+ return;
+ case NotationPackage.BOUNDS__HEIGHT:
+ setHeight(HEIGHT_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BOUNDS__X:
+ return getX() != X_EDEFAULT;
+ case NotationPackage.BOUNDS__Y:
+ return getY() != Y_EDEFAULT;
+ case NotationPackage.BOUNDS__WIDTH:
+ return getWidth() != WIDTH_EDEFAULT;
+ case NotationPackage.BOUNDS__HEIGHT:
+ return getHeight() != HEIGHT_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
+ {
+ if (baseClass == Size.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.BOUNDS__WIDTH:
+ return NotationPackage.SIZE__WIDTH;
+ case NotationPackage.BOUNDS__HEIGHT:
+ return NotationPackage.SIZE__HEIGHT;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
+ {
+ if (baseClass == Size.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.SIZE__WIDTH:
+ return NotationPackage.BOUNDS__WIDTH;
+ case NotationPackage.SIZE__HEIGHT:
+ return NotationPackage.BOUNDS__HEIGHT;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // BoundsImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ByteArrayValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ByteArrayValueStyleImpl.java
new file mode 100644
index 0000000000..c8dc25c3e2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ByteArrayValueStyleImpl.java
@@ -0,0 +1,161 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.ByteArrayValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Byte Array Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ByteArrayValueStyleImpl#getByteArrayValue <em>Byte Array Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ByteArrayValueStyleImpl extends NamedStyleImpl implements ByteArrayValueStyle
+{
+ /**
+ * The default value of the '{@link #getByteArrayValue() <em>Byte Array Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getByteArrayValue()
+ * @generated
+ * @ordered
+ */
+ protected static final byte[] BYTE_ARRAY_VALUE_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ByteArrayValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.BYTE_ARRAY_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public byte[] getByteArrayValue()
+ {
+ return (byte[])eDynamicGet(NotationPackage.BYTE_ARRAY_VALUE_STYLE__BYTE_ARRAY_VALUE, NotationPackage.Literals.BYTE_ARRAY_VALUE_STYLE__BYTE_ARRAY_VALUE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setByteArrayValue(byte[] newByteArrayValue)
+ {
+ eDynamicSet(NotationPackage.BYTE_ARRAY_VALUE_STYLE__BYTE_ARRAY_VALUE, NotationPackage.Literals.BYTE_ARRAY_VALUE_STYLE__BYTE_ARRAY_VALUE, newByteArrayValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE__BYTE_ARRAY_VALUE:
+ return getByteArrayValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE__BYTE_ARRAY_VALUE:
+ setByteArrayValue((byte[])newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE__BYTE_ARRAY_VALUE:
+ setByteArrayValue(BYTE_ARRAY_VALUE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE__BYTE_ARRAY_VALUE:
+ return BYTE_ARRAY_VALUE_EDEFAULT == null ? getByteArrayValue() != null : !BYTE_ARRAY_VALUE_EDEFAULT.equals(getByteArrayValue());
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // ByteArrayValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/CanonicalStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/CanonicalStyleImpl.java
new file mode 100644
index 0000000000..92edf662f5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/CanonicalStyleImpl.java
@@ -0,0 +1,167 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.CanonicalStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Canonical Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.CanonicalStyleImpl#isCanonical <em>Canonical</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class CanonicalStyleImpl extends CDOObjectImpl implements CanonicalStyle
+{
+ /**
+ * The default value of the '{@link #isCanonical() <em>Canonical</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCanonical()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CANONICAL_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CanonicalStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.CANONICAL_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCanonical()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.CANONICAL_STYLE__CANONICAL, NotationPackage.Literals.CANONICAL_STYLE__CANONICAL, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCanonical(boolean newCanonical)
+ {
+ eDynamicSet(NotationPackage.CANONICAL_STYLE__CANONICAL, NotationPackage.Literals.CANONICAL_STYLE__CANONICAL, new Boolean(newCanonical));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CANONICAL_STYLE__CANONICAL:
+ return isCanonical() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CANONICAL_STYLE__CANONICAL:
+ setCanonical(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CANONICAL_STYLE__CANONICAL:
+ setCanonical(CANONICAL_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CANONICAL_STYLE__CANONICAL:
+ return isCanonical() != CANONICAL_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // CanonicalStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/CompartmentImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/CompartmentImpl.java
new file mode 100644
index 0000000000..b8eaf5ec92
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/CompartmentImpl.java
@@ -0,0 +1,453 @@
+/******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.runtime.notation.CanonicalStyle;
+import org.eclipse.gmf.runtime.notation.Compartment;
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Compartment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.CompartmentImpl#isCanonical <em>Canonical</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.CompartmentImpl#isShowTitle <em>Show Title</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CompartmentImpl extends BasicCompartmentImpl implements Compartment
+{
+ /**
+ * The default value of the '{@link #isCanonical() <em>Canonical</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCanonical()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CANONICAL_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isShowTitle() <em>Show Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isShowTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_TITLE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CompartmentImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.COMPARTMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCanonical()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.COMPARTMENT__CANONICAL - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.CANONICAL_STYLE__CANONICAL, true,
+ true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCanonical(boolean newCanonical)
+ {
+ eDynamicSet(NotationPackage.COMPARTMENT__CANONICAL - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.CANONICAL_STYLE__CANONICAL, new Boolean(newCanonical));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isShowTitle()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.COMPARTMENT__SHOW_TITLE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.TITLE_STYLE__SHOW_TITLE, true, true))
+ .booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setShowTitle(boolean newShowTitle)
+ {
+ eDynamicSet(NotationPackage.COMPARTMENT__SHOW_TITLE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.TITLE_STYLE__SHOW_TITLE, new Boolean(newShowTitle));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.COMPARTMENT__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.COMPARTMENT__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.COMPARTMENT__TYPE:
+ return getType();
+ case NotationPackage.COMPARTMENT__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.COMPARTMENT__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.COMPARTMENT__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.COMPARTMENT__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.COMPARTMENT__STYLES:
+ return getStyles();
+ case NotationPackage.COMPARTMENT__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.COMPARTMENT__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.COMPARTMENT__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.COMPARTMENT__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint();
+ case NotationPackage.COMPARTMENT__COLLAPSED:
+ return isCollapsed() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.COMPARTMENT__CANONICAL:
+ return isCanonical() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.COMPARTMENT__SHOW_TITLE:
+ return isShowTitle() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.COMPARTMENT__TARGET_EDGES:
+ return;
+ default:
+ eSetGen(featureID, newValue);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSetGen(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.COMPARTMENT__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.COMPARTMENT__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.COMPARTMENT__SOURCE_EDGES:
+ getSourceEdges().clear();
+ getSourceEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__TARGET_EDGES:
+ getTargetEdges().clear();
+ getTargetEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)newValue);
+ return;
+ case NotationPackage.COMPARTMENT__COLLAPSED:
+ setCollapsed(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.COMPARTMENT__CANONICAL:
+ setCanonical(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.COMPARTMENT__SHOW_TITLE:
+ setShowTitle(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.COMPARTMENT__TARGET_EDGES:
+ return;
+ default:
+ eUnsetGen(featureID);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnsetGen(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.COMPARTMENT__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.COMPARTMENT__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.COMPARTMENT__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.COMPARTMENT__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.COMPARTMENT__SOURCE_EDGES:
+ getSourceEdges().clear();
+ return;
+ case NotationPackage.COMPARTMENT__TARGET_EDGES:
+ getTargetEdges().clear();
+ return;
+ case NotationPackage.COMPARTMENT__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.COMPARTMENT__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.COMPARTMENT__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.COMPARTMENT__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.COMPARTMENT__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)null);
+ return;
+ case NotationPackage.COMPARTMENT__COLLAPSED:
+ setCollapsed(COLLAPSED_EDEFAULT);
+ return;
+ case NotationPackage.COMPARTMENT__CANONICAL:
+ setCanonical(CANONICAL_EDEFAULT);
+ return;
+ case NotationPackage.COMPARTMENT__SHOW_TITLE:
+ setShowTitle(SHOW_TITLE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.COMPARTMENT__TARGET_EDGES:
+ return false;
+ default:
+ return eIsSetGen(featureID);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSetGen(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.COMPARTMENT__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.COMPARTMENT__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.COMPARTMENT__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.COMPARTMENT__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.COMPARTMENT__SOURCE_EDGES:
+ return !getSourceEdges().isEmpty();
+ case NotationPackage.COMPARTMENT__TARGET_EDGES:
+ return !getTargetEdges().isEmpty();
+ case NotationPackage.COMPARTMENT__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.COMPARTMENT__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.COMPARTMENT__ELEMENT:
+ return isSetElement();
+ case NotationPackage.COMPARTMENT__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.COMPARTMENT__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.COMPARTMENT__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint() != null;
+ case NotationPackage.COMPARTMENT__COLLAPSED:
+ return isCollapsed() != COLLAPSED_EDEFAULT;
+ case NotationPackage.COMPARTMENT__CANONICAL:
+ return isCanonical() != CANONICAL_EDEFAULT;
+ case NotationPackage.COMPARTMENT__SHOW_TITLE:
+ return isShowTitle() != SHOW_TITLE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
+ {
+ if (baseClass == CanonicalStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.COMPARTMENT__CANONICAL:
+ return NotationPackage.CANONICAL_STYLE__CANONICAL;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == TitleStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.COMPARTMENT__SHOW_TITLE:
+ return NotationPackage.TITLE_STYLE__SHOW_TITLE;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
+ {
+ if (baseClass == CanonicalStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.CANONICAL_STYLE__CANONICAL:
+ return NotationPackage.COMPARTMENT__CANONICAL;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == TitleStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.TITLE_STYLE__SHOW_TITLE:
+ return NotationPackage.COMPARTMENT__SHOW_TITLE;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // CompartmentImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ConnectorImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ConnectorImpl.java
new file mode 100644
index 0000000000..6a20ff55c0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ConnectorImpl.java
@@ -0,0 +1,858 @@
+/******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.runtime.notation.Anchor;
+import org.eclipse.gmf.runtime.notation.Bendpoints;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.ConnectorStyle;
+import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
+import org.eclipse.gmf.runtime.notation.JumpLinkType;
+import org.eclipse.gmf.runtime.notation.LineStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.RoundedCornersStyle;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.RoutingStyle;
+import org.eclipse.gmf.runtime.notation.Smoothness;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Connector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#getRoundedBendpointsRadius <em>Rounded Bendpoints Radius</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#getRouting <em>Routing</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#getSmoothness <em>Smoothness</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#isAvoidObstructions <em>Avoid Obstructions</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#isClosestDistance <em>Closest Distance</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#getJumpLinkStatus <em>Jump Link Status</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#getJumpLinkType <em>Jump Link Type</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#isJumpLinksReverse <em>Jump Links Reverse</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#getLineColor <em>Line Color</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl#getLineWidth <em>Line Width</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConnectorImpl extends EdgeImpl implements Connector
+{
+ /**
+ * The default value of the '{@link #getRoundedBendpointsRadius() <em>Rounded Bendpoints Radius</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoundedBendpointsRadius()
+ * @generated
+ * @ordered
+ */
+ protected static final int ROUNDED_BENDPOINTS_RADIUS_EDEFAULT = 0;
+
+ /**
+ * The default value of the '{@link #getRouting() <em>Routing</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRouting()
+ * @generated
+ * @ordered
+ */
+ protected static final Routing ROUTING_EDEFAULT = Routing.MANUAL_LITERAL;
+
+ /**
+ * The default value of the '{@link #getSmoothness() <em>Smoothness</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSmoothness()
+ * @generated
+ * @ordered
+ */
+ protected static final Smoothness SMOOTHNESS_EDEFAULT = Smoothness.NONE_LITERAL;
+
+ /**
+ * The default value of the '{@link #isAvoidObstructions() <em>Avoid Obstructions</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAvoidObstructions()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean AVOID_OBSTRUCTIONS_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isClosestDistance() <em>Closest Distance</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isClosestDistance()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CLOSEST_DISTANCE_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #getJumpLinkStatus() <em>Jump Link Status</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJumpLinkStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final JumpLinkStatus JUMP_LINK_STATUS_EDEFAULT = JumpLinkStatus.NONE_LITERAL;
+
+ /**
+ * The default value of the '{@link #getJumpLinkType() <em>Jump Link Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJumpLinkType()
+ * @generated
+ * @ordered
+ */
+ protected static final JumpLinkType JUMP_LINK_TYPE_EDEFAULT = JumpLinkType.SEMICIRCLE_LITERAL;
+
+ /**
+ * The default value of the '{@link #isJumpLinksReverse() <em>Jump Links Reverse</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isJumpLinksReverse()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean JUMP_LINKS_REVERSE_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #getLineColor() <em>Line Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLineColor()
+ * @generated
+ * @ordered
+ */
+ protected static final int LINE_COLOR_EDEFAULT = 11579568;
+
+ /**
+ * The default value of the '{@link #getLineWidth() <em>Line Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLineWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final int LINE_WIDTH_EDEFAULT = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.CONNECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Routing getRouting()
+ {
+ return (Routing)eDynamicGet(NotationPackage.CONNECTOR__ROUTING - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__ROUTING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRouting(Routing newRouting)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__ROUTING - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__ROUTING, newRouting);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Smoothness getSmoothness()
+ {
+ return (Smoothness)eDynamicGet(NotationPackage.CONNECTOR__SMOOTHNESS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__SMOOTHNESS, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSmoothness(Smoothness newSmoothness)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__SMOOTHNESS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__SMOOTHNESS, newSmoothness);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAvoidObstructions()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS - ESTATIC_FEATURE_COUNT,
+ NotationPackage.Literals.ROUTING_STYLE__AVOID_OBSTRUCTIONS, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAvoidObstructions(boolean newAvoidObstructions)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__AVOID_OBSTRUCTIONS,
+ new Boolean(newAvoidObstructions));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isClosestDistance()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.CONNECTOR__CLOSEST_DISTANCE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__CLOSEST_DISTANCE,
+ true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClosestDistance(boolean newClosestDistance)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__CLOSEST_DISTANCE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__CLOSEST_DISTANCE,
+ new Boolean(newClosestDistance));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JumpLinkStatus getJumpLinkStatus()
+ {
+ return (JumpLinkStatus)eDynamicGet(NotationPackage.CONNECTOR__JUMP_LINK_STATUS - ESTATIC_FEATURE_COUNT,
+ NotationPackage.Literals.ROUTING_STYLE__JUMP_LINK_STATUS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJumpLinkStatus(JumpLinkStatus newJumpLinkStatus)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__JUMP_LINK_STATUS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__JUMP_LINK_STATUS,
+ newJumpLinkStatus);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JumpLinkType getJumpLinkType()
+ {
+ return (JumpLinkType)eDynamicGet(NotationPackage.CONNECTOR__JUMP_LINK_TYPE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__JUMP_LINK_TYPE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJumpLinkType(JumpLinkType newJumpLinkType)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__JUMP_LINK_TYPE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__JUMP_LINK_TYPE, newJumpLinkType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isJumpLinksReverse()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE - ESTATIC_FEATURE_COUNT,
+ NotationPackage.Literals.ROUTING_STYLE__JUMP_LINKS_REVERSE, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJumpLinksReverse(boolean newJumpLinksReverse)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.ROUTING_STYLE__JUMP_LINKS_REVERSE,
+ new Boolean(newJumpLinksReverse));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getRoundedBendpointsRadius()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS - ESTATIC_FEATURE_COUNT,
+ NotationPackage.Literals.ROUNDED_CORNERS_STYLE__ROUNDED_BENDPOINTS_RADIUS, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRoundedBendpointsRadius(int newRoundedBendpointsRadius)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS - ESTATIC_FEATURE_COUNT,
+ NotationPackage.Literals.ROUNDED_CORNERS_STYLE__ROUNDED_BENDPOINTS_RADIUS, new Integer(newRoundedBendpointsRadius));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLineColor()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.CONNECTOR__LINE_COLOR - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.LINE_STYLE__LINE_COLOR, true, true))
+ .intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLineColor(int newLineColor)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__LINE_COLOR - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.LINE_STYLE__LINE_COLOR, new Integer(newLineColor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLineWidth()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.CONNECTOR__LINE_WIDTH - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.LINE_STYLE__LINE_WIDTH, true, true))
+ .intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLineWidth(int newLineWidth)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR__LINE_WIDTH - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.LINE_STYLE__LINE_WIDTH, new Integer(newLineWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CONNECTOR__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.CONNECTOR__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.CONNECTOR__TYPE:
+ return getType();
+ case NotationPackage.CONNECTOR__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.CONNECTOR__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.CONNECTOR__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.CONNECTOR__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.CONNECTOR__STYLES:
+ return getStyles();
+ case NotationPackage.CONNECTOR__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.CONNECTOR__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.CONNECTOR__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.CONNECTOR__SOURCE:
+ return getSource();
+ case NotationPackage.CONNECTOR__TARGET:
+ return getTarget();
+ case NotationPackage.CONNECTOR__BENDPOINTS:
+ return getBendpoints();
+ case NotationPackage.CONNECTOR__SOURCE_ANCHOR:
+ return getSourceAnchor();
+ case NotationPackage.CONNECTOR__TARGET_ANCHOR:
+ return getTargetAnchor();
+ case NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS:
+ return new Integer(getRoundedBendpointsRadius());
+ case NotationPackage.CONNECTOR__ROUTING:
+ return getRouting();
+ case NotationPackage.CONNECTOR__SMOOTHNESS:
+ return getSmoothness();
+ case NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS:
+ return isAvoidObstructions() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.CONNECTOR__CLOSEST_DISTANCE:
+ return isClosestDistance() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.CONNECTOR__JUMP_LINK_STATUS:
+ return getJumpLinkStatus();
+ case NotationPackage.CONNECTOR__JUMP_LINK_TYPE:
+ return getJumpLinkType();
+ case NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE:
+ return isJumpLinksReverse() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.CONNECTOR__LINE_COLOR:
+ return new Integer(getLineColor());
+ case NotationPackage.CONNECTOR__LINE_WIDTH:
+ return new Integer(getLineWidth());
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CONNECTOR__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.CONNECTOR__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.CONNECTOR__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.CONNECTOR__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.CONNECTOR__SOURCE_EDGES:
+ getSourceEdges().clear();
+ getSourceEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.CONNECTOR__TARGET_EDGES:
+ getTargetEdges().clear();
+ getTargetEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.CONNECTOR__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.CONNECTOR__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.CONNECTOR__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.CONNECTOR__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.CONNECTOR__SOURCE:
+ setSource((View)newValue);
+ return;
+ case NotationPackage.CONNECTOR__TARGET:
+ setTarget((View)newValue);
+ return;
+ case NotationPackage.CONNECTOR__BENDPOINTS:
+ setBendpoints((Bendpoints)newValue);
+ return;
+ case NotationPackage.CONNECTOR__SOURCE_ANCHOR:
+ setSourceAnchor((Anchor)newValue);
+ return;
+ case NotationPackage.CONNECTOR__TARGET_ANCHOR:
+ setTargetAnchor((Anchor)newValue);
+ return;
+ case NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS:
+ setRoundedBendpointsRadius(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.CONNECTOR__ROUTING:
+ setRouting((Routing)newValue);
+ return;
+ case NotationPackage.CONNECTOR__SMOOTHNESS:
+ setSmoothness((Smoothness)newValue);
+ return;
+ case NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS:
+ setAvoidObstructions(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.CONNECTOR__CLOSEST_DISTANCE:
+ setClosestDistance(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.CONNECTOR__JUMP_LINK_STATUS:
+ setJumpLinkStatus((JumpLinkStatus)newValue);
+ return;
+ case NotationPackage.CONNECTOR__JUMP_LINK_TYPE:
+ setJumpLinkType((JumpLinkType)newValue);
+ return;
+ case NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE:
+ setJumpLinksReverse(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.CONNECTOR__LINE_COLOR:
+ setLineColor(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.CONNECTOR__LINE_WIDTH:
+ setLineWidth(((Integer)newValue).intValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CONNECTOR__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.CONNECTOR__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__SOURCE_EDGES:
+ getSourceEdges().clear();
+ return;
+ case NotationPackage.CONNECTOR__TARGET_EDGES:
+ getTargetEdges().clear();
+ return;
+ case NotationPackage.CONNECTOR__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.CONNECTOR__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.CONNECTOR__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.CONNECTOR__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.CONNECTOR__SOURCE:
+ setSource((View)null);
+ return;
+ case NotationPackage.CONNECTOR__TARGET:
+ setTarget((View)null);
+ return;
+ case NotationPackage.CONNECTOR__BENDPOINTS:
+ setBendpoints((Bendpoints)null);
+ return;
+ case NotationPackage.CONNECTOR__SOURCE_ANCHOR:
+ setSourceAnchor((Anchor)null);
+ return;
+ case NotationPackage.CONNECTOR__TARGET_ANCHOR:
+ setTargetAnchor((Anchor)null);
+ return;
+ case NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS:
+ setRoundedBendpointsRadius(ROUNDED_BENDPOINTS_RADIUS_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__ROUTING:
+ setRouting(ROUTING_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__SMOOTHNESS:
+ setSmoothness(SMOOTHNESS_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS:
+ setAvoidObstructions(AVOID_OBSTRUCTIONS_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__CLOSEST_DISTANCE:
+ setClosestDistance(CLOSEST_DISTANCE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__JUMP_LINK_STATUS:
+ setJumpLinkStatus(JUMP_LINK_STATUS_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__JUMP_LINK_TYPE:
+ setJumpLinkType(JUMP_LINK_TYPE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE:
+ setJumpLinksReverse(JUMP_LINKS_REVERSE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__LINE_COLOR:
+ setLineColor(LINE_COLOR_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR__LINE_WIDTH:
+ setLineWidth(LINE_WIDTH_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CONNECTOR__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.CONNECTOR__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.CONNECTOR__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.CONNECTOR__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.CONNECTOR__SOURCE_EDGES:
+ return !getSourceEdges().isEmpty();
+ case NotationPackage.CONNECTOR__TARGET_EDGES:
+ return !getTargetEdges().isEmpty();
+ case NotationPackage.CONNECTOR__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.CONNECTOR__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.CONNECTOR__ELEMENT:
+ return isSetElement();
+ case NotationPackage.CONNECTOR__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.CONNECTOR__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.CONNECTOR__SOURCE:
+ return getSource() != null;
+ case NotationPackage.CONNECTOR__TARGET:
+ return getTarget() != null;
+ case NotationPackage.CONNECTOR__BENDPOINTS:
+ return getBendpoints() != null;
+ case NotationPackage.CONNECTOR__SOURCE_ANCHOR:
+ return getSourceAnchor() != null;
+ case NotationPackage.CONNECTOR__TARGET_ANCHOR:
+ return getTargetAnchor() != null;
+ case NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS:
+ return getRoundedBendpointsRadius() != ROUNDED_BENDPOINTS_RADIUS_EDEFAULT;
+ case NotationPackage.CONNECTOR__ROUTING:
+ return getRouting() != ROUTING_EDEFAULT;
+ case NotationPackage.CONNECTOR__SMOOTHNESS:
+ return getSmoothness() != SMOOTHNESS_EDEFAULT;
+ case NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS:
+ return isAvoidObstructions() != AVOID_OBSTRUCTIONS_EDEFAULT;
+ case NotationPackage.CONNECTOR__CLOSEST_DISTANCE:
+ return isClosestDistance() != CLOSEST_DISTANCE_EDEFAULT;
+ case NotationPackage.CONNECTOR__JUMP_LINK_STATUS:
+ return getJumpLinkStatus() != JUMP_LINK_STATUS_EDEFAULT;
+ case NotationPackage.CONNECTOR__JUMP_LINK_TYPE:
+ return getJumpLinkType() != JUMP_LINK_TYPE_EDEFAULT;
+ case NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE:
+ return isJumpLinksReverse() != JUMP_LINKS_REVERSE_EDEFAULT;
+ case NotationPackage.CONNECTOR__LINE_COLOR:
+ return getLineColor() != LINE_COLOR_EDEFAULT;
+ case NotationPackage.CONNECTOR__LINE_WIDTH:
+ return getLineWidth() != LINE_WIDTH_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
+ {
+ if (baseClass == Style.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == RoundedCornersStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS:
+ return NotationPackage.ROUNDED_CORNERS_STYLE__ROUNDED_BENDPOINTS_RADIUS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == RoutingStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.CONNECTOR__ROUTING:
+ return NotationPackage.ROUTING_STYLE__ROUTING;
+ case NotationPackage.CONNECTOR__SMOOTHNESS:
+ return NotationPackage.ROUTING_STYLE__SMOOTHNESS;
+ case NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS:
+ return NotationPackage.ROUTING_STYLE__AVOID_OBSTRUCTIONS;
+ case NotationPackage.CONNECTOR__CLOSEST_DISTANCE:
+ return NotationPackage.ROUTING_STYLE__CLOSEST_DISTANCE;
+ case NotationPackage.CONNECTOR__JUMP_LINK_STATUS:
+ return NotationPackage.ROUTING_STYLE__JUMP_LINK_STATUS;
+ case NotationPackage.CONNECTOR__JUMP_LINK_TYPE:
+ return NotationPackage.ROUTING_STYLE__JUMP_LINK_TYPE;
+ case NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE:
+ return NotationPackage.ROUTING_STYLE__JUMP_LINKS_REVERSE;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == LineStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.CONNECTOR__LINE_COLOR:
+ return NotationPackage.LINE_STYLE__LINE_COLOR;
+ case NotationPackage.CONNECTOR__LINE_WIDTH:
+ return NotationPackage.LINE_STYLE__LINE_WIDTH;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ConnectorStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
+ {
+ if (baseClass == Style.class)
+ {
+ switch (baseFeatureID)
+ {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == RoundedCornersStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.ROUNDED_CORNERS_STYLE__ROUNDED_BENDPOINTS_RADIUS:
+ return NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == RoutingStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.ROUTING_STYLE__ROUTING:
+ return NotationPackage.CONNECTOR__ROUTING;
+ case NotationPackage.ROUTING_STYLE__SMOOTHNESS:
+ return NotationPackage.CONNECTOR__SMOOTHNESS;
+ case NotationPackage.ROUTING_STYLE__AVOID_OBSTRUCTIONS:
+ return NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS;
+ case NotationPackage.ROUTING_STYLE__CLOSEST_DISTANCE:
+ return NotationPackage.CONNECTOR__CLOSEST_DISTANCE;
+ case NotationPackage.ROUTING_STYLE__JUMP_LINK_STATUS:
+ return NotationPackage.CONNECTOR__JUMP_LINK_STATUS;
+ case NotationPackage.ROUTING_STYLE__JUMP_LINK_TYPE:
+ return NotationPackage.CONNECTOR__JUMP_LINK_TYPE;
+ case NotationPackage.ROUTING_STYLE__JUMP_LINKS_REVERSE:
+ return NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == LineStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.LINE_STYLE__LINE_COLOR:
+ return NotationPackage.CONNECTOR__LINE_COLOR;
+ case NotationPackage.LINE_STYLE__LINE_WIDTH:
+ return NotationPackage.CONNECTOR__LINE_WIDTH;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ConnectorStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // ConnectorImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ConnectorStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ConnectorStyleImpl.java
new file mode 100644
index 0000000000..e02e3f1986
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ConnectorStyleImpl.java
@@ -0,0 +1,327 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2009 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.ConnectorStyle;
+import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
+import org.eclipse.gmf.runtime.notation.JumpLinkType;
+import org.eclipse.gmf.runtime.notation.LineStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.Smoothness;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Connector Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorStyleImpl#getLineColor <em>Line Color</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ConnectorStyleImpl#getLineWidth <em>Line Width</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class ConnectorStyleImpl extends RoutingStyleImpl implements ConnectorStyle
+{
+
+ /**
+ * The default value of the '{@link #getLineColor() <em>Line Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLineColor()
+ * @generated
+ * @ordered
+ */
+ protected static final int LINE_COLOR_EDEFAULT = 11579568;
+
+ /**
+ * The default value of the '{@link #getLineWidth() <em>Line Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLineWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final int LINE_WIDTH_EDEFAULT = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectorStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.CONNECTOR_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLineColor()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.CONNECTOR_STYLE__LINE_COLOR, NotationPackage.Literals.LINE_STYLE__LINE_COLOR, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLineColor(int newLineColor)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR_STYLE__LINE_COLOR, NotationPackage.Literals.LINE_STYLE__LINE_COLOR, new Integer(newLineColor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLineWidth()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.CONNECTOR_STYLE__LINE_WIDTH, NotationPackage.Literals.LINE_STYLE__LINE_WIDTH, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLineWidth(int newLineWidth)
+ {
+ eDynamicSet(NotationPackage.CONNECTOR_STYLE__LINE_WIDTH, NotationPackage.Literals.LINE_STYLE__LINE_WIDTH, new Integer(newLineWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CONNECTOR_STYLE__ROUNDED_BENDPOINTS_RADIUS:
+ return new Integer(getRoundedBendpointsRadius());
+ case NotationPackage.CONNECTOR_STYLE__ROUTING:
+ return getRouting();
+ case NotationPackage.CONNECTOR_STYLE__SMOOTHNESS:
+ return getSmoothness();
+ case NotationPackage.CONNECTOR_STYLE__AVOID_OBSTRUCTIONS:
+ return isAvoidObstructions() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.CONNECTOR_STYLE__CLOSEST_DISTANCE:
+ return isClosestDistance() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINK_STATUS:
+ return getJumpLinkStatus();
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINK_TYPE:
+ return getJumpLinkType();
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINKS_REVERSE:
+ return isJumpLinksReverse() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.CONNECTOR_STYLE__LINE_COLOR:
+ return new Integer(getLineColor());
+ case NotationPackage.CONNECTOR_STYLE__LINE_WIDTH:
+ return new Integer(getLineWidth());
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CONNECTOR_STYLE__ROUNDED_BENDPOINTS_RADIUS:
+ setRoundedBendpointsRadius(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.CONNECTOR_STYLE__ROUTING:
+ setRouting((Routing)newValue);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__SMOOTHNESS:
+ setSmoothness((Smoothness)newValue);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__AVOID_OBSTRUCTIONS:
+ setAvoidObstructions(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.CONNECTOR_STYLE__CLOSEST_DISTANCE:
+ setClosestDistance(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINK_STATUS:
+ setJumpLinkStatus((JumpLinkStatus)newValue);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINK_TYPE:
+ setJumpLinkType((JumpLinkType)newValue);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINKS_REVERSE:
+ setJumpLinksReverse(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.CONNECTOR_STYLE__LINE_COLOR:
+ setLineColor(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.CONNECTOR_STYLE__LINE_WIDTH:
+ setLineWidth(((Integer)newValue).intValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CONNECTOR_STYLE__ROUNDED_BENDPOINTS_RADIUS:
+ setRoundedBendpointsRadius(ROUNDED_BENDPOINTS_RADIUS_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__ROUTING:
+ setRouting(ROUTING_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__SMOOTHNESS:
+ setSmoothness(SMOOTHNESS_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__AVOID_OBSTRUCTIONS:
+ setAvoidObstructions(AVOID_OBSTRUCTIONS_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__CLOSEST_DISTANCE:
+ setClosestDistance(CLOSEST_DISTANCE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINK_STATUS:
+ setJumpLinkStatus(JUMP_LINK_STATUS_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINK_TYPE:
+ setJumpLinkType(JUMP_LINK_TYPE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINKS_REVERSE:
+ setJumpLinksReverse(JUMP_LINKS_REVERSE_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__LINE_COLOR:
+ setLineColor(LINE_COLOR_EDEFAULT);
+ return;
+ case NotationPackage.CONNECTOR_STYLE__LINE_WIDTH:
+ setLineWidth(LINE_WIDTH_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.CONNECTOR_STYLE__ROUNDED_BENDPOINTS_RADIUS:
+ return getRoundedBendpointsRadius() != ROUNDED_BENDPOINTS_RADIUS_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__ROUTING:
+ return getRouting() != ROUTING_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__SMOOTHNESS:
+ return getSmoothness() != SMOOTHNESS_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__AVOID_OBSTRUCTIONS:
+ return isAvoidObstructions() != AVOID_OBSTRUCTIONS_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__CLOSEST_DISTANCE:
+ return isClosestDistance() != CLOSEST_DISTANCE_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINK_STATUS:
+ return getJumpLinkStatus() != JUMP_LINK_STATUS_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINK_TYPE:
+ return getJumpLinkType() != JUMP_LINK_TYPE_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__JUMP_LINKS_REVERSE:
+ return isJumpLinksReverse() != JUMP_LINKS_REVERSE_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__LINE_COLOR:
+ return getLineColor() != LINE_COLOR_EDEFAULT;
+ case NotationPackage.CONNECTOR_STYLE__LINE_WIDTH:
+ return getLineWidth() != LINE_WIDTH_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
+ {
+ if (baseClass == LineStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.CONNECTOR_STYLE__LINE_COLOR:
+ return NotationPackage.LINE_STYLE__LINE_COLOR;
+ case NotationPackage.CONNECTOR_STYLE__LINE_WIDTH:
+ return NotationPackage.LINE_STYLE__LINE_WIDTH;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
+ {
+ if (baseClass == LineStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.LINE_STYLE__LINE_COLOR:
+ return NotationPackage.CONNECTOR_STYLE__LINE_COLOR;
+ case NotationPackage.LINE_STYLE__LINE_WIDTH:
+ return NotationPackage.CONNECTOR_STYLE__LINE_WIDTH;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // ConnectorStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DataTypeStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DataTypeStyleImpl.java
new file mode 100644
index 0000000000..6b3369d354
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DataTypeStyleImpl.java
@@ -0,0 +1,194 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.gmf.runtime.notation.DataTypeStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Type Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DataTypeStyleImpl#getInstanceType <em>Instance Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataTypeStyleImpl extends NamedStyleImpl implements DataTypeStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataTypeStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DATA_TYPE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getInstanceType()
+ {
+ return (EDataType)eDynamicGet(NotationPackage.DATA_TYPE_STYLE__INSTANCE_TYPE, NotationPackage.Literals.DATA_TYPE_STYLE__INSTANCE_TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType basicGetInstanceType()
+ {
+ return (EDataType)eDynamicGet(NotationPackage.DATA_TYPE_STYLE__INSTANCE_TYPE, NotationPackage.Literals.DATA_TYPE_STYLE__INSTANCE_TYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInstanceType(EDataType newInstanceType)
+ {
+ eDynamicSet(NotationPackage.DATA_TYPE_STYLE__INSTANCE_TYPE, NotationPackage.Literals.DATA_TYPE_STYLE__INSTANCE_TYPE, newInstanceType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String getStringFromObject(Object objectValue)
+ {
+ if (getInstanceType() == null && objectValue instanceof String)
+ {
+ return (String)objectValue;
+ }
+ return EcoreUtil.convertToString(getInstanceType(), objectValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Object getObjectFromString(String stringValue)
+ {
+ if (getInstanceType() == null)
+ {
+ return stringValue;
+ }
+ return EcoreUtil.createFromString(getInstanceType(), stringValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DATA_TYPE_STYLE__NAME:
+ return getName();
+ case NotationPackage.DATA_TYPE_STYLE__INSTANCE_TYPE:
+ if (resolve)
+ {
+ return getInstanceType();
+ }
+ return basicGetInstanceType();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DATA_TYPE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.DATA_TYPE_STYLE__INSTANCE_TYPE:
+ setInstanceType((EDataType)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DATA_TYPE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.DATA_TYPE_STYLE__INSTANCE_TYPE:
+ setInstanceType((EDataType)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DATA_TYPE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.DATA_TYPE_STYLE__INSTANCE_TYPE:
+ return basicGetInstanceType() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // DataTypeStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DecorationNodeImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DecorationNodeImpl.java
new file mode 100644
index 0000000000..743f46113a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DecorationNodeImpl.java
@@ -0,0 +1,279 @@
+/******************************************************************************
+ * Copyright (c) 2008, 2010, 2018 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ * Eike Stepper - Migration to CDO
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+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.util.EContentsEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Decoration Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated NOT
+ * @since 1.2
+ */
+public class DecorationNodeImpl extends BasicDecorationNodeImpl implements DecorationNode
+{
+
+ protected DecorationNodeImpl()
+ {
+ super();
+ }
+
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DECORATION_NODE;
+ }
+
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DECORATION_NODE__EANNOTATIONS:
+ return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DECORATION_NODE__SOURCE_EDGES:
+ return ((InternalEList)getSourceEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DECORATION_NODE__TARGET_EDGES:
+ return ((InternalEList)getTargetEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DECORATION_NODE__PERSISTED_CHILDREN:
+ return ((InternalEList)getPersistedChildren()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DECORATION_NODE__STYLES:
+ return ((InternalEList)getStyles()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DECORATION_NODE__TRANSIENT_CHILDREN:
+ return ((InternalEList)getTransientChildren()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DECORATION_NODE__LAYOUT_CONSTRAINT:
+ return basicSetLayoutConstraint(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DECORATION_NODE__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.DECORATION_NODE__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.DECORATION_NODE__TYPE:
+ return getType();
+ case NotationPackage.DECORATION_NODE__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.DECORATION_NODE__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.DECORATION_NODE__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.DECORATION_NODE__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.DECORATION_NODE__STYLES:
+ return getStyles();
+ case NotationPackage.DECORATION_NODE__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.DECORATION_NODE__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.DECORATION_NODE__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.DECORATION_NODE__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DECORATION_NODE__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DECORATION_NODE__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.DECORATION_NODE__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.DECORATION_NODE__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.DECORATION_NODE__SOURCE_EDGES:
+ case NotationPackage.DECORATION_NODE__TARGET_EDGES:
+ return;
+ case NotationPackage.DECORATION_NODE__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DECORATION_NODE__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DECORATION_NODE__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.DECORATION_NODE__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DECORATION_NODE__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DECORATION_NODE__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.DECORATION_NODE__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.DECORATION_NODE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.DECORATION_NODE__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.DECORATION_NODE__SOURCE_EDGES:
+ case NotationPackage.DECORATION_NODE__TARGET_EDGES:
+ return;
+ case NotationPackage.DECORATION_NODE__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.DECORATION_NODE__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.DECORATION_NODE__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.DECORATION_NODE__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.DECORATION_NODE__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DECORATION_NODE__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.DECORATION_NODE__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.DECORATION_NODE__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.DECORATION_NODE__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.DECORATION_NODE__SOURCE_EDGES:
+ return false;
+ case NotationPackage.DECORATION_NODE__TARGET_EDGES:
+ return false;
+ case NotationPackage.DECORATION_NODE__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.DECORATION_NODE__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.DECORATION_NODE__ELEMENT:
+ return isSetElement();
+ case NotationPackage.DECORATION_NODE__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.DECORATION_NODE__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.DECORATION_NODE__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ @Override
+ public EList getPersistedChildren()
+ {
+ return (EList)eDynamicGet(NotationPackage.VIEW__PERSISTED_CHILDREN - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__PERSISTED_CHILDREN, true, true);
+ }
+
+ @Override
+ public EList getChildren()
+ {
+ return new EContentsEList(this, childrenFeatures);
+ // if (allChildren == null) {
+ // allChildren = new EContentsEList(this, childrenFeatures);
+ // }
+ // return allChildren;
+ }
+
+ @Override
+ public EList getStyles()
+ {
+ return (EList)eDynamicGet(NotationPackage.VIEW__STYLES - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__STYLES, true, true);
+ }
+
+ @Override
+ public EList getTransientChildren()
+ {
+ return (EList)eDynamicGet(NotationPackage.VIEW__TRANSIENT_CHILDREN - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.VIEW__TRANSIENT_CHILDREN, true, true);
+ }
+
+ @Override
+ public LayoutConstraint getLayoutConstraint()
+ {
+ return (LayoutConstraint)eDynamicGet(NotationPackage.NODE__LAYOUT_CONSTRAINT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.NODE__LAYOUT_CONSTRAINT,
+ true, true);
+ }
+
+ @Override
+ public NotificationChain basicSetLayoutConstraint(LayoutConstraint newLayoutConstraint, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newLayoutConstraint, NotationPackage.NODE__LAYOUT_CONSTRAINT, msgs);
+ return msgs;
+ }
+
+ @Override
+ public void setLayoutConstraint(LayoutConstraint newLayoutConstraint)
+ {
+ eDynamicSet(NotationPackage.NODE__LAYOUT_CONSTRAINT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.NODE__LAYOUT_CONSTRAINT, newLayoutConstraint);
+ }
+
+} // DecorationNodeImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DescriptionStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DescriptionStyleImpl.java
new file mode 100644
index 0000000000..b6036cfb2b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DescriptionStyleImpl.java
@@ -0,0 +1,167 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.DescriptionStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DescriptionStyleImpl#getDescription <em>Description</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class DescriptionStyleImpl extends CDOObjectImpl implements DescriptionStyle
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DescriptionStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DESCRIPTION_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription()
+ {
+ return (String)eDynamicGet(NotationPackage.DESCRIPTION_STYLE__DESCRIPTION, NotationPackage.Literals.DESCRIPTION_STYLE__DESCRIPTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ eDynamicSet(NotationPackage.DESCRIPTION_STYLE__DESCRIPTION, NotationPackage.Literals.DESCRIPTION_STYLE__DESCRIPTION, newDescription);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DESCRIPTION_STYLE__DESCRIPTION:
+ return getDescription();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DESCRIPTION_STYLE__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DESCRIPTION_STYLE__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DESCRIPTION_STYLE__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? getDescription() != null : !DESCRIPTION_EDEFAULT.equals(getDescription());
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // DescriptionStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramImpl.java
new file mode 100644
index 0000000000..f06a6dfc4f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramImpl.java
@@ -0,0 +1,561 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+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.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EContentsEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.MeasurementUnit;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Diagram</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DiagramImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DiagramImpl#getMeasurementUnit <em>Measurement Unit</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DiagramImpl#getPersistedEdges <em>Persisted Edges</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DiagramImpl#getTransientEdges <em>Transient Edges</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class DiagramImpl extends ViewImpl 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 = ""; //$NON-NLS-1$
+
+ /**
+ * The default value of the '{@link #getMeasurementUnit() <em>Measurement Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasurementUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final MeasurementUnit MEASUREMENT_UNIT_EDEFAULT = MeasurementUnit.HIMETRIC_LITERAL;
+
+ private EContentsEList allEdges = null;
+
+ protected static final EStructuralFeature[] edgesFeatures = new EStructuralFeature[] { NotationPackage.Literals.DIAGRAM__PERSISTED_EDGES,
+ NotationPackage.Literals.DIAGRAM__TRANSIENT_EDGES };
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected DiagramImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DIAGRAM;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return (String)eDynamicGet(NotationPackage.DIAGRAM__NAME - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DIAGRAM__NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ eDynamicSet(NotationPackage.DIAGRAM__NAME - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DIAGRAM__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MeasurementUnit getMeasurementUnit()
+ {
+ return (MeasurementUnit)eDynamicGet(NotationPackage.DIAGRAM__MEASUREMENT_UNIT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DIAGRAM__MEASUREMENT_UNIT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> Set the Measurement Unit for this Diagram, the
+ * Measurement unit can be set only once, the set method will not set the
+ * value if it was already set <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setMeasurementUnit(MeasurementUnit newMeasurementUnit)
+ {
+ if (!isSetMeasurementUnit())
+ {
+ setMeasurementUnitGen(newMeasurementUnit);
+ } /*
+ * else { throw new UnsupportedOperationException(); }
+ */
+ }
+
+ /**
+ * <!-- begin-user-doc --> Set the Measurement Unit for this Diagram, the
+ * Measurement unit can be set only once, the set method will not set the
+ * value if it was already set <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMeasurementUnitGen(MeasurementUnit newMeasurementUnit)
+ {
+ eDynamicSet(NotationPackage.DIAGRAM__MEASUREMENT_UNIT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DIAGRAM__MEASUREMENT_UNIT, newMeasurementUnit);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ public void unsetMeasurementUnit()
+ {
+ /* throw new UnsupportedOperationException(); */
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMeasurementUnit()
+ {
+ return eDynamicIsSet(NotationPackage.DIAGRAM__MEASUREMENT_UNIT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DIAGRAM__MEASUREMENT_UNIT);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ public EList getEdges()
+ {
+ if (allEdges == null)
+ {
+ allEdges = new EContentsEList(this, edgesFeatures);
+ }
+ return allEdges;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getPersistedEdges()
+ {
+ return (EList)eDynamicGet(NotationPackage.DIAGRAM__PERSISTED_EDGES - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DIAGRAM__PERSISTED_EDGES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getTransientEdges()
+ {
+ return (EList)eDynamicGet(NotationPackage.DIAGRAM__TRANSIENT_EDGES - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.DIAGRAM__TRANSIENT_EDGES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ public Edge createEdge(EClass eClass)
+ {
+ Edge newEdge = (Edge)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ getPersistedEdges().add(newEdge);
+ return newEdge;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM__EANNOTATIONS:
+ return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DIAGRAM__SOURCE_EDGES:
+ return ((InternalEList)getSourceEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DIAGRAM__TARGET_EDGES:
+ return ((InternalEList)getTargetEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DIAGRAM__PERSISTED_CHILDREN:
+ return ((InternalEList)getPersistedChildren()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DIAGRAM__STYLES:
+ return ((InternalEList)getStyles()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DIAGRAM__TRANSIENT_CHILDREN:
+ return ((InternalEList)getTransientChildren()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DIAGRAM__PERSISTED_EDGES:
+ return ((InternalEList)getPersistedEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DIAGRAM__TRANSIENT_EDGES:
+ return ((InternalEList)getTransientEdges()).basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.DIAGRAM__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.DIAGRAM__TYPE:
+ return getType();
+ case NotationPackage.DIAGRAM__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.DIAGRAM__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.DIAGRAM__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.DIAGRAM__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.DIAGRAM__STYLES:
+ return getStyles();
+ case NotationPackage.DIAGRAM__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.DIAGRAM__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.DIAGRAM__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.DIAGRAM__NAME:
+ return getName();
+ case NotationPackage.DIAGRAM__MEASUREMENT_UNIT:
+ return getMeasurementUnit();
+ case NotationPackage.DIAGRAM__PERSISTED_EDGES:
+ return getPersistedEdges();
+ case NotationPackage.DIAGRAM__TRANSIENT_EDGES:
+ return getTransientEdges();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.DIAGRAM__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.DIAGRAM__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.DIAGRAM__SOURCE_EDGES:
+ getSourceEdges().clear();
+ getSourceEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM__TARGET_EDGES:
+ getTargetEdges().clear();
+ getTargetEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.DIAGRAM__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.DIAGRAM__MEASUREMENT_UNIT:
+ setMeasurementUnit((MeasurementUnit)newValue);
+ return;
+ case NotationPackage.DIAGRAM__PERSISTED_EDGES:
+ getPersistedEdges().clear();
+ getPersistedEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM__TRANSIENT_EDGES:
+ getTransientEdges().clear();
+ getTransientEdges().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.DIAGRAM__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.DIAGRAM__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.DIAGRAM__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.DIAGRAM__SOURCE_EDGES:
+ getSourceEdges().clear();
+ return;
+ case NotationPackage.DIAGRAM__TARGET_EDGES:
+ getTargetEdges().clear();
+ return;
+ case NotationPackage.DIAGRAM__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.DIAGRAM__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.DIAGRAM__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.DIAGRAM__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.DIAGRAM__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.DIAGRAM__MEASUREMENT_UNIT:
+ unsetMeasurementUnit();
+ return;
+ case NotationPackage.DIAGRAM__PERSISTED_EDGES:
+ getPersistedEdges().clear();
+ return;
+ case NotationPackage.DIAGRAM__TRANSIENT_EDGES:
+ getTransientEdges().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.DIAGRAM__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.DIAGRAM__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.DIAGRAM__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.DIAGRAM__SOURCE_EDGES:
+ return !getSourceEdges().isEmpty();
+ case NotationPackage.DIAGRAM__TARGET_EDGES:
+ return !getTargetEdges().isEmpty();
+ case NotationPackage.DIAGRAM__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.DIAGRAM__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.DIAGRAM__ELEMENT:
+ return isSetElement();
+ case NotationPackage.DIAGRAM__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.DIAGRAM__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.DIAGRAM__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.DIAGRAM__MEASUREMENT_UNIT:
+ return isSetMeasurementUnit();
+ case NotationPackage.DIAGRAM__PERSISTED_EDGES:
+ return !getPersistedEdges().isEmpty();
+ case NotationPackage.DIAGRAM__TRANSIENT_EDGES:
+ return !getTransientEdges().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ public void insertEdge(Edge edge)
+ {
+ persistEdges();
+ getPersistedEdges().add(edge);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ public void insertEdgeAt(Edge edge, int index)
+ {
+ persistEdges();
+ if (getPersistedEdges().size() >= index)
+ {
+ getPersistedEdges().add(index, edge);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ public void insertEdge(Edge edge, boolean persisted)
+ {
+ List edges = null;
+ if (persisted)
+ {
+ edges = getPersistedEdges();
+ }
+ else
+ {
+ edges = getTransientEdges();
+ }
+ edges.add(edge);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ public void persistEdges()
+ {
+ if (eIsSet(NotationPackage.DIAGRAM__TRANSIENT_EDGES))
+ {
+ List edges = new ArrayList(getTransientEdges());
+ getPersistedEdges().addAll(edges);
+ for (Iterator iterator = edges.iterator(); iterator.hasNext();)
+ {
+ Edge edge = (Edge)iterator.next();
+ View sourceView = edge.getSource();
+ View targetView = edge.getTarget();
+ if (sourceView != null)
+ {
+ persistCompleteHierarchy(sourceView);
+ }
+ if (targetView != null)
+ {
+ persistCompleteHierarchy(targetView);
+ }
+ }
+ }
+ }
+
+ /**
+ * Persist the view passed in and all its parent views if they are
+ * transient.
+ *
+ * @param view
+ * the view to persist
+ */
+ private void persistCompleteHierarchy(View view)
+ {
+ view.persist();
+ EObject container = view.eContainer();
+ while (container instanceof View)
+ {
+ // if already persisted, quit
+ EStructuralFeature sFeature = container.eContainingFeature();
+ if (sFeature != null && !sFeature.isTransient())
+ {
+ break;
+ }
+
+ ((View)container).persist();
+ container = container.eContainer();
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ */
+ public void removeEdge(Edge edge)
+ {
+ if (edge.eContainer() == this)
+ {
+ EStructuralFeature eContainingFeature = edge.eContainingFeature();
+ if (eContainingFeature == NotationPackage.Literals.DIAGRAM__TRANSIENT_EDGES)
+ {
+ getTransientEdges().remove(edge);
+ }
+ else if (eContainingFeature == NotationPackage.Literals.DIAGRAM__PERSISTED_EDGES)
+ {
+ getPersistedEdges().remove(edge);
+ }
+ }
+ }
+
+} // DiagramImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramLinkStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramLinkStyleImpl.java
new file mode 100644
index 0000000000..e53d555d17
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramLinkStyleImpl.java
@@ -0,0 +1,168 @@
+/******************************************************************************
+ * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.DiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Diagram Link Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DiagramLinkStyleImpl#getDiagramLink <em>Diagram Link</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DiagramLinkStyleImpl extends CDOObjectImpl implements DiagramLinkStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DiagramLinkStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DIAGRAM_LINK_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Diagram getDiagramLink()
+ {
+ return (Diagram)eDynamicGet(NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK, NotationPackage.Literals.DIAGRAM_LINK_STYLE__DIAGRAM_LINK, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Diagram basicGetDiagramLink()
+ {
+ return (Diagram)eDynamicGet(NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK, NotationPackage.Literals.DIAGRAM_LINK_STYLE__DIAGRAM_LINK, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDiagramLink(Diagram newDiagramLink)
+ {
+ eDynamicSet(NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK, NotationPackage.Literals.DIAGRAM_LINK_STYLE__DIAGRAM_LINK, newDiagramLink);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK:
+ if (resolve)
+ {
+ return getDiagramLink();
+ }
+ return basicGetDiagramLink();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK:
+ setDiagramLink((Diagram)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK:
+ setDiagramLink((Diagram)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK:
+ return basicGetDiagramLink() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // DiagramLinkStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramStyleImpl.java
new file mode 100644
index 0000000000..f5b076366b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DiagramStyleImpl.java
@@ -0,0 +1,331 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+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.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.DescriptionStyle;
+import org.eclipse.gmf.runtime.notation.DiagramStyle;
+import org.eclipse.gmf.runtime.notation.GuideStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Diagram Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DiagramStyleImpl#getHorizontalGuides <em>Horizontal Guides</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DiagramStyleImpl#getVerticalGuides <em>Vertical Guides</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DiagramStyleImpl#getDescription <em>Description</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class DiagramStyleImpl extends PageStyleImpl implements DiagramStyle
+{
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DiagramStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DIAGRAM_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getHorizontalGuides()
+ {
+ return (EList)eDynamicGet(NotationPackage.DIAGRAM_STYLE__HORIZONTAL_GUIDES, NotationPackage.Literals.GUIDE_STYLE__HORIZONTAL_GUIDES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getVerticalGuides()
+ {
+ return (EList)eDynamicGet(NotationPackage.DIAGRAM_STYLE__VERTICAL_GUIDES, NotationPackage.Literals.GUIDE_STYLE__VERTICAL_GUIDES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription()
+ {
+ return (String)eDynamicGet(NotationPackage.DIAGRAM_STYLE__DESCRIPTION, NotationPackage.Literals.DESCRIPTION_STYLE__DESCRIPTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ eDynamicSet(NotationPackage.DIAGRAM_STYLE__DESCRIPTION, NotationPackage.Literals.DESCRIPTION_STYLE__DESCRIPTION, newDescription);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_STYLE__HORIZONTAL_GUIDES:
+ return ((InternalEList)getHorizontalGuides()).basicRemove(otherEnd, msgs);
+ case NotationPackage.DIAGRAM_STYLE__VERTICAL_GUIDES:
+ return ((InternalEList)getVerticalGuides()).basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_STYLE__PAGE_X:
+ return new Integer(getPageX());
+ case NotationPackage.DIAGRAM_STYLE__PAGE_Y:
+ return new Integer(getPageY());
+ case NotationPackage.DIAGRAM_STYLE__PAGE_WIDTH:
+ return new Integer(getPageWidth());
+ case NotationPackage.DIAGRAM_STYLE__PAGE_HEIGHT:
+ return new Integer(getPageHeight());
+ case NotationPackage.DIAGRAM_STYLE__HORIZONTAL_GUIDES:
+ return getHorizontalGuides();
+ case NotationPackage.DIAGRAM_STYLE__VERTICAL_GUIDES:
+ return getVerticalGuides();
+ case NotationPackage.DIAGRAM_STYLE__DESCRIPTION:
+ return getDescription();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_STYLE__PAGE_X:
+ setPageX(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_Y:
+ setPageY(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_WIDTH:
+ setPageWidth(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_HEIGHT:
+ setPageHeight(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.DIAGRAM_STYLE__HORIZONTAL_GUIDES:
+ getHorizontalGuides().clear();
+ getHorizontalGuides().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM_STYLE__VERTICAL_GUIDES:
+ getVerticalGuides().clear();
+ getVerticalGuides().addAll((Collection)newValue);
+ return;
+ case NotationPackage.DIAGRAM_STYLE__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_STYLE__PAGE_X:
+ setPageX(PAGE_X_EDEFAULT);
+ return;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_Y:
+ setPageY(PAGE_Y_EDEFAULT);
+ return;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_WIDTH:
+ setPageWidth(PAGE_WIDTH_EDEFAULT);
+ return;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_HEIGHT:
+ setPageHeight(PAGE_HEIGHT_EDEFAULT);
+ return;
+ case NotationPackage.DIAGRAM_STYLE__HORIZONTAL_GUIDES:
+ getHorizontalGuides().clear();
+ return;
+ case NotationPackage.DIAGRAM_STYLE__VERTICAL_GUIDES:
+ getVerticalGuides().clear();
+ return;
+ case NotationPackage.DIAGRAM_STYLE__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DIAGRAM_STYLE__PAGE_X:
+ return getPageX() != PAGE_X_EDEFAULT;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_Y:
+ return getPageY() != PAGE_Y_EDEFAULT;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_WIDTH:
+ return getPageWidth() != PAGE_WIDTH_EDEFAULT;
+ case NotationPackage.DIAGRAM_STYLE__PAGE_HEIGHT:
+ return getPageHeight() != PAGE_HEIGHT_EDEFAULT;
+ case NotationPackage.DIAGRAM_STYLE__HORIZONTAL_GUIDES:
+ return !getHorizontalGuides().isEmpty();
+ case NotationPackage.DIAGRAM_STYLE__VERTICAL_GUIDES:
+ return !getVerticalGuides().isEmpty();
+ case NotationPackage.DIAGRAM_STYLE__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? getDescription() != null : !DESCRIPTION_EDEFAULT.equals(getDescription());
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
+ {
+ if (baseClass == GuideStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.DIAGRAM_STYLE__HORIZONTAL_GUIDES:
+ return NotationPackage.GUIDE_STYLE__HORIZONTAL_GUIDES;
+ case NotationPackage.DIAGRAM_STYLE__VERTICAL_GUIDES:
+ return NotationPackage.GUIDE_STYLE__VERTICAL_GUIDES;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DescriptionStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.DIAGRAM_STYLE__DESCRIPTION:
+ return NotationPackage.DESCRIPTION_STYLE__DESCRIPTION;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
+ {
+ if (baseClass == GuideStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.GUIDE_STYLE__HORIZONTAL_GUIDES:
+ return NotationPackage.DIAGRAM_STYLE__HORIZONTAL_GUIDES;
+ case NotationPackage.GUIDE_STYLE__VERTICAL_GUIDES:
+ return NotationPackage.DIAGRAM_STYLE__VERTICAL_GUIDES;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DescriptionStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.DESCRIPTION_STYLE__DESCRIPTION:
+ return NotationPackage.DIAGRAM_STYLE__DESCRIPTION;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // DiagramStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DoubleListValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DoubleListValueStyleImpl.java
new file mode 100644
index 0000000000..ba819d7732
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DoubleListValueStyleImpl.java
@@ -0,0 +1,145 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.DoubleListValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Double List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DoubleListValueStyleImpl#getDoubleListValue <em>Double List Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DoubleListValueStyleImpl extends NamedStyleImpl implements DoubleListValueStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DoubleListValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DOUBLE_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getDoubleListValue()
+ {
+ return (EList)eDynamicGet(NotationPackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE, NotationPackage.Literals.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE:
+ return getDoubleListValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE:
+ getDoubleListValue().clear();
+ getDoubleListValue().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE:
+ getDoubleListValue().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE:
+ return !getDoubleListValue().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // DoubleListValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DoubleValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DoubleValueStyleImpl.java
new file mode 100644
index 0000000000..258565372d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DoubleValueStyleImpl.java
@@ -0,0 +1,161 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.DoubleValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Double Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DoubleValueStyleImpl#getDoubleValue <em>Double Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DoubleValueStyleImpl extends NamedStyleImpl implements DoubleValueStyle
+{
+ /**
+ * The default value of the '{@link #getDoubleValue() <em>Double Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDoubleValue()
+ * @generated
+ * @ordered
+ */
+ protected static final double DOUBLE_VALUE_EDEFAULT = 0.0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DoubleValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DOUBLE_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getDoubleValue()
+ {
+ return ((Double)eDynamicGet(NotationPackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE, NotationPackage.Literals.DOUBLE_VALUE_STYLE__DOUBLE_VALUE, true, true))
+ .doubleValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDoubleValue(double newDoubleValue)
+ {
+ eDynamicSet(NotationPackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE, NotationPackage.Literals.DOUBLE_VALUE_STYLE__DOUBLE_VALUE, new Double(newDoubleValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DOUBLE_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE:
+ return new Double(getDoubleValue());
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DOUBLE_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE:
+ setDoubleValue(((Double)newValue).doubleValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DOUBLE_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE:
+ setDoubleValue(DOUBLE_VALUE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DOUBLE_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE:
+ return getDoubleValue() != DOUBLE_VALUE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // DoubleValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DrawerStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DrawerStyleImpl.java
new file mode 100644
index 0000000000..58d34a73ff
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/DrawerStyleImpl.java
@@ -0,0 +1,167 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.DrawerStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Drawer Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.DrawerStyleImpl#isCollapsed <em>Collapsed</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class DrawerStyleImpl extends CDOObjectImpl implements DrawerStyle
+{
+ /**
+ * The default value of the '{@link #isCollapsed() <em>Collapsed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollapsed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean COLLAPSED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DrawerStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.DRAWER_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCollapsed()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.DRAWER_STYLE__COLLAPSED, NotationPackage.Literals.DRAWER_STYLE__COLLAPSED, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCollapsed(boolean newCollapsed)
+ {
+ eDynamicSet(NotationPackage.DRAWER_STYLE__COLLAPSED, NotationPackage.Literals.DRAWER_STYLE__COLLAPSED, new Boolean(newCollapsed));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DRAWER_STYLE__COLLAPSED:
+ return isCollapsed() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DRAWER_STYLE__COLLAPSED:
+ setCollapsed(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DRAWER_STYLE__COLLAPSED:
+ setCollapsed(COLLAPSED_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.DRAWER_STYLE__COLLAPSED:
+ return isCollapsed() != COLLAPSED_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // DrawerStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EObjectListValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EObjectListValueStyleImpl.java
new file mode 100644
index 0000000000..defea78edb
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EObjectListValueStyleImpl.java
@@ -0,0 +1,145 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.EObjectListValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.EObjectListValueStyleImpl#getEObjectListValue <em>EObject List Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EObjectListValueStyleImpl extends NamedStyleImpl implements EObjectListValueStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObjectListValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.EOBJECT_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getEObjectListValue()
+ {
+ return (EList)eDynamicGet(NotationPackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_LIST_VALUE,
+ NotationPackage.Literals.EOBJECT_LIST_VALUE_STYLE__EOBJECT_LIST_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_LIST_VALUE:
+ return getEObjectListValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_LIST_VALUE:
+ getEObjectListValue().clear();
+ getEObjectListValue().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_LIST_VALUE:
+ getEObjectListValue().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_LIST_VALUE:
+ return !getEObjectListValue().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // EObjectListValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EObjectValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EObjectValueStyleImpl.java
new file mode 100644
index 0000000000..e573ed39b4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EObjectValueStyleImpl.java
@@ -0,0 +1,165 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.runtime.notation.EObjectValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.EObjectValueStyleImpl#getEObjectValue <em>EObject Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EObjectValueStyleImpl extends NamedStyleImpl implements EObjectValueStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObjectValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.EOBJECT_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getEObjectValue()
+ {
+ return (EObject)eDynamicGet(NotationPackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, NotationPackage.Literals.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetEObjectValue()
+ {
+ return (EObject)eDynamicGet(NotationPackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, NotationPackage.Literals.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEObjectValue(EObject newEObjectValue)
+ {
+ eDynamicSet(NotationPackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, NotationPackage.Literals.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, newEObjectValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EOBJECT_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE:
+ if (resolve)
+ {
+ return getEObjectValue();
+ }
+ return basicGetEObjectValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EOBJECT_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE:
+ setEObjectValue((EObject)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EOBJECT_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE:
+ setEObjectValue((EObject)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EOBJECT_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE:
+ return basicGetEObjectValue() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // EObjectValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EdgeImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EdgeImpl.java
new file mode 100644
index 0000000000..f2552a57e3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/EdgeImpl.java
@@ -0,0 +1,598 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.Anchor;
+import org.eclipse.gmf.runtime.notation.Bendpoints;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Edge</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.EdgeImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.EdgeImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.EdgeImpl#getBendpoints <em>Bendpoints</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.EdgeImpl#getSourceAnchor <em>Source Anchor</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.EdgeImpl#getTargetAnchor <em>Target Anchor</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class EdgeImpl extends ViewImpl implements Edge
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EdgeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.EDGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public View getSource()
+ {
+ return (View)eDynamicGet(NotationPackage.EDGE__SOURCE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__SOURCE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public NotificationChain basicSetSource(View newSource, NotificationChain msgs)
+ {
+ if (eContainingFeature() == NotationPackage.eINSTANCE.getDiagram_PersistedEdges())
+ {
+ if (newSource != null && newSource.eContainingFeature() == NotationPackage.eINSTANCE.getView_TransientChildren())
+ {
+ EObject container = newSource.eContainer();
+ if (container != null && container instanceof View)
+ {
+ View parent = (View)container;
+ parent.persistChildren();
+ }
+ }
+ }
+ return basicSetSourceGen(newSource, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSourceGen(View newSource, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newSource, NotationPackage.EDGE__SOURCE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSource(View newSource)
+ {
+ eDynamicSet(NotationPackage.EDGE__SOURCE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__SOURCE, newSource);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public View getTarget()
+ {
+ return (View)eDynamicGet(NotationPackage.EDGE__TARGET - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__TARGET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public NotificationChain basicSetTarget(View newTarget, NotificationChain msgs)
+ {
+ if (eContainingFeature() == NotationPackage.eINSTANCE.getDiagram_PersistedEdges())
+ {
+ if (newTarget != null && newTarget.eContainingFeature() == NotationPackage.eINSTANCE.getView_TransientChildren())
+ {
+ EObject container = newTarget.eContainer();
+ if (container != null && container instanceof View)
+ {
+ View parent = (View)container;
+ parent.persistChildren();
+ }
+ }
+ }
+ return basicSetTargetGen(newTarget, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTargetGen(View newTarget, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newTarget, NotationPackage.EDGE__TARGET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTarget(View newTarget)
+ {
+ eDynamicSet(NotationPackage.EDGE__TARGET - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__TARGET, newTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Bendpoints getBendpoints()
+ {
+ return (Bendpoints)eDynamicGet(NotationPackage.EDGE__BENDPOINTS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__BENDPOINTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBendpoints(Bendpoints newBendpoints, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newBendpoints, NotationPackage.EDGE__BENDPOINTS, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBendpoints(Bendpoints newBendpoints)
+ {
+ eDynamicSet(NotationPackage.EDGE__BENDPOINTS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__BENDPOINTS, newBendpoints);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Anchor getSourceAnchor()
+ {
+ return (Anchor)eDynamicGet(NotationPackage.EDGE__SOURCE_ANCHOR - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__SOURCE_ANCHOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSourceAnchor(Anchor newSourceAnchor, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newSourceAnchor, NotationPackage.EDGE__SOURCE_ANCHOR, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSourceAnchor(Anchor newSourceAnchor)
+ {
+ eDynamicSet(NotationPackage.EDGE__SOURCE_ANCHOR - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__SOURCE_ANCHOR, newSourceAnchor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Anchor getTargetAnchor()
+ {
+ return (Anchor)eDynamicGet(NotationPackage.EDGE__TARGET_ANCHOR - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__TARGET_ANCHOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTargetAnchor(Anchor newTargetAnchor, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newTargetAnchor, NotationPackage.EDGE__TARGET_ANCHOR, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetAnchor(Anchor newTargetAnchor)
+ {
+ eDynamicSet(NotationPackage.EDGE__TARGET_ANCHOR - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.EDGE__TARGET_ANCHOR, newTargetAnchor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Bendpoints createBendpoints(EClass eClass)
+ {
+ Bendpoints newBendpoints = (Bendpoints)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ setBendpoints(newBendpoints);
+ return newBendpoints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ public Anchor createSourceAnchor(EClass eClass)
+ {
+ Anchor newAnchor = (Anchor)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ setSourceAnchor(newAnchor);
+ return newAnchor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ public Anchor createTargetAnchor(EClass eClass)
+ {
+ Anchor newAnchor = (Anchor)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ setTargetAnchor(newAnchor);
+ return newAnchor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EDGE__EANNOTATIONS:
+ return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
+ case NotationPackage.EDGE__SOURCE_EDGES:
+ return ((InternalEList)getSourceEdges()).basicAdd(otherEnd, msgs);
+ case NotationPackage.EDGE__TARGET_EDGES:
+ return ((InternalEList)getTargetEdges()).basicAdd(otherEnd, msgs);
+ case NotationPackage.EDGE__SOURCE:
+ View source = getSource();
+ if (source != null)
+ {
+ msgs = ((InternalEObject)source).eInverseRemove(this, NotationPackage.VIEW__SOURCE_EDGES, View.class, msgs);
+ }
+ return basicSetSource((View)otherEnd, msgs);
+ case NotationPackage.EDGE__TARGET:
+ View target = getTarget();
+ if (target != null)
+ {
+ msgs = ((InternalEObject)target).eInverseRemove(this, NotationPackage.VIEW__TARGET_EDGES, View.class, msgs);
+ }
+ return basicSetTarget((View)otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EDGE__EANNOTATIONS:
+ return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
+ case NotationPackage.EDGE__SOURCE_EDGES:
+ return ((InternalEList)getSourceEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.EDGE__TARGET_EDGES:
+ return ((InternalEList)getTargetEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.EDGE__PERSISTED_CHILDREN:
+ return ((InternalEList)getPersistedChildren()).basicRemove(otherEnd, msgs);
+ case NotationPackage.EDGE__STYLES:
+ return ((InternalEList)getStyles()).basicRemove(otherEnd, msgs);
+ case NotationPackage.EDGE__TRANSIENT_CHILDREN:
+ return ((InternalEList)getTransientChildren()).basicRemove(otherEnd, msgs);
+ case NotationPackage.EDGE__SOURCE:
+ return basicSetSource(null, msgs);
+ case NotationPackage.EDGE__TARGET:
+ return basicSetTarget(null, msgs);
+ case NotationPackage.EDGE__BENDPOINTS:
+ return basicSetBendpoints(null, msgs);
+ case NotationPackage.EDGE__SOURCE_ANCHOR:
+ return basicSetSourceAnchor(null, msgs);
+ case NotationPackage.EDGE__TARGET_ANCHOR:
+ return basicSetTargetAnchor(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EDGE__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.EDGE__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.EDGE__TYPE:
+ return getType();
+ case NotationPackage.EDGE__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.EDGE__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.EDGE__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.EDGE__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.EDGE__STYLES:
+ return getStyles();
+ case NotationPackage.EDGE__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.EDGE__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.EDGE__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.EDGE__SOURCE:
+ return getSource();
+ case NotationPackage.EDGE__TARGET:
+ return getTarget();
+ case NotationPackage.EDGE__BENDPOINTS:
+ return getBendpoints();
+ case NotationPackage.EDGE__SOURCE_ANCHOR:
+ return getSourceAnchor();
+ case NotationPackage.EDGE__TARGET_ANCHOR:
+ return getTargetAnchor();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EDGE__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.EDGE__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.EDGE__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.EDGE__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.EDGE__SOURCE_EDGES:
+ getSourceEdges().clear();
+ getSourceEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.EDGE__TARGET_EDGES:
+ getTargetEdges().clear();
+ getTargetEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.EDGE__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.EDGE__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.EDGE__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.EDGE__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.EDGE__SOURCE:
+ setSource((View)newValue);
+ return;
+ case NotationPackage.EDGE__TARGET:
+ setTarget((View)newValue);
+ return;
+ case NotationPackage.EDGE__BENDPOINTS:
+ setBendpoints((Bendpoints)newValue);
+ return;
+ case NotationPackage.EDGE__SOURCE_ANCHOR:
+ setSourceAnchor((Anchor)newValue);
+ return;
+ case NotationPackage.EDGE__TARGET_ANCHOR:
+ setTargetAnchor((Anchor)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EDGE__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.EDGE__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.EDGE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.EDGE__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.EDGE__SOURCE_EDGES:
+ getSourceEdges().clear();
+ return;
+ case NotationPackage.EDGE__TARGET_EDGES:
+ getTargetEdges().clear();
+ return;
+ case NotationPackage.EDGE__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.EDGE__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.EDGE__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.EDGE__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.EDGE__SOURCE:
+ setSource((View)null);
+ return;
+ case NotationPackage.EDGE__TARGET:
+ setTarget((View)null);
+ return;
+ case NotationPackage.EDGE__BENDPOINTS:
+ setBendpoints((Bendpoints)null);
+ return;
+ case NotationPackage.EDGE__SOURCE_ANCHOR:
+ setSourceAnchor((Anchor)null);
+ return;
+ case NotationPackage.EDGE__TARGET_ANCHOR:
+ setTargetAnchor((Anchor)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.EDGE__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.EDGE__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.EDGE__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.EDGE__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.EDGE__SOURCE_EDGES:
+ return !getSourceEdges().isEmpty();
+ case NotationPackage.EDGE__TARGET_EDGES:
+ return !getTargetEdges().isEmpty();
+ case NotationPackage.EDGE__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.EDGE__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.EDGE__ELEMENT:
+ return isSetElement();
+ case NotationPackage.EDGE__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.EDGE__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.EDGE__SOURCE:
+ return getSource() != null;
+ case NotationPackage.EDGE__TARGET:
+ return getTarget() != null;
+ case NotationPackage.EDGE__BENDPOINTS:
+ return getBendpoints() != null;
+ case NotationPackage.EDGE__SOURCE_ANCHOR:
+ return getSourceAnchor() != null;
+ case NotationPackage.EDGE__TARGET_ANCHOR:
+ return getTargetAnchor() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // EdgeImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FillStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FillStyleImpl.java
new file mode 100644
index 0000000000..42095698af
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FillStyleImpl.java
@@ -0,0 +1,250 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2009 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.FillStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.datatype.GradientData;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fill Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FillStyleImpl#getFillColor <em>Fill Color</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FillStyleImpl#getTransparency <em>Transparency</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FillStyleImpl#getGradient <em>Gradient</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class FillStyleImpl extends CDOObjectImpl implements FillStyle
+{
+ /**
+ * The default value of the '{@link #getFillColor() <em>Fill Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFillColor()
+ * @generated
+ * @ordered
+ */
+ protected static final int FILL_COLOR_EDEFAULT = 16777215;
+
+ /**
+ * The default value of the '{@link #getTransparency() <em>Transparency</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransparency()
+ * @generated
+ * @ordered
+ */
+ protected static final int TRANSPARENCY_EDEFAULT = -1;
+
+ /**
+ * The default value of the '{@link #getGradient() <em>Gradient</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGradient()
+ * @generated
+ * @ordered
+ */
+ protected static final GradientData GRADIENT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FillStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.FILL_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getFillColor()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.FILL_STYLE__FILL_COLOR, NotationPackage.Literals.FILL_STYLE__FILL_COLOR, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFillColor(int newFillColor)
+ {
+ eDynamicSet(NotationPackage.FILL_STYLE__FILL_COLOR, NotationPackage.Literals.FILL_STYLE__FILL_COLOR, new Integer(newFillColor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getTransparency()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.FILL_STYLE__TRANSPARENCY, NotationPackage.Literals.FILL_STYLE__TRANSPARENCY, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTransparency(int newTransparency)
+ {
+ eDynamicSet(NotationPackage.FILL_STYLE__TRANSPARENCY, NotationPackage.Literals.FILL_STYLE__TRANSPARENCY, new Integer(newTransparency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GradientData getGradient()
+ {
+ return (GradientData)eDynamicGet(NotationPackage.FILL_STYLE__GRADIENT, NotationPackage.Literals.FILL_STYLE__GRADIENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGradient(GradientData newGradient)
+ {
+ eDynamicSet(NotationPackage.FILL_STYLE__GRADIENT, NotationPackage.Literals.FILL_STYLE__GRADIENT, newGradient);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FILL_STYLE__FILL_COLOR:
+ return new Integer(getFillColor());
+ case NotationPackage.FILL_STYLE__TRANSPARENCY:
+ return new Integer(getTransparency());
+ case NotationPackage.FILL_STYLE__GRADIENT:
+ return getGradient();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FILL_STYLE__FILL_COLOR:
+ setFillColor(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.FILL_STYLE__TRANSPARENCY:
+ setTransparency(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.FILL_STYLE__GRADIENT:
+ setGradient((GradientData)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FILL_STYLE__FILL_COLOR:
+ setFillColor(FILL_COLOR_EDEFAULT);
+ return;
+ case NotationPackage.FILL_STYLE__TRANSPARENCY:
+ setTransparency(TRANSPARENCY_EDEFAULT);
+ return;
+ case NotationPackage.FILL_STYLE__GRADIENT:
+ setGradient(GRADIENT_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FILL_STYLE__FILL_COLOR:
+ return getFillColor() != FILL_COLOR_EDEFAULT;
+ case NotationPackage.FILL_STYLE__TRANSPARENCY:
+ return getTransparency() != TRANSPARENCY_EDEFAULT;
+ case NotationPackage.FILL_STYLE__GRADIENT:
+ return GRADIENT_EDEFAULT == null ? getGradient() != null : !GRADIENT_EDEFAULT.equals(getGradient());
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // FillStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FilteringStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FilteringStyleImpl.java
new file mode 100644
index 0000000000..4251790dde
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FilteringStyleImpl.java
@@ -0,0 +1,280 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.Filtering;
+import org.eclipse.gmf.runtime.notation.FilteringStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Filtering Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FilteringStyleImpl#getFiltering <em>Filtering</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FilteringStyleImpl#getFilteringKeys <em>Filtering Keys</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FilteringStyleImpl#getFilteredObjects <em>Filtered Objects</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class FilteringStyleImpl extends CDOObjectImpl implements FilteringStyle
+{
+ /**
+ * The default value of the '{@link #getFiltering() <em>Filtering</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFiltering()
+ * @generated
+ * @ordered
+ */
+ protected static final Filtering FILTERING_EDEFAULT = Filtering.NONE_LITERAL;
+
+ /**
+ * The default value of the '{@link #getFilteringKeys() <em>Filtering Keys</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFilteringKeys()
+ * @generated NOT
+ * @ordered
+ */
+ protected static final List FILTERING_KEYS_EDEFAULT = Collections.EMPTY_LIST;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FilteringStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.FILTERING_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Filtering getFiltering()
+ {
+ return (Filtering)eDynamicGet(NotationPackage.FILTERING_STYLE__FILTERING, NotationPackage.Literals.FILTERING_STYLE__FILTERING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFiltering(Filtering newFiltering)
+ {
+ eDynamicSet(NotationPackage.FILTERING_STYLE__FILTERING, NotationPackage.Literals.FILTERING_STYLE__FILTERING, newFiltering);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public List getFilteringKeys()
+ {
+ return Collections.unmodifiableList(getFilteringKeysGen());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getFilteringKeysGen()
+ {
+ return (List)eDynamicGet(NotationPackage.FILTERING_STYLE__FILTERING_KEYS, NotationPackage.Literals.FILTERING_STYLE__FILTERING_KEYS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setFilteringKeys(List newFilteringKeys)
+ {
+ if (newFilteringKeys == null)
+ {
+ throw new NullPointerException("the 'newFilteringKeys' parameter is null"); //$NON-NLS-1$
+ }
+
+ if (newFilteringKeys.isEmpty())
+ {
+ setFilteringKeysGen(FILTERING_KEYS_EDEFAULT);
+ }
+ else
+ {
+ List tempList = new ArrayList(newFilteringKeys.size());
+ for (Iterator i = newFilteringKeys.iterator(); i.hasNext();)
+ {
+ Object key = i.next();
+ if (!(key instanceof String))
+ {
+ throw new IllegalArgumentException("One or more objects in the list is not of type java.lang.String"); //$NON-NLS-1$
+ }
+ tempList.add(key);
+ }
+ setFilteringKeysGen(tempList);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFilteringKeysGen(List newFilteringKeys)
+ {
+ eDynamicSet(NotationPackage.FILTERING_STYLE__FILTERING_KEYS, NotationPackage.Literals.FILTERING_STYLE__FILTERING_KEYS, newFilteringKeys);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getFilteredObjects()
+ {
+ return (EList)eDynamicGet(NotationPackage.FILTERING_STYLE__FILTERED_OBJECTS, NotationPackage.Literals.FILTERING_STYLE__FILTERED_OBJECTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FILTERING_STYLE__FILTERING:
+ return getFiltering();
+ case NotationPackage.FILTERING_STYLE__FILTERING_KEYS:
+ return getFilteringKeys();
+ case NotationPackage.FILTERING_STYLE__FILTERED_OBJECTS:
+ return getFilteredObjects();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FILTERING_STYLE__FILTERING:
+ setFiltering((Filtering)newValue);
+ return;
+ case NotationPackage.FILTERING_STYLE__FILTERING_KEYS:
+ setFilteringKeys((List)newValue);
+ return;
+ case NotationPackage.FILTERING_STYLE__FILTERED_OBJECTS:
+ getFilteredObjects().clear();
+ getFilteredObjects().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FILTERING_STYLE__FILTERING:
+ setFiltering(FILTERING_EDEFAULT);
+ return;
+ case NotationPackage.FILTERING_STYLE__FILTERING_KEYS:
+ setFilteringKeys(FILTERING_KEYS_EDEFAULT);
+ return;
+ case NotationPackage.FILTERING_STYLE__FILTERED_OBJECTS:
+ getFilteredObjects().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FILTERING_STYLE__FILTERING:
+ return getFiltering() != FILTERING_EDEFAULT;
+ case NotationPackage.FILTERING_STYLE__FILTERING_KEYS:
+ return FILTERING_KEYS_EDEFAULT == null ? getFilteringKeys() != null : !FILTERING_KEYS_EDEFAULT.equals(getFilteringKeys());
+ case NotationPackage.FILTERING_STYLE__FILTERED_OBJECTS:
+ return !getFilteredObjects().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // FilteringStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FontStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FontStyleImpl.java
new file mode 100644
index 0000000000..ece0264d91
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/FontStyleImpl.java
@@ -0,0 +1,423 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Font Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FontStyleImpl#getFontColor <em>Font Color</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FontStyleImpl#getFontName <em>Font Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FontStyleImpl#getFontHeight <em>Font Height</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FontStyleImpl#isBold <em>Bold</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FontStyleImpl#isItalic <em>Italic</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FontStyleImpl#isUnderline <em>Underline</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.FontStyleImpl#isStrikeThrough <em>Strike Through</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class FontStyleImpl extends CDOObjectImpl implements FontStyle
+{
+ /**
+ * The default value of the '{@link #getFontColor() <em>Font Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFontColor()
+ * @generated
+ * @ordered
+ */
+ protected static final int FONT_COLOR_EDEFAULT = 0;
+
+ /**
+ * 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 = "Tahoma"; //$NON-NLS-1$
+
+ /**
+ * The default value of the '{@link #getFontHeight() <em>Font Height</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFontHeight()
+ * @generated
+ * @ordered
+ */
+ protected static final int FONT_HEIGHT_EDEFAULT = 9;
+
+ /**
+ * The default value of the '{@link #isBold() <em>Bold</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isBold()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean BOLD_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isItalic() <em>Italic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isItalic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ITALIC_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isUnderline() <em>Underline</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnderline()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UNDERLINE_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isStrikeThrough() <em>Strike Through</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStrikeThrough()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean STRIKE_THROUGH_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FontStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.FONT_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFontName()
+ {
+ return (String)eDynamicGet(NotationPackage.FONT_STYLE__FONT_NAME, NotationPackage.Literals.FONT_STYLE__FONT_NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setFontName(String newFontName)
+ {
+ setFontNameGen(newFontName == null ? null : newFontName.intern());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFontNameGen(String newFontName)
+ {
+ eDynamicSet(NotationPackage.FONT_STYLE__FONT_NAME, NotationPackage.Literals.FONT_STYLE__FONT_NAME, newFontName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getFontHeight()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.FONT_STYLE__FONT_HEIGHT, NotationPackage.Literals.FONT_STYLE__FONT_HEIGHT, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFontHeight(int newFontHeight)
+ {
+ eDynamicSet(NotationPackage.FONT_STYLE__FONT_HEIGHT, NotationPackage.Literals.FONT_STYLE__FONT_HEIGHT, new Integer(newFontHeight));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isBold()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.FONT_STYLE__BOLD, NotationPackage.Literals.FONT_STYLE__BOLD, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBold(boolean newBold)
+ {
+ eDynamicSet(NotationPackage.FONT_STYLE__BOLD, NotationPackage.Literals.FONT_STYLE__BOLD, new Boolean(newBold));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isItalic()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.FONT_STYLE__ITALIC, NotationPackage.Literals.FONT_STYLE__ITALIC, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItalic(boolean newItalic)
+ {
+ eDynamicSet(NotationPackage.FONT_STYLE__ITALIC, NotationPackage.Literals.FONT_STYLE__ITALIC, new Boolean(newItalic));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnderline()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.FONT_STYLE__UNDERLINE, NotationPackage.Literals.FONT_STYLE__UNDERLINE, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnderline(boolean newUnderline)
+ {
+ eDynamicSet(NotationPackage.FONT_STYLE__UNDERLINE, NotationPackage.Literals.FONT_STYLE__UNDERLINE, new Boolean(newUnderline));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStrikeThrough()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.FONT_STYLE__STRIKE_THROUGH, NotationPackage.Literals.FONT_STYLE__STRIKE_THROUGH, true, true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStrikeThrough(boolean newStrikeThrough)
+ {
+ eDynamicSet(NotationPackage.FONT_STYLE__STRIKE_THROUGH, NotationPackage.Literals.FONT_STYLE__STRIKE_THROUGH, new Boolean(newStrikeThrough));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FONT_STYLE__FONT_COLOR:
+ return new Integer(getFontColor());
+ case NotationPackage.FONT_STYLE__FONT_NAME:
+ return getFontName();
+ case NotationPackage.FONT_STYLE__FONT_HEIGHT:
+ return new Integer(getFontHeight());
+ case NotationPackage.FONT_STYLE__BOLD:
+ return isBold() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.FONT_STYLE__ITALIC:
+ return isItalic() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.FONT_STYLE__UNDERLINE:
+ return isUnderline() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.FONT_STYLE__STRIKE_THROUGH:
+ return isStrikeThrough() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FONT_STYLE__FONT_COLOR:
+ setFontColor(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.FONT_STYLE__FONT_NAME:
+ setFontName((String)newValue);
+ return;
+ case NotationPackage.FONT_STYLE__FONT_HEIGHT:
+ setFontHeight(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.FONT_STYLE__BOLD:
+ setBold(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.FONT_STYLE__ITALIC:
+ setItalic(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.FONT_STYLE__UNDERLINE:
+ setUnderline(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.FONT_STYLE__STRIKE_THROUGH:
+ setStrikeThrough(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FONT_STYLE__FONT_COLOR:
+ setFontColor(FONT_COLOR_EDEFAULT);
+ return;
+ case NotationPackage.FONT_STYLE__FONT_NAME:
+ setFontName(FONT_NAME_EDEFAULT);
+ return;
+ case NotationPackage.FONT_STYLE__FONT_HEIGHT:
+ setFontHeight(FONT_HEIGHT_EDEFAULT);
+ return;
+ case NotationPackage.FONT_STYLE__BOLD:
+ setBold(BOLD_EDEFAULT);
+ return;
+ case NotationPackage.FONT_STYLE__ITALIC:
+ setItalic(ITALIC_EDEFAULT);
+ return;
+ case NotationPackage.FONT_STYLE__UNDERLINE:
+ setUnderline(UNDERLINE_EDEFAULT);
+ return;
+ case NotationPackage.FONT_STYLE__STRIKE_THROUGH:
+ setStrikeThrough(STRIKE_THROUGH_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.FONT_STYLE__FONT_COLOR:
+ return getFontColor() != FONT_COLOR_EDEFAULT;
+ case NotationPackage.FONT_STYLE__FONT_NAME:
+ return FONT_NAME_EDEFAULT == null ? getFontName() != null : !FONT_NAME_EDEFAULT.equals(getFontName());
+ case NotationPackage.FONT_STYLE__FONT_HEIGHT:
+ return getFontHeight() != FONT_HEIGHT_EDEFAULT;
+ case NotationPackage.FONT_STYLE__BOLD:
+ return isBold() != BOLD_EDEFAULT;
+ case NotationPackage.FONT_STYLE__ITALIC:
+ return isItalic() != ITALIC_EDEFAULT;
+ case NotationPackage.FONT_STYLE__UNDERLINE:
+ return isUnderline() != UNDERLINE_EDEFAULT;
+ case NotationPackage.FONT_STYLE__STRIKE_THROUGH:
+ return isStrikeThrough() != STRIKE_THROUGH_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getFontColor()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.FONT_STYLE__FONT_COLOR, NotationPackage.Literals.FONT_STYLE__FONT_COLOR, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFontColor(int newFontColor)
+ {
+ eDynamicSet(NotationPackage.FONT_STYLE__FONT_COLOR, NotationPackage.Literals.FONT_STYLE__FONT_COLOR, new Integer(newFontColor));
+ }
+
+} // FontStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/GuideImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/GuideImpl.java
new file mode 100644
index 0000000000..11e96bfb9c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/GuideImpl.java
@@ -0,0 +1,216 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.Guide;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Guide</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.GuideImpl#getPosition <em>Position</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.GuideImpl#getNodeMap <em>Node Map</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class GuideImpl extends CDOObjectImpl implements Guide
+{
+ /**
+ * The default value of the '{@link #getPosition() <em>Position</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPosition()
+ * @generated
+ * @ordered
+ */
+ protected static final int POSITION_EDEFAULT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GuideImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.GUIDE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getPosition()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.GUIDE__POSITION, NotationPackage.Literals.GUIDE__POSITION, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPosition(int newPosition)
+ {
+ eDynamicSet(NotationPackage.GUIDE__POSITION, NotationPackage.Literals.GUIDE__POSITION, new Integer(newPosition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap getNodeMap()
+ {
+ return (EMap)eDynamicGet(NotationPackage.GUIDE__NODE_MAP, NotationPackage.Literals.GUIDE__NODE_MAP, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE__NODE_MAP:
+ return ((InternalEList)getNodeMap()).basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE__POSITION:
+ return new Integer(getPosition());
+ case NotationPackage.GUIDE__NODE_MAP:
+ if (coreType)
+ {
+ return getNodeMap();
+ }
+ else
+ {
+ return getNodeMap().map();
+ }
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE__POSITION:
+ setPosition(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.GUIDE__NODE_MAP:
+ ((EStructuralFeature.Setting)getNodeMap()).set(newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE__POSITION:
+ setPosition(POSITION_EDEFAULT);
+ return;
+ case NotationPackage.GUIDE__NODE_MAP:
+ getNodeMap().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE__POSITION:
+ return getPosition() != POSITION_EDEFAULT;
+ case NotationPackage.GUIDE__NODE_MAP:
+ return !getNodeMap().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // GuideImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/GuideStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/GuideStyleImpl.java
new file mode 100644
index 0000000000..f69757e014
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/GuideStyleImpl.java
@@ -0,0 +1,194 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+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.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.GuideStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Guide Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.GuideStyleImpl#getHorizontalGuides <em>Horizontal Guides</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.GuideStyleImpl#getVerticalGuides <em>Vertical Guides</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class GuideStyleImpl extends CDOObjectImpl implements GuideStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GuideStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.GUIDE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getHorizontalGuides()
+ {
+ return (EList)eDynamicGet(NotationPackage.GUIDE_STYLE__HORIZONTAL_GUIDES, NotationPackage.Literals.GUIDE_STYLE__HORIZONTAL_GUIDES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getVerticalGuides()
+ {
+ return (EList)eDynamicGet(NotationPackage.GUIDE_STYLE__VERTICAL_GUIDES, NotationPackage.Literals.GUIDE_STYLE__VERTICAL_GUIDES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE_STYLE__HORIZONTAL_GUIDES:
+ return ((InternalEList)getHorizontalGuides()).basicRemove(otherEnd, msgs);
+ case NotationPackage.GUIDE_STYLE__VERTICAL_GUIDES:
+ return ((InternalEList)getVerticalGuides()).basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE_STYLE__HORIZONTAL_GUIDES:
+ return getHorizontalGuides();
+ case NotationPackage.GUIDE_STYLE__VERTICAL_GUIDES:
+ return getVerticalGuides();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE_STYLE__HORIZONTAL_GUIDES:
+ getHorizontalGuides().clear();
+ getHorizontalGuides().addAll((Collection)newValue);
+ return;
+ case NotationPackage.GUIDE_STYLE__VERTICAL_GUIDES:
+ getVerticalGuides().clear();
+ getVerticalGuides().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE_STYLE__HORIZONTAL_GUIDES:
+ getHorizontalGuides().clear();
+ return;
+ case NotationPackage.GUIDE_STYLE__VERTICAL_GUIDES:
+ getVerticalGuides().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.GUIDE_STYLE__HORIZONTAL_GUIDES:
+ return !getHorizontalGuides().isEmpty();
+ case NotationPackage.GUIDE_STYLE__VERTICAL_GUIDES:
+ return !getVerticalGuides().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // GuideStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/HintedDiagramLinkStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/HintedDiagramLinkStyleImpl.java
new file mode 100644
index 0000000000..6418104c47
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/HintedDiagramLinkStyleImpl.java
@@ -0,0 +1,165 @@
+/******************************************************************************
+ * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.HintedDiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hinted Diagram Link Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.HintedDiagramLinkStyleImpl#getHint <em>Hint</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class HintedDiagramLinkStyleImpl extends DiagramLinkStyleImpl implements HintedDiagramLinkStyle
+{
+ /**
+ * The default value of the '{@link #getHint() <em>Hint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHint()
+ * @generated
+ * @ordered
+ */
+ protected static final String HINT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HintedDiagramLinkStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.HINTED_DIAGRAM_LINK_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHint()
+ {
+ return (String)eDynamicGet(NotationPackage.HINTED_DIAGRAM_LINK_STYLE__HINT, NotationPackage.Literals.HINTED_DIAGRAM_LINK_STYLE__HINT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHint(String newHint)
+ {
+ eDynamicSet(NotationPackage.HINTED_DIAGRAM_LINK_STYLE__HINT, NotationPackage.Literals.HINTED_DIAGRAM_LINK_STYLE__HINT, newHint);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__DIAGRAM_LINK:
+ if (resolve)
+ {
+ return getDiagramLink();
+ }
+ return basicGetDiagramLink();
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__HINT:
+ return getHint();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__DIAGRAM_LINK:
+ setDiagramLink((Diagram)newValue);
+ return;
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__HINT:
+ setHint((String)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__DIAGRAM_LINK:
+ setDiagramLink((Diagram)null);
+ return;
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__HINT:
+ setHint(HINT_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__DIAGRAM_LINK:
+ return basicGetDiagramLink() != null;
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__HINT:
+ return HINT_EDEFAULT == null ? getHint() != null : !HINT_EDEFAULT.equals(getHint());
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // HintedDiagramLinkStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IdentityAnchorImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IdentityAnchorImpl.java
new file mode 100644
index 0000000000..c52b6a59ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IdentityAnchorImpl.java
@@ -0,0 +1,167 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.IdentityAnchor;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Identity Anchor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.IdentityAnchorImpl#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class IdentityAnchorImpl extends CDOObjectImpl implements IdentityAnchor
+{
+ /**
+ * 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 = "anchor"; //$NON-NLS-1$
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IdentityAnchorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.IDENTITY_ANCHOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId()
+ {
+ return (String)eDynamicGet(NotationPackage.IDENTITY_ANCHOR__ID, NotationPackage.Literals.IDENTITY_ANCHOR__ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId)
+ {
+ eDynamicSet(NotationPackage.IDENTITY_ANCHOR__ID, NotationPackage.Literals.IDENTITY_ANCHOR__ID, newId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IDENTITY_ANCHOR__ID:
+ return getId();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IDENTITY_ANCHOR__ID:
+ setId((String)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IDENTITY_ANCHOR__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IDENTITY_ANCHOR__ID:
+ return ID_EDEFAULT == null ? getId() != null : !ID_EDEFAULT.equals(getId());
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // IdentityAnchorImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageBufferStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageBufferStyleImpl.java
new file mode 100644
index 0000000000..2e47fcc046
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageBufferStyleImpl.java
@@ -0,0 +1,207 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Image;
+import org.eclipse.gmf.runtime.notation.ImageBufferStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Image Buffer Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ImageBufferStyleImpl#getImageBuffer <em>Image Buffer</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class ImageBufferStyleImpl extends ImageStyleImpl implements ImageBufferStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImageBufferStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.IMAGE_BUFFER_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image getImageBuffer()
+ {
+ return (Image)eDynamicGet(NotationPackage.IMAGE_BUFFER_STYLE__IMAGE_BUFFER, NotationPackage.Literals.IMAGE_BUFFER_STYLE__IMAGE_BUFFER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetImageBuffer(Image newImageBuffer, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newImageBuffer, NotationPackage.IMAGE_BUFFER_STYLE__IMAGE_BUFFER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImageBuffer(Image newImageBuffer)
+ {
+ eDynamicSet(NotationPackage.IMAGE_BUFFER_STYLE__IMAGE_BUFFER, NotationPackage.Literals.IMAGE_BUFFER_STYLE__IMAGE_BUFFER, newImageBuffer);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_BUFFER_STYLE__CROP_BOUND:
+ return basicSetCropBound(null, msgs);
+ case NotationPackage.IMAGE_BUFFER_STYLE__IMAGE_BUFFER:
+ return basicSetImageBuffer(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_BUFFER_STYLE__ANTI_ALIAS:
+ return getAntiAlias();
+ case NotationPackage.IMAGE_BUFFER_STYLE__MAINTAIN_ASPECT_RATIO:
+ return getMaintainAspectRatio();
+ case NotationPackage.IMAGE_BUFFER_STYLE__CROP_BOUND:
+ return getCropBound();
+ case NotationPackage.IMAGE_BUFFER_STYLE__IMAGE_BUFFER:
+ return getImageBuffer();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_BUFFER_STYLE__ANTI_ALIAS:
+ setAntiAlias((Boolean)newValue);
+ return;
+ case NotationPackage.IMAGE_BUFFER_STYLE__MAINTAIN_ASPECT_RATIO:
+ setMaintainAspectRatio((Boolean)newValue);
+ return;
+ case NotationPackage.IMAGE_BUFFER_STYLE__CROP_BOUND:
+ setCropBound((Bounds)newValue);
+ return;
+ case NotationPackage.IMAGE_BUFFER_STYLE__IMAGE_BUFFER:
+ setImageBuffer((Image)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_BUFFER_STYLE__ANTI_ALIAS:
+ setAntiAlias(ANTI_ALIAS_EDEFAULT);
+ return;
+ case NotationPackage.IMAGE_BUFFER_STYLE__MAINTAIN_ASPECT_RATIO:
+ setMaintainAspectRatio(MAINTAIN_ASPECT_RATIO_EDEFAULT);
+ return;
+ case NotationPackage.IMAGE_BUFFER_STYLE__CROP_BOUND:
+ setCropBound((Bounds)null);
+ return;
+ case NotationPackage.IMAGE_BUFFER_STYLE__IMAGE_BUFFER:
+ setImageBuffer((Image)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_BUFFER_STYLE__ANTI_ALIAS:
+ return ANTI_ALIAS_EDEFAULT == null ? getAntiAlias() != null : !ANTI_ALIAS_EDEFAULT.equals(getAntiAlias());
+ case NotationPackage.IMAGE_BUFFER_STYLE__MAINTAIN_ASPECT_RATIO:
+ return MAINTAIN_ASPECT_RATIO_EDEFAULT == null ? getMaintainAspectRatio() != null : !MAINTAIN_ASPECT_RATIO_EDEFAULT.equals(getMaintainAspectRatio());
+ case NotationPackage.IMAGE_BUFFER_STYLE__CROP_BOUND:
+ return getCropBound() != null;
+ case NotationPackage.IMAGE_BUFFER_STYLE__IMAGE_BUFFER:
+ return getImageBuffer() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // ImageBufferStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageImpl.java
new file mode 100644
index 0000000000..d2e27c558d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageImpl.java
@@ -0,0 +1,167 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.Image;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Image</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ImageImpl#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class ImageImpl extends CDOObjectImpl implements Image
+{
+ /**
+ * The default value of the '{@link #getData() <em>Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getData()
+ * @generated
+ * @ordered
+ */
+ protected static final byte[] DATA_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImageImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.IMAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public byte[] getData()
+ {
+ return (byte[])eDynamicGet(NotationPackage.IMAGE__DATA, NotationPackage.Literals.IMAGE__DATA, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setData(byte[] newData)
+ {
+ eDynamicSet(NotationPackage.IMAGE__DATA, NotationPackage.Literals.IMAGE__DATA, newData);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE__DATA:
+ return getData();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE__DATA:
+ setData((byte[])newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE__DATA:
+ setData(DATA_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE__DATA:
+ return DATA_EDEFAULT == null ? getData() != null : !DATA_EDEFAULT.equals(getData());
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // ImageImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageStyleImpl.java
new file mode 100644
index 0000000000..60f531b017
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ImageStyleImpl.java
@@ -0,0 +1,269 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.ImageStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Image Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ImageStyleImpl#getAntiAlias <em>Anti Alias</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ImageStyleImpl#getMaintainAspectRatio <em>Maintain Aspect Ratio</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ImageStyleImpl#getCropBound <em>Crop Bound</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class ImageStyleImpl extends CDOObjectImpl implements ImageStyle
+{
+ /**
+ * The default value of the '{@link #getAntiAlias() <em>Anti Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAntiAlias()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ANTI_ALIAS_EDEFAULT = Boolean.TRUE;
+
+ /**
+ * The default value of the '{@link #getMaintainAspectRatio() <em>Maintain Aspect Ratio</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaintainAspectRatio()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean MAINTAIN_ASPECT_RATIO_EDEFAULT = Boolean.TRUE;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImageStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.IMAGE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getAntiAlias()
+ {
+ return (Boolean)eDynamicGet(NotationPackage.IMAGE_STYLE__ANTI_ALIAS, NotationPackage.Literals.IMAGE_STYLE__ANTI_ALIAS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAntiAlias(Boolean newAntiAlias)
+ {
+ eDynamicSet(NotationPackage.IMAGE_STYLE__ANTI_ALIAS, NotationPackage.Literals.IMAGE_STYLE__ANTI_ALIAS, newAntiAlias);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getMaintainAspectRatio()
+ {
+ return (Boolean)eDynamicGet(NotationPackage.IMAGE_STYLE__MAINTAIN_ASPECT_RATIO, NotationPackage.Literals.IMAGE_STYLE__MAINTAIN_ASPECT_RATIO, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMaintainAspectRatio(Boolean newMaintainAspectRatio)
+ {
+ eDynamicSet(NotationPackage.IMAGE_STYLE__MAINTAIN_ASPECT_RATIO, NotationPackage.Literals.IMAGE_STYLE__MAINTAIN_ASPECT_RATIO, newMaintainAspectRatio);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Bounds getCropBound()
+ {
+ return (Bounds)eDynamicGet(NotationPackage.IMAGE_STYLE__CROP_BOUND, NotationPackage.Literals.IMAGE_STYLE__CROP_BOUND, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCropBound(Bounds newCropBound, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newCropBound, NotationPackage.IMAGE_STYLE__CROP_BOUND, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCropBound(Bounds newCropBound)
+ {
+ eDynamicSet(NotationPackage.IMAGE_STYLE__CROP_BOUND, NotationPackage.Literals.IMAGE_STYLE__CROP_BOUND, newCropBound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_STYLE__CROP_BOUND:
+ return basicSetCropBound(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_STYLE__ANTI_ALIAS:
+ return getAntiAlias();
+ case NotationPackage.IMAGE_STYLE__MAINTAIN_ASPECT_RATIO:
+ return getMaintainAspectRatio();
+ case NotationPackage.IMAGE_STYLE__CROP_BOUND:
+ return getCropBound();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_STYLE__ANTI_ALIAS:
+ setAntiAlias((Boolean)newValue);
+ return;
+ case NotationPackage.IMAGE_STYLE__MAINTAIN_ASPECT_RATIO:
+ setMaintainAspectRatio((Boolean)newValue);
+ return;
+ case NotationPackage.IMAGE_STYLE__CROP_BOUND:
+ setCropBound((Bounds)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_STYLE__ANTI_ALIAS:
+ setAntiAlias(ANTI_ALIAS_EDEFAULT);
+ return;
+ case NotationPackage.IMAGE_STYLE__MAINTAIN_ASPECT_RATIO:
+ setMaintainAspectRatio(MAINTAIN_ASPECT_RATIO_EDEFAULT);
+ return;
+ case NotationPackage.IMAGE_STYLE__CROP_BOUND:
+ setCropBound((Bounds)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.IMAGE_STYLE__ANTI_ALIAS:
+ return ANTI_ALIAS_EDEFAULT == null ? getAntiAlias() != null : !ANTI_ALIAS_EDEFAULT.equals(getAntiAlias());
+ case NotationPackage.IMAGE_STYLE__MAINTAIN_ASPECT_RATIO:
+ return MAINTAIN_ASPECT_RATIO_EDEFAULT == null ? getMaintainAspectRatio() != null : !MAINTAIN_ASPECT_RATIO_EDEFAULT.equals(getMaintainAspectRatio());
+ case NotationPackage.IMAGE_STYLE__CROP_BOUND:
+ return getCropBound() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // ImageStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IntListValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IntListValueStyleImpl.java
new file mode 100644
index 0000000000..d7bef1867e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IntListValueStyleImpl.java
@@ -0,0 +1,144 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.IntListValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Int List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.IntListValueStyleImpl#getIntListValue <em>Int List Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntListValueStyleImpl extends NamedStyleImpl implements IntListValueStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntListValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.INT_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getIntListValue()
+ {
+ return (EList)eDynamicGet(NotationPackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE, NotationPackage.Literals.INT_LIST_VALUE_STYLE__INT_LIST_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.INT_LIST_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE:
+ return getIntListValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.INT_LIST_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE:
+ getIntListValue().clear();
+ getIntListValue().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.INT_LIST_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE:
+ getIntListValue().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.INT_LIST_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE:
+ return !getIntListValue().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // IntListValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IntValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IntValueStyleImpl.java
new file mode 100644
index 0000000000..52a535f828
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/IntValueStyleImpl.java
@@ -0,0 +1,160 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.IntValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Int Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.IntValueStyleImpl#getIntValue <em>Int Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntValueStyleImpl extends NamedStyleImpl implements IntValueStyle
+{
+ /**
+ * The default value of the '{@link #getIntValue() <em>Int Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIntValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int INT_VALUE_EDEFAULT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.INT_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getIntValue()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.INT_VALUE_STYLE__INT_VALUE, NotationPackage.Literals.INT_VALUE_STYLE__INT_VALUE, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIntValue(int newIntValue)
+ {
+ eDynamicSet(NotationPackage.INT_VALUE_STYLE__INT_VALUE, NotationPackage.Literals.INT_VALUE_STYLE__INT_VALUE, new Integer(newIntValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.INT_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.INT_VALUE_STYLE__INT_VALUE:
+ return new Integer(getIntValue());
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.INT_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.INT_VALUE_STYLE__INT_VALUE:
+ setIntValue(((Integer)newValue).intValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.INT_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.INT_VALUE_STYLE__INT_VALUE:
+ setIntValue(INT_VALUE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.INT_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.INT_VALUE_STYLE__INT_VALUE:
+ return getIntValue() != INT_VALUE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // IntValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LineStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LineStyleImpl.java
new file mode 100644
index 0000000000..bfed4405aa
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LineStyleImpl.java
@@ -0,0 +1,208 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.LineStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Line Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.LineStyleImpl#getLineColor <em>Line Color</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.LineStyleImpl#getLineWidth <em>Line Width</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class LineStyleImpl extends CDOObjectImpl implements LineStyle
+{
+ /**
+ * The default value of the '{@link #getLineColor() <em>Line Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLineColor()
+ * @generated
+ * @ordered
+ */
+ protected static final int LINE_COLOR_EDEFAULT = 11579568;
+
+ /**
+ * The default value of the '{@link #getLineWidth() <em>Line Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLineWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final int LINE_WIDTH_EDEFAULT = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LineStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.LINE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLineColor()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.LINE_STYLE__LINE_COLOR, NotationPackage.Literals.LINE_STYLE__LINE_COLOR, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLineColor(int newLineColor)
+ {
+ eDynamicSet(NotationPackage.LINE_STYLE__LINE_COLOR, NotationPackage.Literals.LINE_STYLE__LINE_COLOR, new Integer(newLineColor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLineWidth()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.LINE_STYLE__LINE_WIDTH, NotationPackage.Literals.LINE_STYLE__LINE_WIDTH, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLineWidth(int newLineWidth)
+ {
+ eDynamicSet(NotationPackage.LINE_STYLE__LINE_WIDTH, NotationPackage.Literals.LINE_STYLE__LINE_WIDTH, new Integer(newLineWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LINE_STYLE__LINE_COLOR:
+ return new Integer(getLineColor());
+ case NotationPackage.LINE_STYLE__LINE_WIDTH:
+ return new Integer(getLineWidth());
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LINE_STYLE__LINE_COLOR:
+ setLineColor(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.LINE_STYLE__LINE_WIDTH:
+ setLineWidth(((Integer)newValue).intValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LINE_STYLE__LINE_COLOR:
+ setLineColor(LINE_COLOR_EDEFAULT);
+ return;
+ case NotationPackage.LINE_STYLE__LINE_WIDTH:
+ setLineWidth(LINE_WIDTH_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LINE_STYLE__LINE_COLOR:
+ return getLineColor() != LINE_COLOR_EDEFAULT;
+ case NotationPackage.LINE_STYLE__LINE_WIDTH:
+ return getLineWidth() != LINE_WIDTH_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // LineStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LineTypeStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LineTypeStyleImpl.java
new file mode 100644
index 0000000000..46faaab569
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LineTypeStyleImpl.java
@@ -0,0 +1,164 @@
+/******************************************************************************
+ * Copyright (c) 2008, 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.LineType;
+import org.eclipse.gmf.runtime.notation.LineTypeStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Line Type Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.LineTypeStyleImpl#getLineType <em>Line Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LineTypeStyleImpl extends CDOObjectImpl implements LineTypeStyle
+{
+ /**
+ * The default value of the '{@link #getLineType() <em>Line Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLineType()
+ * @generated
+ * @ordered
+ */
+ protected static final LineType LINE_TYPE_EDEFAULT = LineType.SOLID_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LineTypeStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.LINE_TYPE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LineType getLineType()
+ {
+ return (LineType)eDynamicGet(NotationPackage.LINE_TYPE_STYLE__LINE_TYPE, NotationPackage.Literals.LINE_TYPE_STYLE__LINE_TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLineType(LineType newLineType)
+ {
+ eDynamicSet(NotationPackage.LINE_TYPE_STYLE__LINE_TYPE, NotationPackage.Literals.LINE_TYPE_STYLE__LINE_TYPE, newLineType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LINE_TYPE_STYLE__LINE_TYPE:
+ return getLineType();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LINE_TYPE_STYLE__LINE_TYPE:
+ setLineType((LineType)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LINE_TYPE_STYLE__LINE_TYPE:
+ setLineType(LINE_TYPE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LINE_TYPE_STYLE__LINE_TYPE:
+ return getLineType() != LINE_TYPE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // LineTypeStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ListCompartmentImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ListCompartmentImpl.java
new file mode 100644
index 0000000000..029b76e145
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ListCompartmentImpl.java
@@ -0,0 +1,669 @@
+/******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.runtime.notation.Filtering;
+import org.eclipse.gmf.runtime.notation.FilteringStyle;
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+import org.eclipse.gmf.runtime.notation.ListCompartment;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Sorting;
+import org.eclipse.gmf.runtime.notation.SortingStyle;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>List Compartment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ListCompartmentImpl#getSorting <em>Sorting</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ListCompartmentImpl#getSortingKeys <em>Sorting Keys</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ListCompartmentImpl#getSortedObjects <em>Sorted Objects</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ListCompartmentImpl#getFiltering <em>Filtering</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ListCompartmentImpl#getFilteringKeys <em>Filtering Keys</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ListCompartmentImpl#getFilteredObjects <em>Filtered Objects</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ListCompartmentImpl#isShowTitle <em>Show Title</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ListCompartmentImpl extends BasicCompartmentImpl implements ListCompartment
+{
+ /**
+ * The default value of the '{@link #getSorting() <em>Sorting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSorting()
+ * @generated
+ * @ordered
+ */
+ protected static final Sorting SORTING_EDEFAULT = Sorting.NONE_LITERAL;
+
+ /**
+ * The default value of the '{@link #getSortingKeys() <em>Sorting Keys</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSortingKeys()
+ * @generated NOT
+ * @ordered
+ */
+ protected static final Map SORTING_KEYS_EDEFAULT = Collections.EMPTY_MAP;
+
+ /**
+ * The default value of the '{@link #getFiltering() <em>Filtering</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFiltering()
+ * @generated
+ * @ordered
+ */
+ protected static final Filtering FILTERING_EDEFAULT = Filtering.NONE_LITERAL;
+
+ /**
+ * The default value of the '{@link #getFilteringKeys() <em>Filtering Keys</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFilteringKeys()
+ * @generated NOT
+ * @ordered
+ */
+ protected static final List FILTERING_KEYS_EDEFAULT = Collections.EMPTY_LIST;
+
+ /**
+ * The default value of the '{@link #isShowTitle() <em>Show Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isShowTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_TITLE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListCompartmentImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.LIST_COMPARTMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Sorting getSorting()
+ {
+ return (Sorting)eDynamicGet(NotationPackage.LIST_COMPARTMENT__SORTING - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.SORTING_STYLE__SORTING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSorting(Sorting newSorting)
+ {
+ eDynamicSet(NotationPackage.LIST_COMPARTMENT__SORTING - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.SORTING_STYLE__SORTING, newSorting);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Map getSortingKeys()
+ {
+ return (Map)eDynamicGet(NotationPackage.LIST_COMPARTMENT__SORTING_KEYS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.SORTING_STYLE__SORTING_KEYS, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSortingKeys(Map newSortingKeys)
+ {
+ eDynamicSet(NotationPackage.LIST_COMPARTMENT__SORTING_KEYS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.SORTING_STYLE__SORTING_KEYS, newSortingKeys);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getSortedObjects()
+ {
+ return (EList)eDynamicGet(NotationPackage.LIST_COMPARTMENT__SORTED_OBJECTS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.SORTING_STYLE__SORTED_OBJECTS,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Filtering getFiltering()
+ {
+ return (Filtering)eDynamicGet(NotationPackage.LIST_COMPARTMENT__FILTERING - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.FILTERING_STYLE__FILTERING,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFiltering(Filtering newFiltering)
+ {
+ eDynamicSet(NotationPackage.LIST_COMPARTMENT__FILTERING - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.FILTERING_STYLE__FILTERING, newFiltering);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getFilteringKeys()
+ {
+ return (List)eDynamicGet(NotationPackage.LIST_COMPARTMENT__FILTERING_KEYS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.FILTERING_STYLE__FILTERING_KEYS,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFilteringKeys(List newFilteringKeys)
+ {
+ eDynamicSet(NotationPackage.LIST_COMPARTMENT__FILTERING_KEYS - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.FILTERING_STYLE__FILTERING_KEYS,
+ newFilteringKeys);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getFilteredObjects()
+ {
+ return (EList)eDynamicGet(NotationPackage.LIST_COMPARTMENT__FILTERED_OBJECTS - ESTATIC_FEATURE_COUNT,
+ NotationPackage.Literals.FILTERING_STYLE__FILTERED_OBJECTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isShowTitle()
+ {
+ return ((Boolean)eDynamicGet(NotationPackage.LIST_COMPARTMENT__SHOW_TITLE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.TITLE_STYLE__SHOW_TITLE, true,
+ true)).booleanValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setShowTitle(boolean newShowTitle)
+ {
+ eDynamicSet(NotationPackage.LIST_COMPARTMENT__SHOW_TITLE - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.TITLE_STYLE__SHOW_TITLE,
+ new Boolean(newShowTitle));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.LIST_COMPARTMENT__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.LIST_COMPARTMENT__TYPE:
+ return getType();
+ case NotationPackage.LIST_COMPARTMENT__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.LIST_COMPARTMENT__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.LIST_COMPARTMENT__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.LIST_COMPARTMENT__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.LIST_COMPARTMENT__STYLES:
+ return getStyles();
+ case NotationPackage.LIST_COMPARTMENT__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.LIST_COMPARTMENT__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.LIST_COMPARTMENT__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.LIST_COMPARTMENT__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint();
+ case NotationPackage.LIST_COMPARTMENT__COLLAPSED:
+ return isCollapsed() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.LIST_COMPARTMENT__SORTING:
+ return getSorting();
+ case NotationPackage.LIST_COMPARTMENT__SORTING_KEYS:
+ return getSortingKeys();
+ case NotationPackage.LIST_COMPARTMENT__SORTED_OBJECTS:
+ return getSortedObjects();
+ case NotationPackage.LIST_COMPARTMENT__FILTERING:
+ return getFiltering();
+ case NotationPackage.LIST_COMPARTMENT__FILTERING_KEYS:
+ return getFilteringKeys();
+ case NotationPackage.LIST_COMPARTMENT__FILTERED_OBJECTS:
+ return getFilteredObjects();
+ case NotationPackage.LIST_COMPARTMENT__SHOW_TITLE:
+ return isShowTitle() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.LIST_COMPARTMENT__TARGET_EDGES:
+ return;
+ default:
+ eSetGen(featureID, newValue);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSetGen(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.LIST_COMPARTMENT__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SOURCE_EDGES:
+ getSourceEdges().clear();
+ getSourceEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__TARGET_EDGES:
+ getTargetEdges().clear();
+ getTargetEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__COLLAPSED:
+ setCollapsed(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SORTING:
+ setSorting((Sorting)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SORTING_KEYS:
+ setSortingKeys((Map)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SORTED_OBJECTS:
+ getSortedObjects().clear();
+ getSortedObjects().addAll((Collection)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__FILTERING:
+ setFiltering((Filtering)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__FILTERING_KEYS:
+ setFilteringKeys((List)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__FILTERED_OBJECTS:
+ getFilteredObjects().clear();
+ getFilteredObjects().addAll((Collection)newValue);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SHOW_TITLE:
+ setShowTitle(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.LIST_COMPARTMENT__TARGET_EDGES:
+ return;
+ default:
+ eUnsetGen(featureID);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnsetGen(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SOURCE_EDGES:
+ getSourceEdges().clear();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__TARGET_EDGES:
+ getTargetEdges().clear();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)null);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__COLLAPSED:
+ setCollapsed(COLLAPSED_EDEFAULT);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SORTING:
+ setSorting(SORTING_EDEFAULT);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SORTING_KEYS:
+ setSortingKeys(SORTING_KEYS_EDEFAULT);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SORTED_OBJECTS:
+ getSortedObjects().clear();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__FILTERING:
+ setFiltering(FILTERING_EDEFAULT);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__FILTERING_KEYS:
+ setFilteringKeys(FILTERING_KEYS_EDEFAULT);
+ return;
+ case NotationPackage.LIST_COMPARTMENT__FILTERED_OBJECTS:
+ getFilteredObjects().clear();
+ return;
+ case NotationPackage.LIST_COMPARTMENT__SHOW_TITLE:
+ setShowTitle(SHOW_TITLE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__SOURCE_EDGES:
+ case NotationPackage.LIST_COMPARTMENT__TARGET_EDGES:
+ return false;
+ default:
+ return eIsSetGen(featureID);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSetGen(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.LIST_COMPARTMENT__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.LIST_COMPARTMENT__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.LIST_COMPARTMENT__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.LIST_COMPARTMENT__SOURCE_EDGES:
+ return !getSourceEdges().isEmpty();
+ case NotationPackage.LIST_COMPARTMENT__TARGET_EDGES:
+ return !getTargetEdges().isEmpty();
+ case NotationPackage.LIST_COMPARTMENT__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.LIST_COMPARTMENT__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.LIST_COMPARTMENT__ELEMENT:
+ return isSetElement();
+ case NotationPackage.LIST_COMPARTMENT__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.LIST_COMPARTMENT__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.LIST_COMPARTMENT__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint() != null;
+ case NotationPackage.LIST_COMPARTMENT__COLLAPSED:
+ return isCollapsed() != COLLAPSED_EDEFAULT;
+ case NotationPackage.LIST_COMPARTMENT__SORTING:
+ return getSorting() != SORTING_EDEFAULT;
+ case NotationPackage.LIST_COMPARTMENT__SORTING_KEYS:
+ return SORTING_KEYS_EDEFAULT == null ? getSortingKeys() != null : !SORTING_KEYS_EDEFAULT.equals(getSortingKeys());
+ case NotationPackage.LIST_COMPARTMENT__SORTED_OBJECTS:
+ return !getSortedObjects().isEmpty();
+ case NotationPackage.LIST_COMPARTMENT__FILTERING:
+ return getFiltering() != FILTERING_EDEFAULT;
+ case NotationPackage.LIST_COMPARTMENT__FILTERING_KEYS:
+ return FILTERING_KEYS_EDEFAULT == null ? getFilteringKeys() != null : !FILTERING_KEYS_EDEFAULT.equals(getFilteringKeys());
+ case NotationPackage.LIST_COMPARTMENT__FILTERED_OBJECTS:
+ return !getFilteredObjects().isEmpty();
+ case NotationPackage.LIST_COMPARTMENT__SHOW_TITLE:
+ return isShowTitle() != SHOW_TITLE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass)
+ {
+ if (baseClass == SortingStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__SORTING:
+ return NotationPackage.SORTING_STYLE__SORTING;
+ case NotationPackage.LIST_COMPARTMENT__SORTING_KEYS:
+ return NotationPackage.SORTING_STYLE__SORTING_KEYS;
+ case NotationPackage.LIST_COMPARTMENT__SORTED_OBJECTS:
+ return NotationPackage.SORTING_STYLE__SORTED_OBJECTS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == FilteringStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__FILTERING:
+ return NotationPackage.FILTERING_STYLE__FILTERING;
+ case NotationPackage.LIST_COMPARTMENT__FILTERING_KEYS:
+ return NotationPackage.FILTERING_STYLE__FILTERING_KEYS;
+ case NotationPackage.LIST_COMPARTMENT__FILTERED_OBJECTS:
+ return NotationPackage.FILTERING_STYLE__FILTERED_OBJECTS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == TitleStyle.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case NotationPackage.LIST_COMPARTMENT__SHOW_TITLE:
+ return NotationPackage.TITLE_STYLE__SHOW_TITLE;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass)
+ {
+ if (baseClass == SortingStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.SORTING_STYLE__SORTING:
+ return NotationPackage.LIST_COMPARTMENT__SORTING;
+ case NotationPackage.SORTING_STYLE__SORTING_KEYS:
+ return NotationPackage.LIST_COMPARTMENT__SORTING_KEYS;
+ case NotationPackage.SORTING_STYLE__SORTED_OBJECTS:
+ return NotationPackage.LIST_COMPARTMENT__SORTED_OBJECTS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == FilteringStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.FILTERING_STYLE__FILTERING:
+ return NotationPackage.LIST_COMPARTMENT__FILTERING;
+ case NotationPackage.FILTERING_STYLE__FILTERING_KEYS:
+ return NotationPackage.LIST_COMPARTMENT__FILTERING_KEYS;
+ case NotationPackage.FILTERING_STYLE__FILTERED_OBJECTS:
+ return NotationPackage.LIST_COMPARTMENT__FILTERED_OBJECTS;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == TitleStyle.class)
+ {
+ switch (baseFeatureID)
+ {
+ case NotationPackage.TITLE_STYLE__SHOW_TITLE:
+ return NotationPackage.LIST_COMPARTMENT__SHOW_TITLE;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // ListCompartmentImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ListValueStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ListValueStyleImpl.java
new file mode 100644
index 0000000000..a36e7cc867
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/ListValueStyleImpl.java
@@ -0,0 +1,225 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.util.DelegatingEcoreEList;
+
+import org.eclipse.gmf.runtime.notation.ListValueStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.ListValueStyleImpl#getRawValuesList <em>Raw Values List</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ListValueStyleImpl extends DataTypeStyleImpl implements ListValueStyle
+{
+ private EList rawValuesList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListValueStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList getRawValuesList()
+ {
+ if (rawValuesList instanceof DelegatingEcoreEList)
+ {
+ return rawValuesList;
+ }
+ final EList delegate = getRawValuesListGen();
+ rawValuesList = new DelegatingEcoreEList(this)
+ {
+ private static final long serialVersionUID = -7769354624338385073L;
+
+ /**
+ * Overridden as per JavaDoc of {@link DelegatingEcoreEList}.
+ */
+ @Override
+ public int getFeatureID()
+ {
+ return NotationPackage.LIST_VALUE_STYLE__RAW_VALUES_LIST;
+ }
+
+ @Override
+ protected boolean isNotificationRequired()
+ {
+ // Never notify. The delegate list does so already.
+ return false;
+ }
+
+ @Override
+ protected List delegateList()
+ {
+ return delegate;
+ }
+
+ @Override
+ protected Object validate(int index, Object object)
+ {
+ Object validated = super.validate(index, object);
+ if (validated != null && !isInstance(validated))
+ {
+ throw new ArrayStoreException();
+ }
+ try
+ {
+ getObjectFromString((String)validated);
+ }
+ catch (Exception e)
+ {
+ throw new IllegalArgumentException("Value <" + validated//$NON-NLS-1$
+ + "> cannot be associated with Data type <"//$NON-NLS-1$
+ + getInstanceType().toString() + ">: " + e.getMessage());//$NON-NLS-1$
+ }
+ return validated;
+ }
+ };
+ return rawValuesList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getRawValuesListGen()
+ {
+ return (EList)eDynamicGet(NotationPackage.LIST_VALUE_STYLE__RAW_VALUES_LIST, NotationPackage.Literals.LIST_VALUE_STYLE__RAW_VALUES_LIST, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_VALUE_STYLE__NAME:
+ return getName();
+ case NotationPackage.LIST_VALUE_STYLE__INSTANCE_TYPE:
+ if (resolve)
+ {
+ return getInstanceType();
+ }
+ return basicGetInstanceType();
+ case NotationPackage.LIST_VALUE_STYLE__RAW_VALUES_LIST:
+ return getRawValuesList();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_VALUE_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ case NotationPackage.LIST_VALUE_STYLE__INSTANCE_TYPE:
+ setInstanceType((EDataType)newValue);
+ return;
+ case NotationPackage.LIST_VALUE_STYLE__RAW_VALUES_LIST:
+ getRawValuesList().clear();
+ getRawValuesList().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_VALUE_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NotationPackage.LIST_VALUE_STYLE__INSTANCE_TYPE:
+ setInstanceType((EDataType)null);
+ return;
+ case NotationPackage.LIST_VALUE_STYLE__RAW_VALUES_LIST:
+ getRawValuesList().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LIST_VALUE_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case NotationPackage.LIST_VALUE_STYLE__INSTANCE_TYPE:
+ return basicGetInstanceType() != null;
+ case NotationPackage.LIST_VALUE_STYLE__RAW_VALUES_LIST:
+ return !getRawValuesList().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // ListValueStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LocationImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LocationImpl.java
new file mode 100644
index 0000000000..d6c60820de
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/LocationImpl.java
@@ -0,0 +1,208 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Location</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.LocationImpl#getX <em>X</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.LocationImpl#getY <em>Y</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class LocationImpl extends CDOObjectImpl implements Location
+{
+ /**
+ * The default value of the '{@link #getX() <em>X</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getX()
+ * @generated
+ * @ordered
+ */
+ protected static final int X_EDEFAULT = 0;
+
+ /**
+ * The default value of the '{@link #getY() <em>Y</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getY()
+ * @generated
+ * @ordered
+ */
+ protected static final int Y_EDEFAULT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.LOCATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getX()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.LOCATION__X, NotationPackage.Literals.LOCATION__X, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setX(int newX)
+ {
+ eDynamicSet(NotationPackage.LOCATION__X, NotationPackage.Literals.LOCATION__X, new Integer(newX));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getY()
+ {
+ return ((Integer)eDynamicGet(NotationPackage.LOCATION__Y, NotationPackage.Literals.LOCATION__Y, true, true)).intValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setY(int newY)
+ {
+ eDynamicSet(NotationPackage.LOCATION__Y, NotationPackage.Literals.LOCATION__Y, new Integer(newY));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LOCATION__X:
+ return new Integer(getX());
+ case NotationPackage.LOCATION__Y:
+ return new Integer(getY());
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LOCATION__X:
+ setX(((Integer)newValue).intValue());
+ return;
+ case NotationPackage.LOCATION__Y:
+ setY(((Integer)newValue).intValue());
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LOCATION__X:
+ setX(X_EDEFAULT);
+ return;
+ case NotationPackage.LOCATION__Y:
+ setY(Y_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.LOCATION__X:
+ return getX() != X_EDEFAULT;
+ case NotationPackage.LOCATION__Y:
+ return getY() != Y_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // LocationImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/MultiDiagramLinkStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/MultiDiagramLinkStyleImpl.java
new file mode 100644
index 0000000000..cbed39de8d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/MultiDiagramLinkStyleImpl.java
@@ -0,0 +1,148 @@
+/******************************************************************************
+ * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.MultiDiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Diagram Link Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.MultiDiagramLinkStyleImpl#getDiagramLinks <em>Diagram Links</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MultiDiagramLinkStyleImpl extends CDOObjectImpl implements MultiDiagramLinkStyle
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiDiagramLinkStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.MULTI_DIAGRAM_LINK_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getDiagramLinks()
+ {
+ return (EList)eDynamicGet(NotationPackage.MULTI_DIAGRAM_LINK_STYLE__DIAGRAM_LINKS, NotationPackage.Literals.MULTI_DIAGRAM_LINK_STYLE__DIAGRAM_LINKS, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.MULTI_DIAGRAM_LINK_STYLE__DIAGRAM_LINKS:
+ return getDiagramLinks();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.MULTI_DIAGRAM_LINK_STYLE__DIAGRAM_LINKS:
+ getDiagramLinks().clear();
+ getDiagramLinks().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.MULTI_DIAGRAM_LINK_STYLE__DIAGRAM_LINKS:
+ getDiagramLinks().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.MULTI_DIAGRAM_LINK_STYLE__DIAGRAM_LINKS:
+ return !getDiagramLinks().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // MultiDiagramLinkStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NamedStyleImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NamedStyleImpl.java
new file mode 100644
index 0000000000..7b34b71af3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NamedStyleImpl.java
@@ -0,0 +1,163 @@
+/******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.NamedStyleImpl#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NamedStyleImpl extends CDOObjectImpl implements NamedStyle
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NamedStyleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.NAMED_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return (String)eDynamicGet(NotationPackage.NAMED_STYLE__NAME, NotationPackage.Literals.NAMED_STYLE__NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ eDynamicSet(NotationPackage.NAMED_STYLE__NAME, NotationPackage.Literals.NAMED_STYLE__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NAMED_STYLE__NAME:
+ return getName();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NAMED_STYLE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NAMED_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NAMED_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // NamedStyleImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NodeEntryImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NodeEntryImpl.java
new file mode 100644
index 0000000000..ac4b0d426d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NodeEntryImpl.java
@@ -0,0 +1,301 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.common.util.BasicEMap;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.runtime.notation.Alignment;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Node Entry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.NodeEntryImpl#getTypedValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.NodeEntryImpl#getTypedKey <em>Key</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy org.eclipse.gmf.runtime.notation.*
+ */
+public class NodeEntryImpl extends CDOObjectImpl implements BasicEMap.Entry
+{
+ /**
+ * The default value of the '{@link #getTypedValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypedValue()
+ * @generated
+ * @ordered
+ */
+ protected static final Alignment VALUE_EDEFAULT = Alignment.CENTER_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NodeEntryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.NODE_ENTRY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Alignment getTypedValue()
+ {
+ return (Alignment)eDynamicGet(NotationPackage.NODE_ENTRY__VALUE, NotationPackage.Literals.NODE_ENTRY__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypedValue(Alignment newValue)
+ {
+ eDynamicSet(NotationPackage.NODE_ENTRY__VALUE, NotationPackage.Literals.NODE_ENTRY__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node getTypedKey()
+ {
+ return (Node)eDynamicGet(NotationPackage.NODE_ENTRY__KEY, NotationPackage.Literals.NODE_ENTRY__KEY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node basicGetTypedKey()
+ {
+ return (Node)eDynamicGet(NotationPackage.NODE_ENTRY__KEY, NotationPackage.Literals.NODE_ENTRY__KEY, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypedKey(Node newKey)
+ {
+ eDynamicSet(NotationPackage.NODE_ENTRY__KEY, NotationPackage.Literals.NODE_ENTRY__KEY, newKey);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE_ENTRY__VALUE:
+ return getTypedValue();
+ case NotationPackage.NODE_ENTRY__KEY:
+ if (resolve)
+ {
+ return getTypedKey();
+ }
+ return basicGetTypedKey();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE_ENTRY__VALUE:
+ setTypedValue((Alignment)newValue);
+ return;
+ case NotationPackage.NODE_ENTRY__KEY:
+ setTypedKey((Node)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE_ENTRY__VALUE:
+ setTypedValue(VALUE_EDEFAULT);
+ return;
+ case NotationPackage.NODE_ENTRY__KEY:
+ setTypedKey((Node)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE_ENTRY__VALUE:
+ return getTypedValue() != VALUE_EDEFAULT;
+ case NotationPackage.NODE_ENTRY__KEY:
+ return basicGetTypedKey() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected int hash = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHash()
+ {
+ if (hash == -1)
+ {
+ Object theKey = getKey();
+ hash = theKey == null ? 0 : theKey.hashCode();
+ }
+ return hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHash(int hash)
+ {
+ this.hash = hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getKey()
+ {
+ return getTypedKey();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKey(Object key)
+ {
+ setTypedKey((Node)key);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getValue()
+ {
+ return getTypedValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object setValue(Object value)
+ {
+ Object oldValue = getValue();
+ setTypedValue((Alignment)value);
+ return oldValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap getEMap()
+ {
+ EObject container = eContainer();
+ return container == null ? null : (EMap)container.eGet(eContainmentFeature());
+ }
+
+} // NodeEntryImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NodeImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NodeImpl.java
new file mode 100644
index 0000000000..4eaf74438b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NodeImpl.java
@@ -0,0 +1,320 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.util.Collection;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.gmf.notation.impl.NodeImpl#getLayoutConstraint <em>Layout Constraint</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+/*
+ * @canBeSeenBy %partners
+ */
+public class NodeImpl extends ViewImpl implements Node
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NodeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NotationPackage.Literals.NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayoutConstraint getLayoutConstraint()
+ {
+ return (LayoutConstraint)eDynamicGet(NotationPackage.NODE__LAYOUT_CONSTRAINT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.NODE__LAYOUT_CONSTRAINT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayoutConstraint(LayoutConstraint newLayoutConstraint, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newLayoutConstraint, NotationPackage.NODE__LAYOUT_CONSTRAINT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayoutConstraint(LayoutConstraint newLayoutConstraint)
+ {
+ eDynamicSet(NotationPackage.NODE__LAYOUT_CONSTRAINT - ESTATIC_FEATURE_COUNT, NotationPackage.Literals.NODE__LAYOUT_CONSTRAINT, newLayoutConstraint);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ public LayoutConstraint createLayoutConstraint(EClass eClass)
+ {
+ LayoutConstraint newLayoutConstraint = (LayoutConstraint)eClass.getEPackage().getEFactoryInstance().create(eClass);
+ setLayoutConstraint(newLayoutConstraint);
+ return newLayoutConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE__EANNOTATIONS:
+ return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
+ case NotationPackage.NODE__SOURCE_EDGES:
+ return ((InternalEList)getSourceEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.NODE__TARGET_EDGES:
+ return ((InternalEList)getTargetEdges()).basicRemove(otherEnd, msgs);
+ case NotationPackage.NODE__PERSISTED_CHILDREN:
+ return ((InternalEList)getPersistedChildren()).basicRemove(otherEnd, msgs);
+ case NotationPackage.NODE__STYLES:
+ return ((InternalEList)getStyles()).basicRemove(otherEnd, msgs);
+ case NotationPackage.NODE__TRANSIENT_CHILDREN:
+ return ((InternalEList)getTransientChildren()).basicRemove(otherEnd, msgs);
+ case NotationPackage.NODE__LAYOUT_CONSTRAINT:
+ return basicSetLayoutConstraint(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE__EANNOTATIONS:
+ return getEAnnotations();
+ case NotationPackage.NODE__VISIBLE:
+ return isVisible() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.NODE__TYPE:
+ return getType();
+ case NotationPackage.NODE__MUTABLE:
+ return isMutable() ? Boolean.TRUE : Boolean.FALSE;
+ case NotationPackage.NODE__SOURCE_EDGES:
+ return getSourceEdges();
+ case NotationPackage.NODE__TARGET_EDGES:
+ return getTargetEdges();
+ case NotationPackage.NODE__PERSISTED_CHILDREN:
+ return getPersistedChildren();
+ case NotationPackage.NODE__STYLES:
+ return getStyles();
+ case NotationPackage.NODE__ELEMENT:
+ if (resolve)
+ {
+ return getElement();
+ }
+ return basicGetElement();
+ case NotationPackage.NODE__DIAGRAM:
+ if (resolve)
+ {
+ return getDiagram();
+ }
+ return basicGetDiagram();
+ case NotationPackage.NODE__TRANSIENT_CHILDREN:
+ return getTransientChildren();
+ case NotationPackage.NODE__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE__EANNOTATIONS:
+ getEAnnotations().clear();
+ getEAnnotations().addAll((Collection)newValue);
+ return;
+ case NotationPackage.NODE__VISIBLE:
+ setVisible(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.NODE__TYPE:
+ setType((String)newValue);
+ return;
+ case NotationPackage.NODE__MUTABLE:
+ setMutable(((Boolean)newValue).booleanValue());
+ return;
+ case NotationPackage.NODE__SOURCE_EDGES:
+ getSourceEdges().clear();
+ getSourceEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.NODE__TARGET_EDGES:
+ getTargetEdges().clear();
+ getTargetEdges().addAll((Collection)newValue);
+ return;
+ case NotationPackage.NODE__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ getPersistedChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.NODE__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection)newValue);
+ return;
+ case NotationPackage.NODE__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ case NotationPackage.NODE__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ getTransientChildren().addAll((Collection)newValue);
+ return;
+ case NotationPackage.NODE__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE__EANNOTATIONS:
+ getEAnnotations().clear();
+ return;
+ case NotationPackage.NODE__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case NotationPackage.NODE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NotationPackage.NODE__MUTABLE:
+ setMutable(MUTABLE_EDEFAULT);
+ return;
+ case NotationPackage.NODE__SOURCE_EDGES:
+ getSourceEdges().clear();
+ return;
+ case NotationPackage.NODE__TARGET_EDGES:
+ getTargetEdges().clear();
+ return;
+ case NotationPackage.NODE__PERSISTED_CHILDREN:
+ getPersistedChildren().clear();
+ return;
+ case NotationPackage.NODE__STYLES:
+ getStyles().clear();
+ return;
+ case NotationPackage.NODE__ELEMENT:
+ unsetElement();
+ return;
+ case NotationPackage.NODE__TRANSIENT_CHILDREN:
+ getTransientChildren().clear();
+ return;
+ case NotationPackage.NODE__LAYOUT_CONSTRAINT:
+ setLayoutConstraint((LayoutConstraint)null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NotationPackage.NODE__EANNOTATIONS:
+ return !getEAnnotations().isEmpty();
+ case NotationPackage.NODE__VISIBLE:
+ return isVisible() != VISIBLE_EDEFAULT;
+ case NotationPackage.NODE__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NotationPackage.NODE__MUTABLE:
+ return isMutable() != MUTABLE_EDEFAULT;
+ case NotationPackage.NODE__SOURCE_EDGES:
+ return !getSourceEdges().isEmpty();
+ case NotationPackage.NODE__TARGET_EDGES:
+ return !getTargetEdges().isEmpty();
+ case NotationPackage.NODE__PERSISTED_CHILDREN:
+ return !getPersistedChildren().isEmpty();
+ case NotationPackage.NODE__STYLES:
+ return !getStyles().isEmpty();
+ case NotationPackage.NODE__ELEMENT:
+ return isSetElement();
+ case NotationPackage.NODE__DIAGRAM:
+ return basicGetDiagram() != null;
+ case NotationPackage.NODE__TRANSIENT_CHILDREN:
+ return !getTransientChildren().isEmpty();
+ case NotationPackage.NODE__LAYOUT_CONSTRAINT:
+ return getLayoutConstraint() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} // NodeImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationEObjectImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationEObjectImpl.java
new file mode 100644
index 0000000000..86a83d1460
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationEObjectImpl.java
@@ -0,0 +1,87 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2006 IBM Corporation and others.
+ * 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:
+ * IBM - Initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id: NotationEObjectImpl.java,v 1.3 2010/03/06 00:04:14 aboyko Exp $
+ */
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EContentsEList;
+import org.eclipse.emf.ecore.util.ECrossReferenceEList;
+
+/**
+ * An implementation of the model object '<em><b>EObject</b></em>'.
+ * This implementation flattens the fields for storing
+ * the {@link #eProxyURI}, the {@link #eContents}, and the {@link #eCrossReferences},
+ * which in {@link EObjectImpl} are stored in the properties holder.
+ * This reduces the likelihood of needing to allocate a properties holder and speeds up the access to these fields.
+ * @deprecated use {@link org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container}
+ */
+@Deprecated
+public class NotationEObjectImpl extends EObjectImpl
+{
+ protected URI eProxyURI;
+
+ /**
+ * Creates an EObject that is faster and more space efficient.
+ */
+ protected NotationEObjectImpl()
+ {
+ super();
+ }
+
+ @Override
+ protected EPropertiesHolder eProperties()
+ {
+ if (eProperties == null)
+ {
+ eProperties = new EPropertiesHolderBaseImpl()
+ {
+ };
+ }
+ return eProperties;
+ }
+
+ @Override
+ public boolean eIsProxy()
+ {
+ return eProxyURI != null;
+ }
+
+ @Override
+ public URI eProxyURI()
+ {
+ return eProxyURI;
+ }
+
+ @Override
+ public void eSetProxyURI(URI uri)
+ {
+ eProxyURI = uri;
+ }
+
+ @Override
+ public EList eContents()
+ {
+ return EContentsEList.createEContentsEList(this);
+ }
+
+ @Override
+ public EList eCrossReferences()
+ {
+ return ECrossReferenceEList.createECrossReferenceEList(this);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationFactoryImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationFactoryImpl.java
new file mode 100644
index 0000000000..ddbcad9b82
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationFactoryImpl.java
@@ -0,0 +1,1630 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.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.gmf.runtime.notation.Alignment;
+import org.eclipse.gmf.runtime.notation.ArrowStyle;
+import org.eclipse.gmf.runtime.notation.ArrowType;
+import org.eclipse.gmf.runtime.notation.BasicCompartment;
+import org.eclipse.gmf.runtime.notation.BasicDecorationNode;
+import org.eclipse.gmf.runtime.notation.BasicSemanticCompartment;
+import org.eclipse.gmf.runtime.notation.BooleanListValueStyle;
+import org.eclipse.gmf.runtime.notation.BooleanValueStyle;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.ByteArrayValueStyle;
+import org.eclipse.gmf.runtime.notation.CanonicalStyle;
+import org.eclipse.gmf.runtime.notation.Compartment;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.ConnectorStyle;
+import org.eclipse.gmf.runtime.notation.DataTypeStyle;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.DescriptionStyle;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.DiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.DiagramStyle;
+import org.eclipse.gmf.runtime.notation.DoubleListValueStyle;
+import org.eclipse.gmf.runtime.notation.DoubleValueStyle;
+import org.eclipse.gmf.runtime.notation.DrawerStyle;
+import org.eclipse.gmf.runtime.notation.EObjectListValueStyle;
+import org.eclipse.gmf.runtime.notation.EObjectValueStyle;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.FillStyle;
+import org.eclipse.gmf.runtime.notation.Filtering;
+import org.eclipse.gmf.runtime.notation.FilteringStyle;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.GradientStyle;
+import org.eclipse.gmf.runtime.notation.Guide;
+import org.eclipse.gmf.runtime.notation.GuideStyle;
+import org.eclipse.gmf.runtime.notation.HintedDiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.IdentityAnchor;
+import org.eclipse.gmf.runtime.notation.Image;
+import org.eclipse.gmf.runtime.notation.ImageBufferStyle;
+import org.eclipse.gmf.runtime.notation.ImageStyle;
+import org.eclipse.gmf.runtime.notation.IntListValueStyle;
+import org.eclipse.gmf.runtime.notation.IntValueStyle;
+import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
+import org.eclipse.gmf.runtime.notation.JumpLinkType;
+import org.eclipse.gmf.runtime.notation.LineStyle;
+import org.eclipse.gmf.runtime.notation.LineType;
+import org.eclipse.gmf.runtime.notation.LineTypeStyle;
+import org.eclipse.gmf.runtime.notation.ListCompartment;
+import org.eclipse.gmf.runtime.notation.ListValueStyle;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.MeasurementUnit;
+import org.eclipse.gmf.runtime.notation.MultiDiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.PageStyle;
+import org.eclipse.gmf.runtime.notation.PropertiesSetStyle;
+import org.eclipse.gmf.runtime.notation.PropertyValue;
+import org.eclipse.gmf.runtime.notation.Ratio;
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.RoundedCornersStyle;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.RoutingStyle;
+import org.eclipse.gmf.runtime.notation.SemanticListCompartment;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.ShapeStyle;
+import org.eclipse.gmf.runtime.notation.SingleValueStyle;
+import org.eclipse.gmf.runtime.notation.Size;
+import org.eclipse.gmf.runtime.notation.Smoothness;
+import org.eclipse.gmf.runtime.notation.Sorting;
+import org.eclipse.gmf.runtime.notation.SortingDirection;
+import org.eclipse.gmf.runtime.notation.SortingStyle;
+import org.eclipse.gmf.runtime.notation.StandardDiagram;
+import org.eclipse.gmf.runtime.notation.StringListValueStyle;
+import org.eclipse.gmf.runtime.notation.StringValueStyle;
+import org.eclipse.gmf.runtime.notation.TextAlignment;
+import org.eclipse.gmf.runtime.notation.TextStyle;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.gmf.runtime.notation.datatype.GradientData;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NotationFactoryImpl extends EFactoryImpl implements NotationFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotationFactory init()
+ {
+ try
+ {
+ NotationFactory theNotationFactory = (NotationFactory)EPackage.Registry.INSTANCE.getEFactory(NotationPackage.eNS_URI);
+ if (theNotationFactory != null)
+ {
+ return theNotationFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NotationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotationFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case NotationPackage.EDGE:
+ return createEdge();
+ case NotationPackage.NODE:
+ return createNode();
+ case NotationPackage.FILL_STYLE:
+ return createFillStyle();
+ case NotationPackage.LINE_STYLE:
+ return createLineStyle();
+ case NotationPackage.FONT_STYLE:
+ return createFontStyle();
+ case NotationPackage.TITLE_STYLE:
+ return createTitleStyle();
+ case NotationPackage.SORTING_STYLE:
+ return createSortingStyle();
+ case NotationPackage.DESCRIPTION_STYLE:
+ return createDescriptionStyle();
+ case NotationPackage.SIZE:
+ return createSize();
+ case NotationPackage.LOCATION:
+ return createLocation();
+ case NotationPackage.BOUNDS:
+ return createBounds();
+ case NotationPackage.RATIO:
+ return createRatio();
+ case NotationPackage.IDENTITY_ANCHOR:
+ return createIdentityAnchor();
+ case NotationPackage.ROUTING_STYLE:
+ return createRoutingStyle();
+ case NotationPackage.RELATIVE_BENDPOINTS:
+ return createRelativeBendpoints();
+ case NotationPackage.DIAGRAM:
+ return createDiagram();
+ case NotationPackage.IMAGE:
+ return createImage();
+ case NotationPackage.CANONICAL_STYLE:
+ return createCanonicalStyle();
+ case NotationPackage.SHAPE_STYLE:
+ return createShapeStyle();
+ case NotationPackage.CONNECTOR_STYLE:
+ return createConnectorStyle();
+ case NotationPackage.PAGE_STYLE:
+ return createPageStyle();
+ case NotationPackage.DRAWER_STYLE:
+ return createDrawerStyle();
+ case NotationPackage.GUIDE_STYLE:
+ return createGuideStyle();
+ case NotationPackage.GUIDE:
+ return createGuide();
+ case NotationPackage.NODE_ENTRY:
+ return (EObject)createNodeEntry();
+ case NotationPackage.FILTERING_STYLE:
+ return createFilteringStyle();
+ case NotationPackage.DIAGRAM_STYLE:
+ return createDiagramStyle();
+ case NotationPackage.IMAGE_STYLE:
+ return createImageStyle();
+ case NotationPackage.IMAGE_BUFFER_STYLE:
+ return createImageBufferStyle();
+ case NotationPackage.PROPERTIES_SET_STYLE:
+ return createPropertiesSetStyle();
+ case NotationPackage.STRING_TO_PROPERTY_VALUE_MAP_ENTRY:
+ return (EObject)createStringToPropertyValueMapEntry();
+ case NotationPackage.PROPERTY_VALUE:
+ return createPropertyValue();
+ case NotationPackage.SINGLE_VALUE_STYLE:
+ return createSingleValueStyle();
+ case NotationPackage.LIST_VALUE_STYLE:
+ return createListValueStyle();
+ case NotationPackage.NAMED_STYLE:
+ return createNamedStyle();
+ case NotationPackage.DATA_TYPE_STYLE:
+ return createDataTypeStyle();
+ case NotationPackage.INT_VALUE_STYLE:
+ return createIntValueStyle();
+ case NotationPackage.INT_LIST_VALUE_STYLE:
+ return createIntListValueStyle();
+ case NotationPackage.BOOLEAN_VALUE_STYLE:
+ return createBooleanValueStyle();
+ case NotationPackage.DOUBLE_VALUE_STYLE:
+ return createDoubleValueStyle();
+ case NotationPackage.DOUBLE_LIST_VALUE_STYLE:
+ return createDoubleListValueStyle();
+ case NotationPackage.STRING_VALUE_STYLE:
+ return createStringValueStyle();
+ case NotationPackage.STRING_LIST_VALUE_STYLE:
+ return createStringListValueStyle();
+ case NotationPackage.EOBJECT_VALUE_STYLE:
+ return createEObjectValueStyle();
+ case NotationPackage.EOBJECT_LIST_VALUE_STYLE:
+ return createEObjectListValueStyle();
+ case NotationPackage.BYTE_ARRAY_VALUE_STYLE:
+ return createByteArrayValueStyle();
+ case NotationPackage.BOOLEAN_LIST_VALUE_STYLE:
+ return createBooleanListValueStyle();
+ case NotationPackage.HINTED_DIAGRAM_LINK_STYLE:
+ return createHintedDiagramLinkStyle();
+ case NotationPackage.DIAGRAM_LINK_STYLE:
+ return createDiagramLinkStyle();
+ case NotationPackage.MULTI_DIAGRAM_LINK_STYLE:
+ return createMultiDiagramLinkStyle();
+ case NotationPackage.TEXT_STYLE:
+ return createTextStyle();
+ case NotationPackage.LINE_TYPE_STYLE:
+ return createLineTypeStyle();
+ case NotationPackage.ARROW_STYLE:
+ return createArrowStyle();
+ case NotationPackage.SHAPE:
+ return createShape();
+ case NotationPackage.COMPARTMENT:
+ return createCompartment();
+ case NotationPackage.LIST_COMPARTMENT:
+ return createListCompartment();
+ case NotationPackage.CONNECTOR:
+ return createConnector();
+ case NotationPackage.STANDARD_DIAGRAM:
+ return createStandardDiagram();
+ case NotationPackage.DECORATION_NODE:
+ return createDecorationNode();
+ case NotationPackage.BASIC_DECORATION_NODE:
+ return createBasicDecorationNode();
+ case NotationPackage.BASIC_COMPARTMENT:
+ return createBasicCompartment();
+ case NotationPackage.BASIC_SEMANTIC_COMPARTMENT:
+ return createBasicSemanticCompartment();
+ case NotationPackage.SEMANTIC_LIST_COMPARTMENT:
+ return createSemanticListCompartment();
+ case NotationPackage.ROUNDED_CORNERS_STYLE:
+ return createRoundedCornersStyle();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case NotationPackage.SORTING:
+ return createSortingFromString(eDataType, initialValue);
+ case NotationPackage.FILTERING:
+ return createFilteringFromString(eDataType, initialValue);
+ case NotationPackage.ROUTING:
+ return createRoutingFromString(eDataType, initialValue);
+ case NotationPackage.SMOOTHNESS:
+ return createSmoothnessFromString(eDataType, initialValue);
+ case NotationPackage.JUMP_LINK_STATUS:
+ return createJumpLinkStatusFromString(eDataType, initialValue);
+ case NotationPackage.JUMP_LINK_TYPE:
+ return createJumpLinkTypeFromString(eDataType, initialValue);
+ case NotationPackage.ALIGNMENT:
+ return createAlignmentFromString(eDataType, initialValue);
+ case NotationPackage.SORTING_DIRECTION:
+ return createSortingDirectionFromString(eDataType, initialValue);
+ case NotationPackage.MEASUREMENT_UNIT:
+ return createMeasurementUnitFromString(eDataType, initialValue);
+ case NotationPackage.TEXT_ALIGNMENT:
+ return createTextAlignmentFromString(eDataType, initialValue);
+ case NotationPackage.LINE_TYPE:
+ return createLineTypeFromString(eDataType, initialValue);
+ case NotationPackage.ARROW_TYPE:
+ return createArrowTypeFromString(eDataType, initialValue);
+ case NotationPackage.GRADIENT_STYLE:
+ return createGradientStyleFromString(eDataType, initialValue);
+ case NotationPackage.RELATIVE_BENDPOINT_LIST:
+ return createRelativeBendpointListFromString(eDataType, initialValue);
+ case NotationPackage.FILTER_KEY_LIST:
+ return createFilterKeyListFromString(eDataType, initialValue);
+ case NotationPackage.SORT_KEY_MAP:
+ return createSortKeyMapFromString(eDataType, initialValue);
+ case NotationPackage.GRADIENT_DATA:
+ return createGradientDataFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case NotationPackage.SORTING:
+ return convertSortingToString(eDataType, instanceValue);
+ case NotationPackage.FILTERING:
+ return convertFilteringToString(eDataType, instanceValue);
+ case NotationPackage.ROUTING:
+ return convertRoutingToString(eDataType, instanceValue);
+ case NotationPackage.SMOOTHNESS:
+ return convertSmoothnessToString(eDataType, instanceValue);
+ case NotationPackage.JUMP_LINK_STATUS:
+ return convertJumpLinkStatusToString(eDataType, instanceValue);
+ case NotationPackage.JUMP_LINK_TYPE:
+ return convertJumpLinkTypeToString(eDataType, instanceValue);
+ case NotationPackage.ALIGNMENT:
+ return convertAlignmentToString(eDataType, instanceValue);
+ case NotationPackage.SORTING_DIRECTION:
+ return convertSortingDirectionToString(eDataType, instanceValue);
+ case NotationPackage.MEASUREMENT_UNIT:
+ return convertMeasurementUnitToString(eDataType, instanceValue);
+ case NotationPackage.TEXT_ALIGNMENT:
+ return convertTextAlignmentToString(eDataType, instanceValue);
+ case NotationPackage.LINE_TYPE:
+ return convertLineTypeToString(eDataType, instanceValue);
+ case NotationPackage.ARROW_TYPE:
+ return convertArrowTypeToString(eDataType, instanceValue);
+ case NotationPackage.GRADIENT_STYLE:
+ return convertGradientStyleToString(eDataType, instanceValue);
+ case NotationPackage.RELATIVE_BENDPOINT_LIST:
+ return convertRelativeBendpointListToString(eDataType, instanceValue);
+ case NotationPackage.FILTER_KEY_LIST:
+ return convertFilterKeyListToString(eDataType, instanceValue);
+ case NotationPackage.SORT_KEY_MAP:
+ return convertSortKeyMapToString(eDataType, instanceValue);
+ case NotationPackage.GRADIENT_DATA:
+ return convertGradientDataToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Edge createEdge()
+ {
+ EdgeImpl edge = new EdgeImpl();
+ return edge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node createNode()
+ {
+ NodeImpl node = new NodeImpl();
+ return node;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FillStyle createFillStyle()
+ {
+ FillStyleImpl fillStyle = new FillStyleImpl();
+ return fillStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LineStyle createLineStyle()
+ {
+ LineStyleImpl lineStyle = new LineStyleImpl();
+ return lineStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FontStyle createFontStyle()
+ {
+ FontStyleImpl fontStyle = new FontStyleImpl();
+ return fontStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TitleStyle createTitleStyle()
+ {
+ TitleStyleImpl titleStyle = new TitleStyleImpl();
+ return titleStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SortingStyle createSortingStyle()
+ {
+ SortingStyleImpl sortingStyle = new SortingStyleImpl();
+ return sortingStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DescriptionStyle createDescriptionStyle()
+ {
+ DescriptionStyleImpl descriptionStyle = new DescriptionStyleImpl();
+ return descriptionStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Size createSize()
+ {
+ SizeImpl size = new SizeImpl();
+ return size;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Location createLocation()
+ {
+ LocationImpl location = new LocationImpl();
+ return location;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Bounds createBounds()
+ {
+ BoundsImpl bounds = new BoundsImpl();
+ return bounds;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ratio createRatio()
+ {
+ RatioImpl ratio = new RatioImpl();
+ return ratio;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IdentityAnchor createIdentityAnchor()
+ {
+ IdentityAnchorImpl identityAnchor = new IdentityAnchorImpl();
+ return identityAnchor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RoutingStyle createRoutingStyle()
+ {
+ RoutingStyleImpl routingStyle = new RoutingStyleImpl();
+ return routingStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RelativeBendpoints createRelativeBendpoints()
+ {
+ RelativeBendpointsImpl relativeBendpoints = new RelativeBendpointsImpl();
+ return relativeBendpoints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CanonicalStyle createCanonicalStyle()
+ {
+ CanonicalStyleImpl canonicalStyle = new CanonicalStyleImpl();
+ return canonicalStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ShapeStyle createShapeStyle()
+ {
+ ShapeStyleImpl shapeStyle = new ShapeStyleImpl();
+ return shapeStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectorStyle createConnectorStyle()
+ {
+ ConnectorStyleImpl connectorStyle = new ConnectorStyleImpl();
+ return connectorStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Diagram createDiagram()
+ {
+ DiagramImpl diagram = new DiagramImpl();
+ return diagram;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image createImage()
+ {
+ ImageImpl image = new ImageImpl();
+ return image;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PageStyle createPageStyle()
+ {
+ PageStyleImpl pageStyle = new PageStyleImpl();
+ return pageStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DrawerStyle createDrawerStyle()
+ {
+ DrawerStyleImpl drawerStyle = new DrawerStyleImpl();
+ return drawerStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GuideStyle createGuideStyle()
+ {
+ GuideStyleImpl guideStyle = new GuideStyleImpl();
+ return guideStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Guide createGuide()
+ {
+ GuideImpl guide = new GuideImpl();
+ return guide;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Map.Entry createNodeEntry()
+ {
+ NodeEntryImpl nodeEntry = new NodeEntryImpl();
+ return nodeEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FilteringStyle createFilteringStyle()
+ {
+ FilteringStyleImpl filteringStyle = new FilteringStyleImpl();
+ return filteringStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiagramStyle createDiagramStyle()
+ {
+ DiagramStyleImpl diagramStyle = new DiagramStyleImpl();
+ return diagramStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImageStyle createImageStyle()
+ {
+ ImageStyleImpl imageStyle = new ImageStyleImpl();
+ return imageStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImageBufferStyle createImageBufferStyle()
+ {
+ ImageBufferStyleImpl imageBufferStyle = new ImageBufferStyleImpl();
+ return imageBufferStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PropertiesSetStyle createPropertiesSetStyle()
+ {
+ PropertiesSetStyleImpl propertiesSetStyle = new PropertiesSetStyleImpl();
+ return propertiesSetStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Map.Entry createStringToPropertyValueMapEntry()
+ {
+ StringToPropertyValueMapEntryImpl stringToPropertyValueMapEntry = new StringToPropertyValueMapEntryImpl();
+ return stringToPropertyValueMapEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PropertyValue createPropertyValue()
+ {
+ PropertyValueImpl propertyValue = new PropertyValueImpl();
+ return propertyValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleValueStyle createSingleValueStyle()
+ {
+ SingleValueStyleImpl singleValueStyle = new SingleValueStyleImpl();
+ return singleValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListValueStyle createListValueStyle()
+ {
+ ListValueStyleImpl listValueStyle = new ListValueStyleImpl();
+ return listValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedStyle createNamedStyle()
+ {
+ NamedStyleImpl namedStyle = new NamedStyleImpl();
+ return namedStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypeStyle createDataTypeStyle()
+ {
+ DataTypeStyleImpl dataTypeStyle = new DataTypeStyleImpl();
+ return dataTypeStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntValueStyle createIntValueStyle()
+ {
+ IntValueStyleImpl intValueStyle = new IntValueStyleImpl();
+ return intValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntListValueStyle createIntListValueStyle()
+ {
+ IntListValueStyleImpl intListValueStyle = new IntListValueStyleImpl();
+ return intListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BooleanValueStyle createBooleanValueStyle()
+ {
+ BooleanValueStyleImpl booleanValueStyle = new BooleanValueStyleImpl();
+ return booleanValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DoubleValueStyle createDoubleValueStyle()
+ {
+ DoubleValueStyleImpl doubleValueStyle = new DoubleValueStyleImpl();
+ return doubleValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DoubleListValueStyle createDoubleListValueStyle()
+ {
+ DoubleListValueStyleImpl doubleListValueStyle = new DoubleListValueStyleImpl();
+ return doubleListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringValueStyle createStringValueStyle()
+ {
+ StringValueStyleImpl stringValueStyle = new StringValueStyleImpl();
+ return stringValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringListValueStyle createStringListValueStyle()
+ {
+ StringListValueStyleImpl stringListValueStyle = new StringListValueStyleImpl();
+ return stringListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObjectValueStyle createEObjectValueStyle()
+ {
+ EObjectValueStyleImpl eObjectValueStyle = new EObjectValueStyleImpl();
+ return eObjectValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObjectListValueStyle createEObjectListValueStyle()
+ {
+ EObjectListValueStyleImpl eObjectListValueStyle = new EObjectListValueStyleImpl();
+ return eObjectListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ByteArrayValueStyle createByteArrayValueStyle()
+ {
+ ByteArrayValueStyleImpl byteArrayValueStyle = new ByteArrayValueStyleImpl();
+ return byteArrayValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BooleanListValueStyle createBooleanListValueStyle()
+ {
+ BooleanListValueStyleImpl booleanListValueStyle = new BooleanListValueStyleImpl();
+ return booleanListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HintedDiagramLinkStyle createHintedDiagramLinkStyle()
+ {
+ HintedDiagramLinkStyleImpl hintedDiagramLinkStyle = new HintedDiagramLinkStyleImpl();
+ return hintedDiagramLinkStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiagramLinkStyle createDiagramLinkStyle()
+ {
+ DiagramLinkStyleImpl diagramLinkStyle = new DiagramLinkStyleImpl();
+ return diagramLinkStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiDiagramLinkStyle createMultiDiagramLinkStyle()
+ {
+ MultiDiagramLinkStyleImpl multiDiagramLinkStyle = new MultiDiagramLinkStyleImpl();
+ return multiDiagramLinkStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TextStyle createTextStyle()
+ {
+ TextStyleImpl textStyle = new TextStyleImpl();
+ return textStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LineTypeStyle createLineTypeStyle()
+ {
+ LineTypeStyleImpl lineTypeStyle = new LineTypeStyleImpl();
+ return lineTypeStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArrowStyle createArrowStyle()
+ {
+ ArrowStyleImpl arrowStyle = new ArrowStyleImpl();
+ return arrowStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Shape createShape()
+ {
+ ShapeImpl shape = new ShapeImpl();
+ return shape;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Compartment createCompartment()
+ {
+ CompartmentImpl compartment = new CompartmentImpl();
+ return compartment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListCompartment createListCompartment()
+ {
+ ListCompartmentImpl listCompartment = new ListCompartmentImpl();
+ return listCompartment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector createConnector()
+ {
+ ConnectorImpl connector = new ConnectorImpl();
+ return connector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StandardDiagram createStandardDiagram()
+ {
+ StandardDiagramImpl standardDiagram = new StandardDiagramImpl();
+ return standardDiagram;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DecorationNode createDecorationNode()
+ {
+ DecorationNodeImpl decorationNode = new DecorationNodeImpl();
+ return decorationNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BasicDecorationNode createBasicDecorationNode()
+ {
+ BasicDecorationNodeImpl basicDecorationNode = new BasicDecorationNodeImpl();
+ return basicDecorationNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BasicCompartment createBasicCompartment()
+ {
+ BasicCompartmentImpl basicCompartment = new BasicCompartmentImpl();
+ return basicCompartment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BasicSemanticCompartment createBasicSemanticCompartment()
+ {
+ BasicSemanticCompartmentImpl basicSemanticCompartment = new BasicSemanticCompartmentImpl();
+ return basicSemanticCompartment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SemanticListCompartment createSemanticListCompartment()
+ {
+ SemanticListCompartmentImpl semanticListCompartment = new SemanticListCompartmentImpl();
+ return semanticListCompartment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RoundedCornersStyle createRoundedCornersStyle()
+ {
+ RoundedCornersStyleImpl roundedCornersStyle = new RoundedCornersStyleImpl();
+ return roundedCornersStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Sorting createSortingFromString(EDataType eDataType, String initialValue)
+ {
+ Sorting result = Sorting.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertSortingToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Filtering createFilteringFromString(EDataType eDataType, String initialValue)
+ {
+ Filtering result = Filtering.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertFilteringToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Routing createRoutingFromString(EDataType eDataType, String initialValue)
+ {
+ Routing result = Routing.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertRoutingToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Smoothness createSmoothnessFromString(EDataType eDataType, String initialValue)
+ {
+ Smoothness result = Smoothness.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertSmoothnessToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JumpLinkStatus createJumpLinkStatusFromString(EDataType eDataType, String initialValue)
+ {
+ JumpLinkStatus result = JumpLinkStatus.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertJumpLinkStatusToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JumpLinkType createJumpLinkTypeFromString(EDataType eDataType, String initialValue)
+ {
+ JumpLinkType result = JumpLinkType.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertJumpLinkTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Alignment createAlignmentFromString(EDataType eDataType, String initialValue)
+ {
+ Alignment result = Alignment.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAlignmentToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SortingDirection createSortingDirectionFromString(EDataType eDataType, String initialValue)
+ {
+ SortingDirection result = SortingDirection.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertSortingDirectionToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MeasurementUnit createMeasurementUnitFromString(EDataType eDataType, String initialValue)
+ {
+ MeasurementUnit result = MeasurementUnit.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMeasurementUnitToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TextAlignment createTextAlignmentFromString(EDataType eDataType, String initialValue)
+ {
+ TextAlignment result = TextAlignment.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTextAlignmentToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LineType createLineTypeFromString(EDataType eDataType, String initialValue)
+ {
+ LineType result = LineType.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertLineTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArrowType createArrowTypeFromString(EDataType eDataType, String initialValue)
+ {
+ ArrowType result = ArrowType.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertArrowTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GradientStyle createGradientStyleFromString(EDataType eDataType, String initialValue)
+ {
+ GradientStyle result = GradientStyle.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertGradientStyleToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public List createRelativeBendpointListFromString(EDataType eDataType, String initialValue)
+ {
+ StringTokenizer st = new StringTokenizer(initialValue, "$"); //$NON-NLS-1$
+ List newList = new ArrayList(st.countTokens());
+ while (st.hasMoreTokens())
+ {
+ newList.add(new RelativeBendpoint(st.nextToken().trim()));
+ }
+ return newList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertRelativeBendpointListToString(EDataType eDataType, Object instanceValue)
+ {
+ StringBuffer sb = new StringBuffer();
+ for (Iterator i = ((List)instanceValue).iterator(); i.hasNext();)
+ {
+ RelativeBendpoint point = (RelativeBendpoint)i.next();
+ if (sb.length() != 0)
+ {
+ sb.append('$');
+ }
+ sb.append(point.convertToString());
+ }
+ return sb.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public List createFilterKeyListFromString(EDataType eDataType, String initialValue)
+ {
+ StringTokenizer st = new StringTokenizer(initialValue, ","); //$NON-NLS-1$
+ List newList = new ArrayList(st.countTokens());
+ while (st.hasMoreTokens())
+ {
+ newList.add(st.nextToken().trim());
+ }
+ return newList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertFilterKeyListToString(EDataType eDataType, Object instanceValue)
+ {
+ StringBuffer sb = new StringBuffer();
+ for (Iterator i = ((List)instanceValue).iterator(); i.hasNext();)
+ {
+ String key = (String)i.next();
+ if (sb.length() != 0)
+ {
+ sb.append(',');
+ }
+ sb.append(key);
+ }
+ return sb.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Map createSortKeyMapFromString(EDataType eDataType, String initialValue)
+ {
+ StringTokenizer st = new StringTokenizer(initialValue, ","); //$NON-NLS-1$
+ Map newMap = new LinkedHashMap(st.countTokens());
+ String s;
+ int i;
+ while (st.hasMoreTokens())
+ {
+ s = st.nextToken().trim();
+ i = s.indexOf(':');
+ newMap.put(s.substring(0, i).trim(), SortingDirection.get(s.substring(i + 1).trim()));
+ }
+ return newMap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertSortKeyMapToString(EDataType eDataType, Object instanceValue)
+ {
+ StringBuffer sb = new StringBuffer();
+ Map keyMap = (Map)instanceValue;
+ for (Iterator i = keyMap.keySet().iterator(); i.hasNext();)
+ {
+ String key = (String)i.next();
+ SortingDirection direction = (SortingDirection)keyMap.get(key);
+ if (sb.length() != 0)
+ {
+ sb.append(',');
+ }
+ sb.append(key + ":" + direction.getName()); //$NON-NLS-1$
+ }
+ return sb.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public GradientData createGradientDataFromString(EDataType eDataType, String initialValue)
+ {
+ GradientData gradient = null;
+ if (initialValue != null && !initialValue.equals("")) //$NON-NLS-1$
+ {
+ gradient = new GradientData();
+ StringTokenizer st = new StringTokenizer(initialValue, ","); //$NON-NLS-1$
+ String s;
+ if (st.hasMoreTokens())
+ {
+ s = st.nextToken().trim();
+ try
+ {
+ gradient.setGradientColor1(Integer.parseInt(s));
+ }
+ catch (NumberFormatException e)
+ {
+ }
+ }
+ if (st.hasMoreTokens())
+ {
+ s = st.nextToken().trim();
+ try
+ {
+ gradient.setGradientColor2(Integer.parseInt(s));
+ }
+ catch (NumberFormatException e)
+ {
+ }
+ }
+ if (st.hasMoreTokens())
+ {
+ s = st.nextToken().trim();
+ try
+ {
+ gradient.setGradientStyle(Integer.parseInt(s));
+ }
+ catch (NumberFormatException e)
+ {
+ }
+ }
+ }
+ return gradient;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertGradientDataToString(EDataType eDataType, Object instanceValue)
+ {
+ GradientData gradient = (GradientData)instanceValue;
+ if (gradient == null)
+ {
+ return ""; //$NON-NLS-1$
+ }
+ else
+ {
+ StringBuffer sb = new StringBuffer();
+ sb.append(gradient.getGradientColor1());
+ sb.append(", "); //$NON-NLS-1$
+ sb.append(gradient.getGradientColor2());
+ sb.append(", "); //$NON-NLS-1$
+ sb.append(gradient.getGradientStyle());
+ return sb.toString();
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotationPackage getNotationPackage()
+ {
+ return (NotationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NotationPackage getPackage()
+ {
+ return NotationPackage.eINSTANCE;
+ }
+
+} // NotationFactoryImpl
diff --git a/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationPackageImpl.java b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationPackageImpl.java
new file mode 100644
index 0000000000..5a8cd2b82c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.gmf.notation/src/org/eclipse/emf/cdo/gmf/notation/impl/NotationPackageImpl.java
@@ -0,0 +1,3628 @@
+/******************************************************************************
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ ****************************************************************************/
+
+package org.eclipse.emf.cdo.gmf.notation.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.gmf.runtime.notation.Alignment;
+import org.eclipse.gmf.runtime.notation.Anchor;
+import org.eclipse.gmf.runtime.notation.ArrowStyle;
+import org.eclipse.gmf.runtime.notation.ArrowType;
+import org.eclipse.gmf.runtime.notation.BasicCompartment;
+import org.eclipse.gmf.runtime.notation.BasicDecorationNode;
+import org.eclipse.gmf.runtime.notation.BasicSemanticCompartment;
+import org.eclipse.gmf.runtime.notation.Bendpoints;
+import org.eclipse.gmf.runtime.notation.BooleanListValueStyle;
+import org.eclipse.gmf.runtime.notation.BooleanValueStyle;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.ByteArrayValueStyle;
+import org.eclipse.gmf.runtime.notation.CanonicalStyle;
+import org.eclipse.gmf.runtime.notation.Compartment;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.ConnectorStyle;
+import org.eclipse.gmf.runtime.notation.DataTypeStyle;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.DescriptionStyle;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.DiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.DiagramStyle;
+import org.eclipse.gmf.runtime.notation.DoubleListValueStyle;
+import org.eclipse.gmf.runtime.notation.DoubleValueStyle;
+import org.eclipse.gmf.runtime.notation.DrawerStyle;
+import org.eclipse.gmf.runtime.notation.EObjectListValueStyle;
+import org.eclipse.gmf.runtime.notation.EObjectValueStyle;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.FillStyle;
+import org.eclipse.gmf.runtime.notation.Filtering;
+import org.eclipse.gmf.runtime.notation.FilteringStyle;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.GradientStyle;
+import org.eclipse.gmf.runtime.notation.Guide;
+import org.eclipse.gmf.runtime.notation.GuideStyle;
+import org.eclipse.gmf.runtime.notation.HintedDiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.IdentityAnchor;
+import org.eclipse.gmf.runtime.notation.Image;
+import org.eclipse.gmf.runtime.notation.ImageBufferStyle;
+import org.eclipse.gmf.runtime.notation.ImageStyle;
+import org.eclipse.gmf.runtime.notation.IntListValueStyle;
+import org.eclipse.gmf.runtime.notation.IntValueStyle;
+import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
+import org.eclipse.gmf.runtime.notation.JumpLinkType;
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+import org.eclipse.gmf.runtime.notation.LineStyle;
+import org.eclipse.gmf.runtime.notation.LineType;
+import org.eclipse.gmf.runtime.notation.LineTypeStyle;
+import org.eclipse.gmf.runtime.notation.ListCompartment;
+import org.eclipse.gmf.runtime.notation.ListValueStyle;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.MeasurementUnit;
+import org.eclipse.gmf.runtime.notation.MultiDiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.PageStyle;
+import org.eclipse.gmf.runtime.notation.PropertiesSetStyle;
+import org.eclipse.gmf.runtime.notation.PropertyValue;
+import org.eclipse.gmf.runtime.notation.Ratio;
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.RoundedCornersStyle;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.RoutingStyle;
+import org.eclipse.gmf.runtime.notation.SemanticListCompartment;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.ShapeStyle;
+import org.eclipse.gmf.runtime.notation.SingleValueStyle;
+import org.eclipse.gmf.runtime.notation.Size;
+import org.eclipse.gmf.runtime.notation.Smoothness;
+import org.eclipse.gmf.runtime.notation.Sorting;
+import org.eclipse.gmf.runtime.notation.SortingDirection;
+import org.eclipse.gmf.runtime.notation.SortingStyle;
+import org.eclipse.gmf.runtime.notation.StandardDiagram;
+import org.eclipse.gmf.runtime.notation.StringListValueStyle;
+import org.eclipse.gmf.runtime.notation.StringObjectConverter;
+import org.eclipse.gmf.runtime.notation.StringValueStyle;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.gmf.runtime.notation.TextAlignment;
+import org.eclipse.gmf.runtime.notation.TextStyle;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.runtime.notation.datatype.GradientData;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NotationPackageImpl extends EPackageImpl implements NotationPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass edgeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass styleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass fillStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lineStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass fontStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass titleStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sortingStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass descriptionStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass layoutConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sizeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass locationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass boundsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ratioEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass anchorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bendpointsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass identityAnchorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass routingStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass viewEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass relativeBendpointsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass diagramEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass imageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass canonicalStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass shapeStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass connectorStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pageStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass drawerStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass guideStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass guideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nodeEntryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass filteringStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass diagramStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass imageStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass imageBufferStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertiesSetStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stringToPropertyValueMapEntryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertyValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass singleValueStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass listValueStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass namedStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stringObjectConverterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataTypeStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass intValueStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass intListValueStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass booleanValueStyleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */