Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2013-09-18 06:19:35 +0000
committerEike Stepper2013-09-18 07:13:40 +0000
commit8e90a7d8a6b2f13b97a11f5f5e999fc4ff6acdff (patch)
treef375968069c3fcbdbf66095a4b5ac58c0ec6d88a
parent0571adf55411631a1c009ef8702f5b12a342200a (diff)
downloadcdo-8e90a7d8a6b2f13b97a11f5f5e999fc4ff6acdff.tar.gz
cdo-8e90a7d8a6b2f13b97a11f5f5e999fc4ff6acdff.tar.xz
cdo-8e90a7d8a6b2f13b97a11f5f5e999fc4ff6acdff.zip
[417473] Provide an expressions model
https://bugs.eclipse.org/bugs/show_bug.cgi?id=417473
-rw-r--r--features/org.eclipse.emf.cdo-feature/feature.xml21
-rw-r--r--features/org.eclipse.emf.cdo.server-feature/feature.xml7
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.classpath7
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.project33
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.jdt.core.prefs412
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.jdt.launching.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.jdt.ui.prefs119
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.ltk.core.refactoring.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.mylyn.tasks.ui.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.mylyn.team.ui.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.pde.api.tools.prefs95
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/META-INF/MANIFEST.MF14
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/about.html28
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/build.properties14
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/copyright.txt8
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAnnotation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAttribute.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EClass.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EDataType.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnum.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnumLiteral.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EFactory.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EGenericType.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EObject.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EOperation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EPackage.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EParameter.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EReference.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EStringToStringMapEntry.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ETypeParameter.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FeatureAccess.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListAccess.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Not.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ObjectValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperationInvocation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperatorInvocation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/This.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties205
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/plugin.xml27
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/BooleanValueItemProvider.java153
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ByteValueItemProvider.java153
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/CharValueItemProvider.java153
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContainedObjectItemProvider.java197
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java180
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/DoubleValueItemProvider.java153
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsEditPlugin.java93
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java730
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/FloatValueItemProvider.java153
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/FunctionInvocationItemProvider.java147
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/IntValueItemProvider.java153
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java315
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LinkedExpressionItemProvider.java169
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LinkedObjectItemProvider.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListValueItemProvider.java222
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LongValueItemProvider.java153
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java327
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java246
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ShortValueItemProvider.java153
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/StringValueItemProvider.java154
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ThisItemProvider.java148
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ValueItemProvider.java136
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.classpath7
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.project33
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.jdt.core.prefs412
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.jdt.launching.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.jdt.ui.prefs119
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.ltk.core.refactoring.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.mylyn.tasks.ui.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.mylyn.team.ui.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.pde.api.tools.prefs95
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/META-INF/MANIFEST.MF18
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/about.html28
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/build.properties12
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/copyright.txt8
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/obj16/EcoreModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/obj16/ExpressionsModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/wizban/NewEcore.gifbin0 -> 2462 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/wizban/NewExpressions.gifbin0 -> 2462 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/plugin.properties60
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/plugin.xml38
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsActionBarContributor.java467
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsEditor.java1688
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsEditorPlugin.java94
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsModelWizard.java665
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.classpath7
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.options3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.project39
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.jdt.core.prefs412
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.jdt.launching.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.jdt.ui.prefs119
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.ltk.core.refactoring.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.mylyn.tasks.ui.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.mylyn.team.ui.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.pde.api.tools.prefs95
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/META-INF/MANIFEST.MF14
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/about.html28
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/build.properties14
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/copyright.txt8
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore78
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag608
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/model/expressions.genmodel79
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/plugin.properties11
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/plugin.xml17
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/BooleanValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ByteValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/CharValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContainedObject.java51
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/DoubleValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java23
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Expression.java28
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java198
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java2023
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/FloatValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/FunctionInvocation.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/IntValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Invocation.java68
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/LinkedExpression.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/LinkedObject.java51
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ListValue.java41
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/LongValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/MemberAccess.java76
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/MemberInvocation.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ShortValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/StringValue.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/This.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Value.java25
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/BooleanValueImpl.java150
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ByteValueImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/CharValueImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ContainedObjectImpl.java207
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ContextAccessImpl.java186
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/DoubleValueImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/EvaluationContextImpl.java53
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsFactoryImpl.java377
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsPackageImpl.java967
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/FloatValueImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/FunctionInvocationImpl.java87
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/IntValueImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/InvocationImpl.java256
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/LinkedExpressionImpl.java193
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/LinkedObjectImpl.java190
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ListValueImpl.java155
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/LongValueImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberAccessImpl.java257
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberInvocationImpl.java179
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ShortValueImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/StringValueImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ThisImpl.java85
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ValueImpl.java94
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsAdapterFactory.java570
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsSwitch.java685
176 files changed, 19912 insertions, 0 deletions
diff --git a/features/org.eclipse.emf.cdo-feature/feature.xml b/features/org.eclipse.emf.cdo-feature/feature.xml
index 1efdc9e457..f10ca9c037 100644
--- a/features/org.eclipse.emf.cdo-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo-feature/feature.xml
@@ -98,6 +98,27 @@
unpack="false"/>
<plugin
+ id="org.eclipse.emf.cdo.expressions"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.cdo.expressions.edit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.cdo.expressions.editor"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
id="org.eclipse.emf.cdo.security"
download-size="0"
install-size="0"
diff --git a/features/org.eclipse.emf.cdo.server-feature/feature.xml b/features/org.eclipse.emf.cdo.server-feature/feature.xml
index 862c2bdbb0..089d96b03b 100644
--- a/features/org.eclipse.emf.cdo.server-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo.server-feature/feature.xml
@@ -92,6 +92,13 @@
unpack="false"/>
<plugin
+ id="org.eclipse.emf.cdo.expressions"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
id="org.eclipse.emf.cdo.server.admin"
download-size="0"
install-size="0"
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/.classpath b/plugins/org.eclipse.emf.cdo.expressions.edit/.classpath
new file mode 100644
index 0000000000..304e86186a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <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="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/.project b/plugins/org.eclipse.emf.cdo.expressions.edit/.project
new file mode 100644
index 0000000000..af865e4922
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.cdo.expressions.edit</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.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.emf.cdo.releng.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..7a89adcc2d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+
+encoding//model/expressions.ecore=UTF-8
+encoding//model/expressions.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..8380acd460
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,412 @@
+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.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+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.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=warning
+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=warning
+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=warning
+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.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.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=warning
+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=ignore
+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.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+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.unusedImport=warning
+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.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=120
+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.expressions.edit/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000000..556ed07a3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.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.expressions.edit/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..3fc140fcdc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.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-2013 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=true
+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.expressions.edit/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..864e30fe5d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.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.expressions.edit/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000000..b050639a54
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.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.expressions.edit/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000000..2f50f36c0c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.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${task.url}
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000000..0c17d59e45
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.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.expressions.edit/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.expressions.edit/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..fe01bb701d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/.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.expressions.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.expressions.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..1ee1d68256
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.cdo.expressions.edit;singleton:=true
+Bundle-Version: 4.3.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.emf.cdo.expressions.provider.ExpressionsEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.emf.cdo.expressions.provider;version="4.3.0"
+Require-Bundle: org.eclipse.emf.cdo.expressions;bundle-version="[4.3.0,5.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.edit;bundle-version="[4.1.0,5.0.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/about.html b/plugins/org.eclipse.emf.cdo.expressions.edit/about.html
new file mode 100644
index 0000000000..d35d5aed64
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/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.expressions.edit/build.properties b/plugins/org.eclipse.emf.cdo.expressions.edit/build.properties
new file mode 100644
index 0000000000..29cb0969dd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/build.properties
@@ -0,0 +1,14 @@
+#
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ copyright.txt
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html,\
+ copyright.txt
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/copyright.txt b/plugins/org.eclipse.emf.cdo.expressions.edit/copyright.txt
new file mode 100644
index 0000000000..1c77978050
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2004-2013 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
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gif
new file mode 100644
index 0000000000..cdd3b76e3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gif
new file mode 100644
index 0000000000..7bac4fd380
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gif
new file mode 100644
index 0000000000..4365960a04
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gif
new file mode 100644
index 0000000000..90d10f9470
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gif
new file mode 100644
index 0000000000..b3643da048
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextValue.gif
new file mode 100644
index 0000000000..ea58a657dc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gif
new file mode 100644
index 0000000000..2124f3e3ab
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAnnotation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAnnotation.gif
new file mode 100644
index 0000000000..cdd3b76e3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAnnotation.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAttribute.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAttribute.gif
new file mode 100644
index 0000000000..89ad5da38a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAttribute.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EClass.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EClass.gif
new file mode 100644
index 0000000000..739ebbfa6a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EClass.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EDataType.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EDataType.gif
new file mode 100644
index 0000000000..2124f3e3ab
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EDataType.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnum.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnum.gif
new file mode 100644
index 0000000000..db7414e937
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnum.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnumLiteral.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnumLiteral.gif
new file mode 100644
index 0000000000..2b69256029
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnumLiteral.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EFactory.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EFactory.gif
new file mode 100644
index 0000000000..c4fb30e968
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EFactory.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EGenericType.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EGenericType.gif
new file mode 100644
index 0000000000..498364f1c1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EGenericType.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EObject.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EObject.gif
new file mode 100644
index 0000000000..33854e98c2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EObject.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EOperation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EOperation.gif
new file mode 100644
index 0000000000..c3370c7ddd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EOperation.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EPackage.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EPackage.gif
new file mode 100644
index 0000000000..db7414e937
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EPackage.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EParameter.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EParameter.gif
new file mode 100644
index 0000000000..c673a5200a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EParameter.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EReference.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EReference.gif
new file mode 100644
index 0000000000..7b7c428c71
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EReference.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EStringToStringMapEntry.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EStringToStringMapEntry.gif
new file mode 100644
index 0000000000..e4bc22dd17
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EStringToStringMapEntry.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ETypeParameter.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ETypeParameter.gif
new file mode 100644
index 0000000000..c4fb30e968
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ETypeParameter.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FeatureAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FeatureAccess.gif
new file mode 100644
index 0000000000..35ef84e20e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FeatureAccess.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gif
new file mode 100644
index 0000000000..e4bc22dd17
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gif
new file mode 100644
index 0000000000..a3908bcf7b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gif
new file mode 100644
index 0000000000..136e3b2726
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gif
new file mode 100644
index 0000000000..9250fecbff
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gif
new file mode 100644
index 0000000000..5915591825
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListAccess.gif
new file mode 100644
index 0000000000..7bac4fd380
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListAccess.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListValue.gif
new file mode 100644
index 0000000000..c3370c7ddd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gif
new file mode 100644
index 0000000000..498364f1c1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gif
new file mode 100644
index 0000000000..33854e98c2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gif
new file mode 100644
index 0000000000..35ef84e20e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Not.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Not.gif
new file mode 100644
index 0000000000..89ad5da38a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Not.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ObjectValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ObjectValue.gif
new file mode 100644
index 0000000000..94c953e013
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ObjectValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperationInvocation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperationInvocation.gif
new file mode 100644
index 0000000000..c8d381f0b3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperationInvocation.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperatorInvocation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperatorInvocation.gif
new file mode 100644
index 0000000000..a26660ec28
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperatorInvocation.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gif
new file mode 100644
index 0000000000..b1f8afa476
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gif
new file mode 100644
index 0000000000..c414fe9f72
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/This.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/This.gif
new file mode 100644
index 0000000000..cdd3b76e3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/This.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties b/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties
new file mode 100644
index 0000000000..fee83b5b03
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties
@@ -0,0 +1,205 @@
+#
+
+pluginName = Expressions Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Expression_type = Expression
+_UI_Value_type = Value
+_UI_BooleanValue_type = Boolean Value
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_BooleanValue_literal_feature = Literal
+_UI_Unknown_feature = Unspecified
+
+_UI_PrimitiveValue_type = Primitive Value
+_UI_ByteValue_type = Byte Value
+_UI_ShortValue_type = Short Value
+_UI_IntValue_type = Int Value
+_UI_LongValue_type = Long Value
+_UI_FloatValue_type = Float Value
+_UI_DoubleValue_type = Double Value
+_UI_CharValue_type = Char Value
+_UI_StringValue_type = String Value
+_UI_ContextValue_type = Context Value
+_UI_This_type = This
+_UI_ObjectValue_type = Object Value
+_UI_FeatureAccess_type = Feature Access
+_UI_ListAccess_type = List Access
+_UI_Comparison_type = Comparison
+_UI_ByteValue_literal_feature = Literal
+_UI_ShortValue_literal_feature = Literal
+_UI_IntValue_literal_feature = Literal
+_UI_LongValue_literal_feature = Literal
+_UI_FloatValue_literal_feature = Literal
+_UI_DoubleValue_literal_feature = Literal
+_UI_CharValue_literal_feature = Literal
+_UI_StringValue_literal_feature = Literal
+_UI_ContextValue_name_feature = Name
+_UI_ObjectValue_reference_feature = Reference
+_UI_FeatureAccess_object_feature = Object
+_UI_FeatureAccess_feature_feature = Feature
+_UI_ListAccess_object_feature = Object
+_UI_ListAccess_feature_feature = Feature
+_UI_Comparison_operator_feature = Operator
+_UI_Comparison_left_feature = Left
+_UI_Comparison_right_feature = Right
+_UI_Operator_Equal_literal = Equal
+_UI_Operator_NotEqual_literal = NotEqual
+_UI_Operator_LessThan_literal = LessThan
+_UI_Operator_LessThanOrEqual_literal = LessThanOrEqual
+_UI_Operator_GreaterThan_literal = GreaterThan
+_UI_Operator_GreaterThanOrEqual_literal = GreaterThanOrEqual
+_UI_Operation_type = Operation
+_UI_ListAccess_list_feature = List
+_UI_ListAccess_index_feature = Index
+_UI_Operation_operator_feature = Operator
+_UI_Operation_left_feature = Left
+_UI_Operation_right_feature = Right
+_UI_OperationCall_type = Operation Call
+_UI_OperationCall_object_feature = Object
+_UI_OperationCall_operation_feature = Operation
+_UI_OperationCall_arguments_feature = Arguments
+_UI_OperationInvocation_type = Operation Invocation
+_UI_OperationInvocation_object_feature = Object
+_UI_OperationInvocation_operation_feature = Operation
+_UI_OperationInvocation_arguments_feature = Arguments
+_UI_OperatorInvocation_type = Operator Invocation
+_UI_Not_type = Not
+_UI_OperatorInvocation_operator_feature = Operator
+_UI_OperatorInvocation_left_feature = Left
+_UI_OperatorInvocation_right_feature = Right
+_UI_Not_operand_feature = Operand
+_UI_Operator_And_literal = And
+_UI_Operator_Or_literal = Or
+_UI_Operator_Xor_literal = Xor
+_UI_ListValue_type = List Value
+_UI_Invocation_type = Invocation
+_UI_FunctionInvocation_type = Function Invocation
+_UI_MemberInvocation_type = Member Invocation
+_UI_MemberAccess_type = Member Access
+_UI_ContextAccess_type = Context Access
+_UI_ContainedObject_type = Contained Object
+_UI_LinkedObject_type = Linked Object
+_UI_LinkedExpression_type = Linked Expression
+_UI_EAttribute_type = EAttribute
+_UI_EAnnotation_type = EAnnotation
+_UI_EClass_type = EClass
+_UI_EClassifier_type = EClassifier
+_UI_EDataType_type = EData Type
+_UI_EEnum_type = EEnum
+_UI_EEnumLiteral_type = EEnum Literal
+_UI_EFactory_type = EFactory
+_UI_EModelElement_type = EModel Element
+_UI_ENamedElement_type = ENamed Element
+_UI_EObject_type = EObject
+_UI_EOperation_type = EOperation
+_UI_EPackage_type = EPackage
+_UI_EParameter_type = EParameter
+_UI_EReference_type = EReference
+_UI_EStructuralFeature_type = EStructural Feature
+_UI_ETypedElement_type = ETyped Element
+_UI_EStringToStringMapEntry_type = EString To String Map Entry
+_UI_EGenericType_type = EGeneric Type
+_UI_ETypeParameter_type = EType Parameter
+_UI_ListValue_elements_feature = Elements
+_UI_Invocation_arguments_feature = Arguments
+_UI_Invocation_name_feature = Name
+_UI_MemberInvocation_object_feature = Object
+_UI_MemberAccess_object_feature = Object
+_UI_MemberAccess_name_feature = Name
+_UI_ContextAccess_name_feature = Name
+_UI_ContainedObject_object_feature = Object
+_UI_LinkedObject_object_feature = Object
+_UI_LinkedExpression_expression_feature = Expression
+_UI_EAttribute_iD_feature = ID
+_UI_EAttribute_eAttributeType_feature = EAttribute Type
+_UI_EAnnotation_source_feature = Source
+_UI_EAnnotation_details_feature = Details
+_UI_EAnnotation_eModelElement_feature = EModel Element
+_UI_EAnnotation_contents_feature = Contents
+_UI_EAnnotation_references_feature = References
+_UI_EClass_abstract_feature = Abstract
+_UI_EClass_interface_feature = Interface
+_UI_EClass_eSuperTypes_feature = ESuper Types
+_UI_EClass_eOperations_feature = EOperations
+_UI_EClass_eAllAttributes_feature = EAll Attributes
+_UI_EClass_eAllReferences_feature = EAll References
+_UI_EClass_eReferences_feature = EReferences
+_UI_EClass_eAttributes_feature = EAttributes
+_UI_EClass_eAllContainments_feature = EAll Containments
+_UI_EClass_eAllOperations_feature = EAll Operations
+_UI_EClass_eAllStructuralFeatures_feature = EAll Structural Features
+_UI_EClass_eAllSuperTypes_feature = EAll Super Types
+_UI_EClass_eIDAttribute_feature = EID Attribute
+_UI_EClass_eStructuralFeatures_feature = EStructural Features
+_UI_EClass_eGenericSuperTypes_feature = EGeneric Super Types
+_UI_EClass_eAllGenericSuperTypes_feature = EAll Generic Super Types
+_UI_EClassifier_instanceClassName_feature = Instance Class Name
+_UI_EClassifier_instanceClass_feature = Instance Class
+_UI_EClassifier_defaultValue_feature = Default Value
+_UI_EClassifier_instanceTypeName_feature = Instance Type Name
+_UI_EClassifier_ePackage_feature = EPackage
+_UI_EClassifier_eTypeParameters_feature = EType Parameters
+_UI_EDataType_serializable_feature = Serializable
+_UI_EEnum_eLiterals_feature = ELiterals
+_UI_EEnumLiteral_value_feature = Value
+_UI_EEnumLiteral_instance_feature = Instance
+_UI_EEnumLiteral_literal_feature = Literal
+_UI_EEnumLiteral_eEnum_feature = EEnum
+_UI_EFactory_ePackage_feature = EPackage
+_UI_EModelElement_eAnnotations_feature = EAnnotations
+_UI_ENamedElement_name_feature = Name
+_UI_EOperation_eContainingClass_feature = EContaining Class
+_UI_EOperation_eTypeParameters_feature = EType Parameters
+_UI_EOperation_eParameters_feature = EParameters
+_UI_EOperation_eExceptions_feature = EExceptions
+_UI_EOperation_eGenericExceptions_feature = EGeneric Exceptions
+_UI_EPackage_nsURI_feature = Ns URI
+_UI_EPackage_nsPrefix_feature = Ns Prefix
+_UI_EPackage_eFactoryInstance_feature = EFactory Instance
+_UI_EPackage_eClassifiers_feature = EClassifiers
+_UI_EPackage_eSubpackages_feature = ESubpackages
+_UI_EPackage_eSuperPackage_feature = ESuper Package
+_UI_EParameter_eOperation_feature = EOperation
+_UI_EReference_containment_feature = Containment
+_UI_EReference_container_feature = Container
+_UI_EReference_resolveProxies_feature = Resolve Proxies
+_UI_EReference_eOpposite_feature = EOpposite
+_UI_EReference_eReferenceType_feature = EReference Type
+_UI_EReference_eKeys_feature = EKeys
+_UI_EStructuralFeature_changeable_feature = Changeable
+_UI_EStructuralFeature_volatile_feature = Volatile
+_UI_EStructuralFeature_transient_feature = Transient
+_UI_EStructuralFeature_defaultValueLiteral_feature = Default Value Literal
+_UI_EStructuralFeature_defaultValue_feature = Default Value
+_UI_EStructuralFeature_unsettable_feature = Unsettable
+_UI_EStructuralFeature_derived_feature = Derived
+_UI_EStructuralFeature_eContainingClass_feature = EContaining Class
+_UI_ETypedElement_ordered_feature = Ordered
+_UI_ETypedElement_unique_feature = Unique
+_UI_ETypedElement_lowerBound_feature = Lower Bound
+_UI_ETypedElement_upperBound_feature = Upper Bound
+_UI_ETypedElement_many_feature = Many
+_UI_ETypedElement_required_feature = Required
+_UI_ETypedElement_eType_feature = EType
+_UI_ETypedElement_eGenericType_feature = EGeneric Type
+_UI_EStringToStringMapEntry_key_feature = Key
+_UI_EStringToStringMapEntry_value_feature = Value
+_UI_EGenericType_eUpperBound_feature = EUpper Bound
+_UI_EGenericType_eTypeArguments_feature = EType Arguments
+_UI_EGenericType_eRawType_feature = ERaw Type
+_UI_EGenericType_eLowerBound_feature = ELower Bound
+_UI_EGenericType_eTypeParameter_feature = EType Parameter
+_UI_EGenericType_eClassifier_feature = EClassifier
+_UI_ETypeParameter_eBounds_feature = EBounds
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.xml b/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.xml
new file mode 100644
index 0000000000..1fc78894b6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated expressions -->
+ <factory
+ uri="http://www.eclipse.org/emf/CDO/expressions/4.3.0"
+ class="org.eclipse.emf.cdo.expressions.provider.ExpressionsItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource
+ org.eclipse.emf.edit.provider.ITableItemLabelProvider
+ org.eclipse.emf.edit.provider.ITableItemColorProvider
+ org.eclipse.emf.edit.provider.ITableItemFontProvider
+ org.eclipse.emf.edit.provider.IItemColorProvider
+ org.eclipse.emf.edit.provider.IItemFontProvider"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/BooleanValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/BooleanValueItemProvider.java
new file mode 100644
index 0000000000..83214dc11e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/BooleanValueItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.BooleanValue;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.BooleanValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BooleanValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BooleanValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_BooleanValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_BooleanValue_literal_feature", "_UI_BooleanValue_type"),
+ ExpressionsPackage.Literals.BOOLEAN_VALUE__LITERAL, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns BooleanValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/BooleanValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ BooleanValue booleanValue = (BooleanValue)object;
+ return getString("_UI_BooleanValue_type") + " " + booleanValue.isLiteral();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(BooleanValue.class))
+ {
+ case ExpressionsPackage.BOOLEAN_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ByteValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ByteValueItemProvider.java
new file mode 100644
index 0000000000..df5a92adbf
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ByteValueItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ByteValue;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.ByteValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ByteValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ByteValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ByteValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ByteValue_literal_feature", "_UI_ByteValue_type"),
+ ExpressionsPackage.Literals.BYTE_VALUE__LITERAL, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns ByteValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ByteValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ ByteValue byteValue = (ByteValue)object;
+ return getString("_UI_ByteValue_type") + " " + byteValue.getLiteral();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ByteValue.class))
+ {
+ case ExpressionsPackage.BYTE_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/CharValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/CharValueItemProvider.java
new file mode 100644
index 0000000000..adf0b728a8
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/CharValueItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.CharValue;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.CharValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CharValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CharValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_CharValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CharValue_literal_feature", "_UI_CharValue_type"),
+ ExpressionsPackage.Literals.CHAR_VALUE__LITERAL, true, false, false, ItemPropertyDescriptor.TEXT_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This returns CharValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/CharValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ CharValue charValue = (CharValue)object;
+ return getString("_UI_CharValue_type") + " " + charValue.getLiteral();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CharValue.class))
+ {
+ case ExpressionsPackage.CHAR_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContainedObjectItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContainedObjectItemProvider.java
new file mode 100644
index 0000000000..e0d7b38a61
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContainedObjectItemProvider.java
@@ -0,0 +1,197 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ContainedObject;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.ContainedObject} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContainedObjectItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainedObjectItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExpressionsPackage.Literals.CONTAINED_OBJECT__OBJECT);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * This returns ContainedObject.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ContainedObject"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_ContainedObject_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ContainedObject.class))
+ {
+ case ExpressionsPackage.CONTAINED_OBJECT__OBJECT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.CONTAINED_OBJECT__OBJECT,
+ EcoreFactory.eINSTANCE.createEObject()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java
new file mode 100644
index 0000000000..378e4a4ac6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java
@@ -0,0 +1,180 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ContextAccess;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.ContextAccess} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContextAccessItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContextAccessItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ContextAccess_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ContextAccess_name_feature", "_UI_ContextAccess_type"),
+ ExpressionsPackage.Literals.CONTEXT_ACCESS__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * This returns ContextAccess.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ContextAccess"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String label = ((ContextAccess)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ContextAccess_type")
+ : getString("_UI_ContextAccess_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ContextAccess.class))
+ {
+ case ExpressionsPackage.CONTEXT_ACCESS__NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/DoubleValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/DoubleValueItemProvider.java
new file mode 100644
index 0000000000..d6039609b4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/DoubleValueItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.DoubleValue;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.DoubleValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DoubleValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DoubleValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DoubleValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DoubleValue_literal_feature", "_UI_DoubleValue_type"),
+ ExpressionsPackage.Literals.DOUBLE_VALUE__LITERAL, true, false, false, ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This returns DoubleValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DoubleValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ DoubleValue doubleValue = (DoubleValue)object;
+ return getString("_UI_DoubleValue_type") + " " + doubleValue.getLiteral();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DoubleValue.class))
+ {
+ case ExpressionsPackage.DOUBLE_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsEditPlugin.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsEditPlugin.java
new file mode 100644
index 0000000000..dc82945714
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsEditPlugin.java
@@ -0,0 +1,93 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+/**
+ * This is the central singleton for the Expressions edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ExpressionsEditPlugin extends EMFPlugin
+{
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ExpressionsEditPlugin INSTANCE = new ExpressionsEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionsEditPlugin()
+ {
+ super(new ResourceLocator[] { EcoreEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator()
+ {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin()
+ {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin
+ {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation()
+ {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java
new file mode 100644
index 0000000000..53a5e5f771
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java
@@ -0,0 +1,730 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.util.ExpressionsAdapterFactory;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpressionsItemProviderAdapterFactory extends ExpressionsAdapterFactory implements
+ ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender
+{
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This helps manage the child creation extenders.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(
+ ExpressionsEditPlugin.INSTANCE, ExpressionsPackage.eNS_URI);
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionsItemProviderAdapterFactory()
+ {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ supportedTypes.add(ITableItemLabelProvider.class);
+ supportedTypes.add(ITableItemColorProvider.class);
+ supportedTypes.add(ITableItemFontProvider.class);
+ supportedTypes.add(IItemColorProvider.class);
+ supportedTypes.add(IItemFontProvider.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.BooleanValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BooleanValueItemProvider booleanValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.BooleanValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createBooleanValueAdapter()
+ {
+ if (booleanValueItemProvider == null)
+ {
+ booleanValueItemProvider = new BooleanValueItemProvider(this);
+ }
+
+ return booleanValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ByteValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ByteValueItemProvider byteValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ByteValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createByteValueAdapter()
+ {
+ if (byteValueItemProvider == null)
+ {
+ byteValueItemProvider = new ByteValueItemProvider(this);
+ }
+
+ return byteValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ShortValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ShortValueItemProvider shortValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ShortValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createShortValueAdapter()
+ {
+ if (shortValueItemProvider == null)
+ {
+ shortValueItemProvider = new ShortValueItemProvider(this);
+ }
+
+ return shortValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.IntValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntValueItemProvider intValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.IntValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createIntValueAdapter()
+ {
+ if (intValueItemProvider == null)
+ {
+ intValueItemProvider = new IntValueItemProvider(this);
+ }
+
+ return intValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.LongValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LongValueItemProvider longValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.LongValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createLongValueAdapter()
+ {
+ if (longValueItemProvider == null)
+ {
+ longValueItemProvider = new LongValueItemProvider(this);
+ }
+
+ return longValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.FloatValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FloatValueItemProvider floatValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.FloatValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createFloatValueAdapter()
+ {
+ if (floatValueItemProvider == null)
+ {
+ floatValueItemProvider = new FloatValueItemProvider(this);
+ }
+
+ return floatValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.DoubleValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DoubleValueItemProvider doubleValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.DoubleValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createDoubleValueAdapter()
+ {
+ if (doubleValueItemProvider == null)
+ {
+ doubleValueItemProvider = new DoubleValueItemProvider(this);
+ }
+
+ return doubleValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.CharValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CharValueItemProvider charValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.CharValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createCharValueAdapter()
+ {
+ if (charValueItemProvider == null)
+ {
+ charValueItemProvider = new CharValueItemProvider(this);
+ }
+
+ return charValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.StringValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringValueItemProvider stringValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.StringValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createStringValueAdapter()
+ {
+ if (stringValueItemProvider == null)
+ {
+ stringValueItemProvider = new StringValueItemProvider(this);
+ }
+
+ return stringValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ListValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListValueItemProvider listValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ListValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createListValueAdapter()
+ {
+ if (listValueItemProvider == null)
+ {
+ listValueItemProvider = new ListValueItemProvider(this);
+ }
+
+ return listValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.FunctionInvocation} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionInvocationItemProvider functionInvocationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.FunctionInvocation}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createFunctionInvocationAdapter()
+ {
+ if (functionInvocationItemProvider == null)
+ {
+ functionInvocationItemProvider = new FunctionInvocationItemProvider(this);
+ }
+
+ return functionInvocationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.MemberInvocation} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MemberInvocationItemProvider memberInvocationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.MemberInvocation}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createMemberInvocationAdapter()
+ {
+ if (memberInvocationItemProvider == null)
+ {
+ memberInvocationItemProvider = new MemberInvocationItemProvider(this);
+ }
+
+ return memberInvocationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.MemberAccess} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MemberAccessItemProvider memberAccessItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.MemberAccess}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createMemberAccessAdapter()
+ {
+ if (memberAccessItemProvider == null)
+ {
+ memberAccessItemProvider = new MemberAccessItemProvider(this);
+ }
+
+ return memberAccessItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ContextAccess} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContextAccessItemProvider contextAccessItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ContextAccess}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createContextAccessAdapter()
+ {
+ if (contextAccessItemProvider == null)
+ {
+ contextAccessItemProvider = new ContextAccessItemProvider(this);
+ }
+
+ return contextAccessItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.This} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ThisItemProvider thisItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.This}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createThisAdapter()
+ {
+ if (thisItemProvider == null)
+ {
+ thisItemProvider = new ThisItemProvider(this);
+ }
+
+ return thisItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ContainedObject} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContainedObjectItemProvider containedObjectItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ContainedObject}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createContainedObjectAdapter()
+ {
+ if (containedObjectItemProvider == null)
+ {
+ containedObjectItemProvider = new ContainedObjectItemProvider(this);
+ }
+
+ return containedObjectItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.LinkedObject} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkedObjectItemProvider linkedObjectItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.LinkedObject}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createLinkedObjectAdapter()
+ {
+ if (linkedObjectItemProvider == null)
+ {
+ linkedObjectItemProvider = new LinkedObjectItemProvider(this);
+ }
+
+ return linkedObjectItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.LinkedExpression} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkedExpressionItemProvider linkedExpressionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.LinkedExpression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createLinkedExpressionAdapter()
+ {
+ if (linkedExpressionItemProvider == null)
+ {
+ linkedExpressionItemProvider = new LinkedExpressionItemProvider(this);
+ }
+
+ return linkedExpressionItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory()
+ {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
+ {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type)
+ {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type)
+ {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type)
+ {
+ if (isFactoryForType(type))
+ {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter)))
+ {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List<IChildCreationExtender> getChildCreationExtenders()
+ {
+ return childCreationExtenderManager.getChildCreationExtenders();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain)
+ {
+ return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator()
+ {
+ return childCreationExtenderManager;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener)
+ {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener)
+ {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification)
+ {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null)
+ {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void dispose()
+ {
+ if (booleanValueItemProvider != null)
+ booleanValueItemProvider.dispose();
+ if (byteValueItemProvider != null)
+ byteValueItemProvider.dispose();
+ if (shortValueItemProvider != null)
+ shortValueItemProvider.dispose();
+ if (intValueItemProvider != null)
+ intValueItemProvider.dispose();
+ if (longValueItemProvider != null)
+ longValueItemProvider.dispose();
+ if (floatValueItemProvider != null)
+ floatValueItemProvider.dispose();
+ if (doubleValueItemProvider != null)
+ doubleValueItemProvider.dispose();
+ if (charValueItemProvider != null)
+ charValueItemProvider.dispose();
+ if (stringValueItemProvider != null)
+ stringValueItemProvider.dispose();
+ if (listValueItemProvider != null)
+ listValueItemProvider.dispose();
+ if (functionInvocationItemProvider != null)
+ functionInvocationItemProvider.dispose();
+ if (memberInvocationItemProvider != null)
+ memberInvocationItemProvider.dispose();
+ if (memberAccessItemProvider != null)
+ memberAccessItemProvider.dispose();
+ if (contextAccessItemProvider != null)
+ contextAccessItemProvider.dispose();
+ if (thisItemProvider != null)
+ thisItemProvider.dispose();
+ if (containedObjectItemProvider != null)
+ containedObjectItemProvider.dispose();
+ if (linkedObjectItemProvider != null)
+ linkedObjectItemProvider.dispose();
+ if (linkedExpressionItemProvider != null)
+ linkedExpressionItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/FloatValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/FloatValueItemProvider.java
new file mode 100644
index 0000000000..beae80dc0d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/FloatValueItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.FloatValue;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.FloatValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FloatValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FloatValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_FloatValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_FloatValue_literal_feature", "_UI_FloatValue_type"),
+ ExpressionsPackage.Literals.FLOAT_VALUE__LITERAL, true, false, false, ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This returns FloatValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/FloatValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ FloatValue floatValue = (FloatValue)object;
+ return getString("_UI_FloatValue_type") + " " + floatValue.getLiteral();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(FloatValue.class))
+ {
+ case ExpressionsPackage.FLOAT_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/FunctionInvocationItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/FunctionInvocationItemProvider.java
new file mode 100644
index 0000000000..499b99d6dd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/FunctionInvocationItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.FunctionInvocation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionInvocationItemProvider extends InvocationItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionInvocationItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns FunctionInvocation.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/FunctionInvocation"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_FunctionInvocation_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection)
+ {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == ExpressionsPackage.Literals.INVOCATION__ARGUMENTS
+ || childFeature == ExpressionsPackage.Literals.INVOCATION__NAME;
+
+ if (qualify)
+ {
+ return getString("_UI_CreateChild_text2", new Object[] { getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/IntValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/IntValueItemProvider.java
new file mode 100644
index 0000000000..5047dacf48
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/IntValueItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.IntValue;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.IntValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_IntValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_IntValue_literal_feature", "_UI_IntValue_type"),
+ ExpressionsPackage.Literals.INT_VALUE__LITERAL, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns IntValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/IntValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ IntValue intValue = (IntValue)object;
+ return getString("_UI_IntValue_type") + " " + intValue.getLiteral();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(IntValue.class))
+ {
+ case ExpressionsPackage.INT_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java
new file mode 100644
index 0000000000..a6f430b606
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java
@@ -0,0 +1,315 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.Invocation;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.Invocation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvocationItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvocationItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS);
+ childrenFeatures.add(ExpressionsPackage.Literals.INVOCATION__NAME);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_Invocation_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Invocation.class))
+ {
+ case ExpressionsPackage.INVOCATION__ARGUMENTS:
+ case ExpressionsPackage.INVOCATION__NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createBooleanValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createByteValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createShortValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createIntValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createLongValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createFloatValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createDoubleValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createCharValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createStringValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createListValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createMemberInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createThis()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createContainedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createLinkedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createBooleanValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createByteValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createShortValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createIntValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createLongValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createFloatValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createDoubleValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createCharValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createStringValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createListValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createMemberInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createThis()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createContainedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createLinkedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection)
+ {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == ExpressionsPackage.Literals.INVOCATION__ARGUMENTS
+ || childFeature == ExpressionsPackage.Literals.INVOCATION__NAME;
+
+ if (qualify)
+ {
+ return getString("_UI_CreateChild_text2", new Object[] { getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LinkedExpressionItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LinkedExpressionItemProvider.java
new file mode 100644
index 0000000000..e08c806402
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LinkedExpressionItemProvider.java
@@ -0,0 +1,169 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.LinkedExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LinkedExpressionItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkedExpressionItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addExpressionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Expression feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExpressionPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkedExpression_expression_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LinkedExpression_expression_feature",
+ "_UI_LinkedExpression_type"), ExpressionsPackage.Literals.LINKED_EXPRESSION__EXPRESSION, true, false, true,
+ null, null, null));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * This returns LinkedExpression.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/LinkedExpression"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_LinkedExpression_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LinkedObjectItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LinkedObjectItemProvider.java
new file mode 100644
index 0000000000..0734bb2393
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LinkedObjectItemProvider.java
@@ -0,0 +1,167 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.LinkedObject} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LinkedObjectItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkedObjectItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addObjectPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_LinkedObject_object_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LinkedObject_object_feature", "_UI_LinkedObject_type"),
+ ExpressionsPackage.Literals.LINKED_OBJECT__OBJECT, true, false, true, null, null, null));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * This returns LinkedObject.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/LinkedObject"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_LinkedObject_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListValueItemProvider.java
new file mode 100644
index 0000000000..dcc9007c8d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListValueItemProvider.java
@@ -0,0 +1,222 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.ListValue;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.ListValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ListValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ListValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ListValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_ListValue_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ListValue.class))
+ {
+ case ExpressionsPackage.LIST_VALUE__ELEMENTS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createBooleanValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createByteValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createShortValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createIntValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createLongValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createFloatValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createDoubleValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createCharValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createStringValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createListValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createMemberInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createThis()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createContainedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createLinkedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LongValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LongValueItemProvider.java
new file mode 100644
index 0000000000..996db92476
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/LongValueItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.LongValue;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.LongValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LongValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LongValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_LongValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LongValue_literal_feature", "_UI_LongValue_type"),
+ ExpressionsPackage.Literals.LONG_VALUE__LITERAL, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns LongValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/LongValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ LongValue longValue = (LongValue)object;
+ return getString("_UI_LongValue_type") + " " + longValue.getLiteral();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LongValue.class))
+ {
+ case ExpressionsPackage.LONG_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java
new file mode 100644
index 0000000000..7ef8c36de7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java
@@ -0,0 +1,327 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.MemberAccess;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.MemberAccess} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MemberAccessItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MemberAccessItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT);
+ childrenFeatures.add(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * This returns MemberAccess.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/MemberAccess"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_MemberAccess_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(MemberAccess.class))
+ {
+ case ExpressionsPackage.MEMBER_ACCESS__OBJECT:
+ case ExpressionsPackage.MEMBER_ACCESS__NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createBooleanValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createByteValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createShortValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createIntValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createLongValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createFloatValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createDoubleValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createCharValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createStringValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createListValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createMemberInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createThis()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createContainedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createLinkedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createBooleanValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createByteValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createShortValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createIntValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createLongValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createFloatValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createDoubleValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createCharValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createStringValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createListValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createMemberInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createThis()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createContainedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createLinkedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection)
+ {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT
+ || childFeature == ExpressionsPackage.Literals.MEMBER_ACCESS__NAME;
+
+ if (qualify)
+ {
+ return getString("_UI_CreateChild_text2", new Object[] { getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java
new file mode 100644
index 0000000000..8306a42c90
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java
@@ -0,0 +1,246 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.MemberInvocation;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.MemberInvocation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MemberInvocationItemProvider extends InvocationItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MemberInvocationItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns MemberInvocation.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/MemberInvocation"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_MemberInvocation_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(MemberInvocation.class))
+ {
+ case ExpressionsPackage.MEMBER_INVOCATION__OBJECT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createBooleanValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createByteValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createShortValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createIntValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createLongValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createFloatValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createDoubleValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createCharValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createStringValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createListValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createMemberInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createThis()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createContainedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createLinkedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection)
+ {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == ExpressionsPackage.Literals.INVOCATION__ARGUMENTS
+ || childFeature == ExpressionsPackage.Literals.INVOCATION__NAME
+ || childFeature == ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT;
+
+ if (qualify)
+ {
+ return getString("_UI_CreateChild_text2", new Object[] { getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ShortValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ShortValueItemProvider.java
new file mode 100644
index 0000000000..b776fdd51d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ShortValueItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.ShortValue;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.ShortValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ShortValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ShortValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ShortValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ShortValue_literal_feature", "_UI_ShortValue_type"),
+ ExpressionsPackage.Literals.SHORT_VALUE__LITERAL, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns ShortValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ShortValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ ShortValue shortValue = (ShortValue)object;
+ return getString("_UI_ShortValue_type") + " " + shortValue.getLiteral();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ShortValue.class))
+ {
+ case ExpressionsPackage.SHORT_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/StringValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/StringValueItemProvider.java
new file mode 100644
index 0000000000..b6314b4d9a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/StringValueItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.StringValue;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.StringValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StringValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLiteralPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_StringValue_literal_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StringValue_literal_feature", "_UI_StringValue_type"),
+ ExpressionsPackage.Literals.STRING_VALUE__LITERAL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns StringValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/StringValue"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String label = ((StringValue)object).getLiteral();
+ return label == null || label.length() == 0 ? getString("_UI_StringValue_type") : getString("_UI_StringValue_type")
+ + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StringValue.class))
+ {
+ case ExpressionsPackage.STRING_VALUE__LITERAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ThisItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ThisItemProvider.java
new file mode 100644
index 0000000000..d5725f0633
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ThisItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.This} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ThisItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ThisItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * This returns This.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/This"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_This_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ValueItemProvider.java
new file mode 100644
index 0000000000..5bd0bec3ff
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ValueItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.Value} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_Value_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/.classpath b/plugins/org.eclipse.emf.cdo.expressions.editor/.classpath
new file mode 100644
index 0000000000..304e86186a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <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="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/.project b/plugins/org.eclipse.emf.cdo.expressions.editor/.project
new file mode 100644
index 0000000000..8700cd11d1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.cdo.expressions.editor</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.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.emf.cdo.releng.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b9743bf086
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/.project=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..303d2d75e1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,412 @@
+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.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+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.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=warning
+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=warning
+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=warning
+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.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.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=warning
+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.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+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.unusedImport=warning
+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.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=120
+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.expressions.editor/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000000..556ed07a3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.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.expressions.editor/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..3fc140fcdc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.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-2013 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=true
+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.expressions.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..864e30fe5d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.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.expressions.editor/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000000..b050639a54
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.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.expressions.editor/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000000..2f50f36c0c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.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${task.url}
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000000..0c17d59e45
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.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.expressions.editor/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.expressions.editor/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..fe01bb701d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/.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.expressions.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.expressions.editor/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..f175fe6b74
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.cdo.expressions.editor;singleton:=true
+Bundle-Version: 4.3.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.emf.cdo.expressions.presentation.ExpressionsEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.emf.cdo.expressions.presentation;version="4.3.0";x-internal:=true
+Require-Bundle: org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)";visibility:=reexport,
+ org.eclipse.ui.ide;bundle-version="[3.5.0,4.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.edit.ui;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.expressions.edit;bundle-version="[4.3.0,5.0.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/about.html b/plugins/org.eclipse.emf.cdo.expressions.editor/about.html
new file mode 100644
index 0000000000..d35d5aed64
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/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.expressions.editor/build.properties b/plugins/org.eclipse.emf.cdo.expressions.editor/build.properties
new file mode 100644
index 0000000000..9d0c07221a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/build.properties
@@ -0,0 +1,12 @@
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ copyright.txt
+output.. = bin
+jars.compile.order = .
+source.. = src/
+src.includes = copyright.txt,\
+ about.html
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/copyright.txt b/plugins/org.eclipse.emf.cdo.expressions.editor/copyright.txt
new file mode 100644
index 0000000000..1c77978050
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2004-2013 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
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/obj16/EcoreModelFile.gif b/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/obj16/EcoreModelFile.gif
new file mode 100644
index 0000000000..feaa4ac36d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/obj16/EcoreModelFile.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/obj16/ExpressionsModelFile.gif b/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/obj16/ExpressionsModelFile.gif
new file mode 100644
index 0000000000..8a94410457
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/obj16/ExpressionsModelFile.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/wizban/NewEcore.gif b/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/wizban/NewEcore.gif
new file mode 100644
index 0000000000..a5c66c3970
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/wizban/NewEcore.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/wizban/NewExpressions.gif b/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/wizban/NewExpressions.gif
new file mode 100644
index 0000000000..92c8b75298
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/icons/full/wizban/NewExpressions.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/plugin.properties b/plugins/org.eclipse.emf.cdo.expressions.editor/plugin.properties
new file mode 100644
index 0000000000..e6e0ef0846
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/plugin.properties
@@ -0,0 +1,60 @@
+#
+
+pluginName = Expressions Editor
+providerName = www.example.org
+
+_UI_ExpressionsEditor_menu = &Expressions Editor
+
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+_UI_ExpressionsModelWizard_label = Expressions Model
+_UI_ExpressionsModelWizard_description = Create a new Expressions model
+
+_UI_ExpressionsEditor_label = Expressions Model Editor
+
+_UI_ExpressionsEditorFilenameDefaultBase = My
+_UI_ExpressionsEditorFilenameExtensions = expressions
+
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ''.{0}''
+_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
+
+_UI_ModelObject = &Model Object
+_UI_XMLEncoding = &XML Encoding
+_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
+_UI_Wizard_initial_object_description = Select a model object to create
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?
+
+_UI_EcoreEditor_menu = &Ecore Editor
+ _UI_ParentPage_label = Parent
+_UI_ListPage_label = List
+_UI_TreePage_label = Tree
+_UI_TablePage_label = Table
+_UI_TreeWithColumnsPage_label = Tree with Columns
+_UI_ObjectColumn_label = Object
+_UI_SelfColumn_label = Self
+ _UI_EcoreModelWizard_label = Ecore Model
+_UI_EcoreModelWizard_description = Create a new Ecore model
+ _UI_EcoreEditor_label = Ecore Model Editor
+ _UI_EcoreEditorFilenameDefaultBase = My
+_UI_EcoreEditorFilenameExtensions = ecore
+
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/plugin.xml b/plugins/org.eclipse.emf.cdo.expressions.editor/plugin.xml
new file mode 100644
index 0000000000..1e5782f512
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/plugin.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <!-- @generated expressions -->
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.emf.cdo.expressions.presentation.ExpressionsModelWizardID"
+ name="%_UI_ExpressionsModelWizard_label"
+ class="org.eclipse.emf.cdo.expressions.presentation.ExpressionsModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/ExpressionsModelFile.gif">
+ <description>%_UI_ExpressionsModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <!-- @generated expressions -->
+ <editor
+ id="org.eclipse.emf.cdo.expressions.presentation.ExpressionsEditorID"
+ name="%_UI_ExpressionsEditor_label"
+ icon="icons/full/obj16/ExpressionsModelFile.gif"
+ extensions="expressions"
+ class="org.eclipse.emf.cdo.expressions.presentation.ExpressionsEditor"
+ contributorClass="org.eclipse.emf.cdo.expressions.presentation.ExpressionsActionBarContributor">
+ </editor>
+ </extension>
+
+null
+</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsActionBarContributor.java b/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsActionBarContributor.java
new file mode 100644
index 0000000000..8b0aec4d19
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsActionBarContributor.java
@@ -0,0 +1,467 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.presentation;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * This is the action bar contributor for the Expressions model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpressionsActionBarContributor extends EditingDomainActionBarContributor implements
+ ISelectionChangedListener
+{
+ /**
+ * This keeps track of the active editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction showPropertiesViewAction = new Action(
+ ExpressionsEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item"))
+ {
+ @Override
+ public void run()
+ {
+ try
+ {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ }
+ catch (PartInitException exception)
+ {
+ ExpressionsEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction refreshViewerAction = new Action(
+ ExpressionsEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item"))
+ {
+ @Override
+ public boolean isEnabled()
+ {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run()
+ {
+ if (activeEditorPart instanceof IViewerProvider)
+ {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if (viewer != null)
+ {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionsActionBarContributor()
+ {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager)
+ {
+ toolBarManager.add(new Separator("expressions-settings"));
+ toolBarManager.add(new Separator("expressions-additions"));
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor additions,
+ * as well as the sub-menus for object creation items.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToMenu(IMenuManager menuManager)
+ {
+ super.contributeToMenu(menuManager);
+
+ IMenuManager submenuManager = new MenuManager(
+ ExpressionsEditorPlugin.INSTANCE.getString("_UI_ExpressionsEditor_menu"),
+ "org.eclipse.emf.cdo.expressionsMenuID");
+ menuManager.insertAfter("additions", submenuManager);
+ submenuManager.add(new Separator("settings"));
+ submenuManager.add(new Separator("actions"));
+ submenuManager.add(new Separator("additions"));
+ submenuManager.add(new Separator("additions-end"));
+
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(ExpressionsEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(
+ ExpressionsEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener(new IMenuListener()
+ {
+ public void menuAboutToShow(IMenuManager menuManager)
+ {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part)
+ {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null)
+ {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null)
+ {
+ selectionProvider = null;
+ }
+ else
+ {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null)
+ {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event)
+ {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null)
+ {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null)
+ {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1)
+ {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null)
+ {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null)
+ {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection)
+ {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null)
+ {
+ for (Object descriptor : descriptors)
+ {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection)
+ {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null)
+ {
+ for (Object descriptor : descriptors)
+ {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions,
+ String contributionID)
+ {
+ if (actions != null)
+ {
+ for (IAction action : actions)
+ {
+ if (contributionID != null)
+ {
+ manager.insertBefore(contributionID, action);
+ }
+ else
+ {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions)
+ {
+ if (actions != null)
+ {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++)
+ {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem)
+ {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem)
+ {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action))
+ {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager)
+ {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(ExpressionsEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(ExpressionsEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager)
+ {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete()
+ {
+ return true;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsEditor.java b/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsEditor.java
new file mode 100644
index 0000000000..7136d056af
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsEditor.java
@@ -0,0 +1,1688 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.presentation;
+
+import org.eclipse.emf.cdo.expressions.provider.ExpressionsItemProviderAdapterFactory;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.util.LocalSelectionTransfer;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.ide.IGotoMarker;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * This is an example of a Expressions model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpressionsEditor extends MultiPageEditorPart implements IEditingDomainProvider, ISelectionProvider,
+ IMenuListener, IViewerProvider, IGotoMarker
+{
+ /**
+ * This keeps track of the editing domain that is used to track all changes to the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge...
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+ /**
+ * This is the viewer that shadows the selection in the content outline.
+ * The parent relation must be correctly defined for this to work.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers presented
+ * in Eclipse's Problems View.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IPartListener partListener = new IPartListener()
+ {
+ public void partActivated(IWorkbenchPart p)
+ {
+ if (p instanceof ContentOutline)
+ {
+ if (((ContentOutline)p).getCurrentPage() == contentOutlinePage)
+ {
+ getActionBarContributor().setActiveEditor(ExpressionsEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet)
+ {
+ if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage()))
+ {
+ getActionBarContributor().setActiveEditor(ExpressionsEditor.this);
+ handleActivate();
+ }
+ }
+ else if (p == ExpressionsEditor.this)
+ {
+ handleActivate();
+ }
+ }
+
+ public void partBroughtToTop(IWorkbenchPart p)
+ {
+ // Ignore.
+ }
+
+ public void partClosed(IWorkbenchPart p)
+ {
+ // Ignore.
+ }
+
+ public void partDeactivated(IWorkbenchPart p)
+ {
+ // Ignore.
+ }
+
+ public void partOpened(IWorkbenchPart p)
+ {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded loaded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter = new EContentAdapter()
+ {
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ if (notification.getNotifier() instanceof Resource)
+ {
+ switch (notification.getFeatureID(Resource.class))
+ {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS:
+ {
+ Resource resource = (Resource)notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+ if (diagnostic.getSeverity() != Diagnostic.OK)
+ {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ }
+ else
+ {
+ resourceToDiagnosticMap.remove(resource);
+ }
+
+ if (updateProblemIndication)
+ {
+ getSite().getShell().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ }
+ else
+ {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target)
+ {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target)
+ {
+ basicUnsetTarget(target);
+ resourceToDiagnosticMap.remove(target);
+ if (updateProblemIndication)
+ {
+ getSite().getShell().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ updateProblemIndication();
+ }
+ });
+ }
+ }
+ };
+
+ /**
+ * This listens for workspace changes.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener()
+ {
+ public void resourceChanged(IResourceChangeEvent event)
+ {
+ IResourceDelta delta = event.getDelta();
+ try
+ {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor
+ {
+ protected ResourceSet resourceSet = editingDomain.getResourceSet();
+
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ public boolean visit(IResourceDelta delta)
+ {
+ if (delta.getResource().getType() == IResource.FILE)
+ {
+ if (delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.CHANGED
+ && delta.getFlags() != IResourceDelta.MARKERS)
+ {
+ Resource resource = resourceSet.getResource(
+ URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+ if (resource != null)
+ {
+ if (delta.getKind() == IResourceDelta.REMOVED)
+ {
+ removedResources.add(resource);
+ }
+ else if (!savedResources.remove(resource))
+ {
+ changedResources.add(resource);
+ }
+ }
+ }
+ return false;
+ }
+
+ return true;
+ }
+
+ public Collection<Resource> getChangedResources()
+ {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources()
+ {
+ return removedResources;
+ }
+ }
+
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty())
+ {
+ getSite().getShell().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ removedResources.addAll(visitor.getRemovedResources());
+ if (!isDirty())
+ {
+ getSite().getPage().closeEditor(ExpressionsEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty())
+ {
+ getSite().getShell().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == ExpressionsEditor.this)
+ {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception)
+ {
+ ExpressionsEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleActivate()
+ {
+ // Recompute the read only state.
+ //
+ if (editingDomain.getResourceToReadOnlyMap() != null)
+ {
+ editingDomain.getResourceToReadOnlyMap().clear();
+
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+
+ if (!removedResources.isEmpty())
+ {
+ if (handleDirtyConflict())
+ {
+ getSite().getPage().closeEditor(ExpressionsEditor.this, false);
+ }
+ else
+ {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+ else if (!changedResources.isEmpty())
+ {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleChangedResources()
+ {
+ if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict()))
+ {
+ if (isDirty())
+ {
+ changedResources.addAll(editingDomain.getResourceSet().getResources());
+ }
+ editingDomain.getCommandStack().flush();
+
+ updateProblemIndication = false;
+ for (Resource resource : changedResources)
+ {
+ if (resource.isLoaded())
+ {
+ resource.unload();
+ try
+ {
+ resource.load(Collections.EMPTY_MAP);
+ }
+ catch (IOException exception)
+ {
+ if (!resourceToDiagnosticMap.containsKey(resource))
+ {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+
+ if (AdapterFactoryEditingDomain.isStale(editorSelection))
+ {
+ setSelection(StructuredSelection.EMPTY);
+ }
+
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the specified diagnostic.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void updateProblemIndication()
+ {
+ if (updateProblemIndication)
+ {
+ BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK, "org.eclipse.emf.cdo.expressions.editor", 0,
+ null, new Object[] { editingDomain.getResourceSet() });
+ for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())
+ {
+ if (childDiagnostic.getSeverity() != Diagnostic.OK)
+ {
+ diagnostic.add(childDiagnostic);
+ }
+ }
+
+ int lastEditorPage = getPageCount() - 1;
+ if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart)
+ {
+ ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+ if (diagnostic.getSeverity() != Diagnostic.OK)
+ {
+ setActivePage(lastEditorPage);
+ }
+ }
+ else if (diagnostic.getSeverity() != Diagnostic.OK)
+ {
+ ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+ problemEditorPart.setDiagnostic(diagnostic);
+ problemEditorPart.setMarkerHelper(markerHelper);
+ try
+ {
+ addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ }
+ catch (PartInitException exception)
+ {
+ ExpressionsEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet()))
+ {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK)
+ {
+ try
+ {
+ markerHelper.createMarkers(diagnostic);
+ }
+ catch (CoreException exception)
+ {
+ ExpressionsEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Shows a dialog that asks if conflicting changes should be discarded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean handleDirtyConflict()
+ {
+ return MessageDialog.openQuestion(getSite().getShell(), getString("_UI_FileConflict_label"),
+ getString("_WARN_FileConflict"));
+ }
+
+ /**
+ * This creates a model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionsEditor()
+ {
+ super();
+ initializeEditingDomain();
+ }
+
+ /**
+ * This sets up the editing domain for the model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void initializeEditingDomain()
+ {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ExpressionsItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener(new CommandStackListener()
+ {
+ public void commandStackChanged(final EventObject event)
+ {
+ getContainer().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null)
+ {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext();)
+ {
+ PropertySheetPage propertySheetPage = i.next();
+ if (propertySheetPage.getControl().isDisposed())
+ {
+ i.remove();
+ }
+ else
+ {
+ propertySheetPage.refresh();
+ }
+ }
+ }
+ });
+ }
+ });
+
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+ }
+
+ /**
+ * This is here for the listener to be able to call it.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void firePropertyChange(int action)
+ {
+ super.firePropertyChange(action);
+ }
+
+ /**
+ * This sets the selection into whichever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelectionToViewer(Collection<?> collection)
+ {
+ final Collection<?> theSelection = collection;
+ // Make sure it's okay.
+ //
+ if (theSelection != null && !theSelection.isEmpty())
+ {
+ Runnable runnable = new Runnable()
+ {
+ public void run()
+ {
+ // Try to select the items in the current content viewer of the editor.
+ //
+ if (currentViewer != null)
+ {
+ currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+ }
+ }
+ };
+ getSite().getShell().getDisplay().asyncExec(runnable);
+ }
+ }
+
+ /**
+ * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+ * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+ * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomain getEditingDomain()
+ {
+ return editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider
+ {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object[] getElements(Object object)
+ {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object[] getChildren(Object object)
+ {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getParent(Object object)
+ {
+ return null;
+ }
+ }
+
+ /**
+ * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+ * is the current one.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewer(Viewer viewer)
+ {
+ // If it is changing...
+ //
+ if (currentViewer != viewer)
+ {
+ if (selectionChangedListener == null)
+ {
+ // Create the listener on demand.
+ //
+ selectionChangedListener = new ISelectionChangedListener()
+ {
+ // This just notifies those things that are affected by the section.
+ //
+ public void selectionChanged(SelectionChangedEvent selectionChangedEvent)
+ {
+ setSelection(selectionChangedEvent.getSelection());
+ }
+ };
+ }
+
+ // Stop listening to the old one.
+ //
+ if (currentViewer != null)
+ {
+ currentViewer.removeSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Start listening to the new one.
+ //
+ if (viewer != null)
+ {
+ viewer.addSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Remember it.
+ //
+ currentViewer = viewer;
+
+ // Set the editors selection based on the current viewer's selection.
+ //
+ setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+ }
+ }
+
+ /**
+ * This returns the viewer as required by the {@link IViewerProvider} interface.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Viewer getViewer()
+ {
+ return currentViewer;
+ }
+
+ /**
+ * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createContextMenuFor(StructuredViewer viewer)
+ {
+ MenuManager contextMenu = new MenuManager("#PopUp");
+ contextMenu.add(new Separator("additions"));
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu = contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(),
+ FileTransfer.getInstance() };
+ viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+ viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+ }
+
+ /**
+ * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createModel()
+ {
+ URI resourceURI = EditUIUtil.getURI(getEditorInput());
+ Exception exception = null;
+ Resource resource = null;
+ try
+ {
+ // Load the resource through the editing domain.
+ //
+ resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+ }
+ catch (Exception e)
+ {
+ exception = e;
+ resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+ }
+
+ Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+ if (diagnostic.getSeverity() != Diagnostic.OK)
+ {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+ }
+
+ /**
+ * Returns a diagnostic describing the errors and warnings listed in the resource
+ * and the specified exception (if any).
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Diagnostic analyzeResourceProblems(Resource resource, Exception exception)
+ {
+ if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty())
+ {
+ BasicDiagnostic basicDiagnostic = new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.emf.cdo.expressions.editor",
+ 0, getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object[] { exception == null ? (Object)resource : exception });
+ basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+ return basicDiagnostic;
+ }
+ else if (exception != null)
+ {
+ return new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.emf.cdo.expressions.editor", 0, getString(
+ "_UI_CreateModelError_message", resource.getURI()), new Object[] { exception });
+ }
+ else
+ {
+ return Diagnostic.OK_INSTANCE;
+ }
+ }
+
+ /**
+ * This is the method used by the framework to install your own controls.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void createPages()
+ {
+ // Creates the model from the editor input
+ //
+ createModel();
+
+ // Only creates the other pages if there is something that can be edited
+ //
+ if (!getEditingDomain().getResourceSet().getResources().isEmpty())
+ {
+ // Create a page for the selection tree view.
+ //
+ Tree tree = new Tree(getContainer(), SWT.MULTI);
+ selectionViewer = new TreeViewer(tree);
+ setCurrentViewer(selectionViewer);
+
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider.FontAndColorProvider(adapterFactory,
+ selectionViewer));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(tree);
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+
+ getSite().getShell().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ setActivePage(0);
+ }
+ });
+ }
+
+ // Ensures that this editor will only display the page's tab
+ // area if there are more than one page
+ //
+ getContainer().addControlListener(new ControlAdapter()
+ {
+ boolean guard = false;
+
+ @Override
+ public void controlResized(ControlEvent event)
+ {
+ if (!guard)
+ {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+
+ getSite().getShell().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ updateProblemIndication();
+ }
+ });
+ }
+
+ /**
+ * If there is just one page in the multi-page editor part,
+ * this hides the single tab at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void hideTabs()
+ {
+ if (getPageCount() <= 1)
+ {
+ setPageText(0, "");
+ if (getContainer() instanceof CTabFolder)
+ {
+ ((CTabFolder)getContainer()).setTabHeight(1);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y + 6);
+ }
+ }
+ }
+
+ /**
+ * If there is more than one page in the multi-page editor part,
+ * this shows the tabs at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void showTabs()
+ {
+ if (getPageCount() > 1)
+ {
+ setPageText(0, getString("_UI_SelectionPage_label"));
+ if (getContainer() instanceof CTabFolder)
+ {
+ ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y - 6);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void pageChange(int pageIndex)
+ {
+ super.pageChange(pageIndex);
+
+ if (contentOutlinePage != null)
+ {
+ handleContentOutlineSelection(contentOutlinePage.getSelection());
+ }
+ }
+
+ /**
+ * This is how the framework determines which interfaces we implement.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Object getAdapter(Class key)
+ {
+ if (key.equals(IContentOutlinePage.class))
+ {
+ return showOutlineView() ? getContentOutlinePage() : null;
+ }
+ else if (key.equals(IPropertySheetPage.class))
+ {
+ return getPropertySheetPage();
+ }
+ else if (key.equals(IGotoMarker.class))
+ {
+ return this;
+ }
+ else
+ {
+ return super.getAdapter(key);
+ }
+ }
+
+ /**
+ * This accesses a cached version of the content outliner.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IContentOutlinePage getContentOutlinePage()
+ {
+ if (contentOutlinePage == null)
+ {
+ // The content outline is just a tree.
+ //
+ class MyContentOutlinePage extends ContentOutlinePage
+ {
+ @Override
+ public void createControl(Composite parent)
+ {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider.FontAndColorProvider(adapterFactory,
+ contentOutlineViewer));
+ contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+ // Make sure our popups work.
+ //
+ createContextMenuFor(contentOutlineViewer);
+
+ if (!editingDomain.getResourceSet().getResources().isEmpty())
+ {
+ // Select the root object in the view.
+ //
+ contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources()
+ .get(0)), true);
+ }
+ }
+
+ @Override
+ public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager,
+ IStatusLineManager statusLineManager)
+ {
+ super.makeContributions(menuManager, toolBarManager, statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars)
+ {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ }
+
+ contentOutlinePage = new MyContentOutlinePage();
+
+ // Listen to selection so that we can handle it is a special way.
+ //
+ contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener()
+ {
+ // This ensures that we handle selections correctly.
+ //
+ public void selectionChanged(SelectionChangedEvent event)
+ {
+ handleContentOutlineSelection(event.getSelection());
+ }
+ });
+ }
+
+ return contentOutlinePage;
+ }
+
+ /**
+ * This accesses a cached version of the property sheet.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IPropertySheetPage getPropertySheetPage()
+ {
+ PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(editingDomain)
+ {
+ @Override
+ public void setSelectionToViewer(List<?> selection)
+ {
+ ExpressionsEditor.this.setSelectionToViewer(selection);
+ ExpressionsEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars)
+ {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ propertySheetPages.add(propertySheetPage);
+
+ return propertySheetPage;
+ }
+
+ /**
+ * This deals with how we want selection in the outliner to affect the other views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void handleContentOutlineSelection(ISelection selection)
+ {
+ if (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
+ {
+ Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+ if (selectedElements.hasNext())
+ {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext())
+ {
+ selectionList.add(selectedElements.next());
+ }
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
+ }
+ }
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply tests the command stack.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDirty()
+ {
+ return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSave(IProgressMonitor progressMonitor)
+ {
+ // Save only resources that have actually changed.
+ //
+ final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+ // Do the work within an operation because this is a long running activity that modifies the workbench.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation()
+ {
+ // This is the method that gets invoked when the operation runs.
+ //
+ @Override
+ public void execute(IProgressMonitor monitor)
+ {
+ // Save the resources to the file system.
+ //
+ boolean first = true;
+ for (Resource resource : editingDomain.getResourceSet().getResources())
+ {
+ if ((first || !resource.getContents().isEmpty() || isPersisted(resource))
+ && !editingDomain.isReadOnly(resource))
+ {
+ try
+ {
+ long timeStamp = resource.getTimeStamp();
+ resource.save(saveOptions);
+ if (resource.getTimeStamp() != timeStamp)
+ {
+ savedResources.add(resource);
+ }
+ }
+ catch (Exception exception)
+ {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ first = false;
+ }
+ }
+ }
+ };
+
+ updateProblemIndication = false;
+ try
+ {
+ // This runs the options, and shows progress.
+ //
+ new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+ // Refresh the necessary state.
+ //
+ ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ }
+ catch (Exception exception)
+ {
+ // Something went wrong that shouldn't.
+ //
+ ExpressionsEditorPlugin.INSTANCE.log(exception);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+
+ /**
+ * This returns whether something has been persisted to the URI of the specified resource.
+ * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean isPersisted(Resource resource)
+ {
+ boolean result = false;
+ try
+ {
+ InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+ if (stream != null)
+ {
+ result = true;
+ stream.close();
+ }
+ }
+ catch (IOException e)
+ {
+ // Ignore
+ }
+ return result;
+ }
+
+ /**
+ * This always returns true because it is not currently supported.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSaveAsAllowed()
+ {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSaveAs()
+ {
+ SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+ saveAsDialog.open();
+ IPath path = saveAsDialog.getResult();
+ if (path != null)
+ {
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+ if (file != null)
+ {
+ doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void doSaveAs(URI uri, IEditorInput editorInput)
+ {
+ (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor = getActionBars().getStatusLineManager() != null ? getActionBars()
+ .getStatusLineManager().getProgressMonitor() : new NullProgressMonitor();
+ doSave(progressMonitor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void gotoMarker(IMarker marker)
+ {
+ List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+ if (!targetObjects.isEmpty())
+ {
+ setSelectionToViewer(targetObjects);
+ }
+ }
+
+ /**
+ * This is called during startup.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput editorInput)
+ {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setFocus()
+ {
+ getControl(getActivePage()).setFocus();
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addSelectionChangedListener(ISelectionChangedListener listener)
+ {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeSelectionChangedListener(ISelectionChangedListener listener)
+ {
+ selectionChangedListeners.remove(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISelection getSelection()
+ {
+ return editorSelection;
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+ * Calling this result will notify the listeners.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelection(ISelection selection)
+ {
+ editorSelection = selection;
+
+ for (ISelectionChangedListener listener : selectionChangedListeners)
+ {
+ listener.selectionChanged(new SelectionChangedEvent(this, selection));
+ }
+ setStatusLineManager(selection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatusLineManager(ISelection selection)
+ {
+ IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ? contentOutlineStatusLineManager
+ : getActionBars().getStatusLineManager();
+
+ if (statusLineManager != null)
+ {
+ if (selection instanceof IStructuredSelection)
+ {
+ Collection<?> collection = ((IStructuredSelection)selection).toList();
+ switch (collection.size())
+ {
+ case 0:
+ {
+ statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+ break;
+ }
+ case 1:
+ {
+ String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+ statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+ break;
+ }
+ default:
+ {
+ statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+ break;
+ }
+ }
+ }
+ else
+ {
+ statusLineManager.setMessage("");
+ }
+ }
+ }
+
+ /**
+ * This looks up a string in the plugin's plugin.properties file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key)
+ {
+ return ExpressionsEditorPlugin.INSTANCE.getString(key);
+ }
+
+ /**
+ * This looks up a string in plugin.properties, making a substitution.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key, Object s1)
+ {
+ return ExpressionsEditorPlugin.INSTANCE.getString(key, new Object[] { s1 });
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager)
+ {
+ ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomainActionBarContributor getActionBarContributor()
+ {
+ return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IActionBars getActionBars()
+ {
+ return getActionBarContributor().getActionBars();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdapterFactory getAdapterFactory()
+ {
+ return adapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose()
+ {
+ updateProblemIndication = false;
+
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+ getSite().getPage().removePartListener(partListener);
+
+ adapterFactory.dispose();
+
+ if (getActionBarContributor().getActiveEditor() == this)
+ {
+ getActionBarContributor().setActiveEditor(null);
+ }
+
+ for (PropertySheetPage propertySheetPage : propertySheetPages)
+ {
+ propertySheetPage.dispose();
+ }
+
+ if (contentOutlinePage != null)
+ {
+ contentOutlinePage.dispose();
+ }
+
+ super.dispose();
+ }
+
+ /**
+ * Returns whether the outline view should be presented to the user.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean showOutlineView()
+ {
+ return false;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsEditorPlugin.java b/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsEditorPlugin.java
new file mode 100644
index 0000000000..1c59c4f36a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsEditorPlugin.java
@@ -0,0 +1,94 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.presentation;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+/**
+ * This is the central singleton for the Expressions editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ExpressionsEditorPlugin extends EMFPlugin
+{
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ExpressionsEditorPlugin INSTANCE = new ExpressionsEditorPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionsEditorPlugin()
+ {
+ super(new ResourceLocator[] { EcoreEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator()
+ {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin()
+ {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipseUIPlugin
+ {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation()
+ {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsModelWizard.java b/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsModelWizard.java
new file mode 100644
index 0000000000..cc36d7d7a7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.editor/src/org/eclipse/emf/cdo/expressions/presentation/ExpressionsModelWizard.java
@@ -0,0 +1,665 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.presentation;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.provider.ExpressionsEditPlugin;
+
+import org.eclipse.emf.common.CommonPlugin;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpressionsModelWizard extends Wizard implements INewWizard
+{
+ /**
+ * The supported extensions for created files.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<String> FILE_EXTENSIONS = Collections
+ .unmodifiableList(Arrays.asList(ExpressionsEditorPlugin.INSTANCE.getString(
+ "_UI_ExpressionsEditorFilenameExtensions").split("\\s*,\\s*")));
+
+ /**
+ * A formatted list of supported file extensions, suitable for display.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS = ExpressionsEditorPlugin.INSTANCE.getString(
+ "_UI_ExpressionsEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionsPackage expressionsPackage = ExpressionsPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionsFactory expressionsFactory = expressionsPackage.getExpressionsFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionsModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionsModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<String> initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection)
+ {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(ExpressionsEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ExpressionsEditorPlugin.INSTANCE
+ .getImage("full/wizban/NewExpressions")));
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getInitialObjectNames()
+ {
+ if (initialObjectNames == null)
+ {
+ initialObjectNames = new ArrayList<String>();
+ for (EClassifier eClassifier : expressionsPackage.getEClassifiers())
+ {
+ if (eClassifier instanceof EClass)
+ {
+ EClass eClass = (EClass)eClassifier;
+ if (!eClass.isAbstract())
+ {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObject createInitialModel()
+ {
+ EClass eClass = (EClass)expressionsPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = expressionsFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean performFinish()
+ {
+ try
+ {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation()
+ {
+ @Override
+ protected void execute(IProgressMonitor progressMonitor)
+ {
+ try
+ {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if (rootObject != null)
+ {
+ resource.getContents().add(rootObject);
+ }
+
+ // Save the contents of the resource to the file system.
+ //
+ Map<Object, Object> options = new HashMap<Object, Object>();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ }
+ catch (Exception exception)
+ {
+ ExpressionsEditorPlugin.INSTANCE.log(exception);
+ }
+ finally
+ {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget)
+ {
+ final ISelection targetSelection = new StructuredSelection(modelFile);
+ getShell().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try
+ {
+ page.openEditor(new FileEditorInput(modelFile),
+ workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
+ }
+ catch (PartInitException exception)
+ {
+ MessageDialog.openError(workbenchWindow.getShell(),
+ ExpressionsEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception)
+ {
+ ExpressionsEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ExpressionsModelWizardNewFileCreationPage extends WizardNewFileCreationPage
+ {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionsModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection)
+ {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validatePage()
+ {
+ if (super.validatePage())
+ {
+ String extension = new Path(getFileName()).getFileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension))
+ {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+ setErrorMessage(ExpressionsEditorPlugin.INSTANCE.getString(key, new Object[] { FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile()
+ {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ExpressionsModelWizardInitialObjectCreationPage extends WizardPage
+ {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ protected List<String> encodings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionsModelWizardInitialObjectCreationPage(String pageId)
+ {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createControl(Composite parent)
+ {
+ Composite composite = new Composite(parent, SWT.NONE);
+ {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(ExpressionsEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+
+ for (String objectName : getInitialObjectNames())
+ {
+ initialObjectField.add(getLabel(objectName));
+ }
+
+ if (initialObjectField.getItemCount() == 1)
+ {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(ExpressionsEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+
+ for (String encoding : getEncodings())
+ {
+ encodingField.add(encoding);
+ }
+
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifyListener validator = new ModifyListener()
+ {
+ public void modifyText(ModifyEvent e)
+ {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validatePage()
+ {
+ return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisible(boolean visible)
+ {
+ super.setVisible(visible);
+ if (visible)
+ {
+ if (initialObjectField.getItemCount() == 1)
+ {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ }
+ else
+ {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInitialObjectName()
+ {
+ String label = initialObjectField.getText();
+
+ for (String name : getInitialObjectNames())
+ {
+ if (getLabel(name).equals(label))
+ {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEncoding()
+ {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String getLabel(String typeName)
+ {
+ try
+ {
+ return ExpressionsEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch (MissingResourceException mre)
+ {
+ ExpressionsEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getEncodings()
+ {
+ if (encodings == null)
+ {
+ encodings = new ArrayList<String>();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(
+ ExpressionsEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens();)
+ {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addPages()
+ {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new ExpressionsModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(ExpressionsEditorPlugin.INSTANCE.getString("_UI_ExpressionsModelWizard_label"));
+ newFileCreationPage.setDescription(ExpressionsEditorPlugin.INSTANCE
+ .getString("_UI_ExpressionsModelWizard_description"));
+ newFileCreationPage.setFileName(ExpressionsEditorPlugin.INSTANCE
+ .getString("_UI_ExpressionsEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+ addPage(newFileCreationPage);
+
+ // Try and get the resource selection to determine a current directory for the file dialog.
+ //
+ if (selection != null && !selection.isEmpty())
+ {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if (selectedElement instanceof IResource)
+ {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource)selectedElement;
+ if (selectedResource.getType() == IResource.FILE)
+ {
+ selectedResource = selectedResource.getParent();
+ }
+
+ // This gives us a directory...
+ //
+ if (selectedResource instanceof IFolder || selectedResource instanceof IProject)
+ {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = ExpressionsEditorPlugin.INSTANCE
+ .getString("_UI_ExpressionsEditorFilenameDefaultBase");
+ String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+ String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+ for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i)
+ {
+ modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new ExpressionsModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(ExpressionsEditorPlugin.INSTANCE.getString("_UI_ExpressionsModelWizard_label"));
+ initialObjectCreationPage.setDescription(ExpressionsEditorPlugin.INSTANCE
+ .getString("_UI_Wizard_initial_object_description"));
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile()
+ {
+ return newFileCreationPage.getModelFile();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions/.classpath b/plugins/org.eclipse.emf.cdo.expressions/.classpath
new file mode 100644
index 0000000000..64c5e31b7a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.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.expressions/.options b/plugins/org.eclipse.emf.cdo.expressions/.options
new file mode 100644
index 0000000000..81533afdcf
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.options
@@ -0,0 +1,3 @@
+# Debugging and tracing options
+
+org.eclipse.emf.cdo.expressions/debug = true
diff --git a/plugins/org.eclipse.emf.cdo.expressions/.project b/plugins/org.eclipse.emf.cdo.expressions/.project
new file mode 100644
index 0000000000..96cbf45a22
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.cdo.expressions</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.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.emf.cdo.releng.release/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.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..7a54f892b1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding/.project=UTF-8
+encoding//model/expressions.ecore=UTF-8
+encoding//model/expressions.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..303d2d75e1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,412 @@
+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.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+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.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=warning
+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=warning
+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=warning
+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.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.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=warning
+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.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+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.unusedImport=warning
+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.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=120
+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.expressions/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000000..556ed07a3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.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.expressions/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..3fc140fcdc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.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-2013 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=true
+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.expressions/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..864e30fe5d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.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.expressions/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000000..b050639a54
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.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.expressions/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000000..2f50f36c0c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.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${task.url}
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000000..0c17d59e45
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.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.expressions/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.expressions/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..fe01bb701d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/.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.expressions/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.expressions/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..de78b1b764
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.cdo.expressions;singleton:=true
+Bundle-Version: 4.3.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.emf.cdo.expressions;version="4.3.0",
+ org.eclipse.emf.cdo.expressions.impl;version="4.3.0",
+ org.eclipse.emf.cdo.expressions.util;version="4.3.0"
+Require-Bundle: org.eclipse.emf.cdo;visibility:=reexport;bundle-version="[4.1.0,5.0.0)"
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.expressions/about.html b/plugins/org.eclipse.emf.cdo.expressions/about.html
new file mode 100644
index 0000000000..d35d5aed64
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/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.expressions/build.properties b/plugins/org.eclipse.emf.cdo.expressions/build.properties
new file mode 100644
index 0000000000..a78502a3ab
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/build.properties
@@ -0,0 +1,14 @@
+#
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ copyright.txt,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html,\
+ copyright.txt
diff --git a/plugins/org.eclipse.emf.cdo.expressions/copyright.txt b/plugins/org.eclipse.emf.cdo.expressions/copyright.txt
new file mode 100644
index 0000000000..1c77978050
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2004-2013 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
diff --git a/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore
new file mode 100644
index 0000000000..3fcde90861
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="expressions" nsURI="http://www.eclipse.org/emf/CDO/expressions/4.3.0"
+ nsPrefix="expressions">
+ <eClassifiers xsi:type="ecore:EDataType" name="EvaluationContext" instanceClassName="org.eclipse.emf.cdo.expressions.EvaluationContext"
+ serializable="false"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" interface="true">
+ <eOperations name="evaluate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+ <eParameters name="context" eType="#//EvaluationContext"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Value" abstract="true" eSuperTypes="#//Expression">
+ <eOperations name="getLiteral" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BooleanValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ByteValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EByte"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ShortValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EShort"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IntValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LongValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FloatValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DoubleValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CharValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EChar"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ListValue" eSuperTypes="#//Value">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Invocation" abstract="true" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionInvocation" eSuperTypes="#//Invocation"/>
+ <eClassifiers xsi:type="ecore:EClass" name="MemberInvocation" eSuperTypes="#//Invocation">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MemberAccess" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ContextAccess" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="This" eSuperTypes="#//Expression"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ContainedObject" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="object" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LinkedObject" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="object" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LinkedExpression" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag
new file mode 100644
index 0000000000..cba4671201
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag
@@ -0,0 +1,608 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_n9VikB7BEeOJ3sK94Szb0A" type="EcoreTools" name="expressions" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_ai9gwB7EEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_ai_V8B7EEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_ai_V8R7EEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ai_V8h7EEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ai_9AB7EEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ai_9AR7EEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ai_9Ah7EEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ai_9Ax7EEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ai_9BB7EEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ai_9BR7EEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ai9gwR7EEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//Expression"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ai9gwh7EEeOJ3sK94Szb0A" x="210" y="30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_R17pwB7FEeOJ3sK94Szb0A" type="1004">
+ <children xmi:type="notation:Node" xmi:id="_R2EzsB7FEeOJ3sK94Szb0A" type="4008"/>
+ <children xmi:type="notation:Node" xmi:id="_R2FawB7FEeOJ3sK94Szb0A" type="4009"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_R17pwR7FEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EDataType" href="expressions.ecore#//EvaluationContext"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R17pwh7FEeOJ3sK94Szb0A" x="270" y="818" width="424"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_sGM1kB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_sGOqwB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_sGOqwR7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_sGOqwh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_sGOqwx7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_sGOqxB7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_sGPR0B7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_sGPR0R7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_sGPR0h7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_sGPR0x7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_sGM1kR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//Value"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGM1kh7mEeOJ3sK94Szb0A" x="70" y="170"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_tesSgB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_tetgoB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_teuHsB7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_teuHsR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_teuHsh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_teuHsx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_teuuwB7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_teuuwR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_teuuwh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_teuuwx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_tesSgR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//BooleanValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tesSgh7mEeOJ3sK94Szb0A" x="70" y="250"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_t6kWMB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_t6lkUB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_t6mLYB7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t6mLYR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t6mLYh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t6mLYx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_t6mycB7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t6mycR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t6mych7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t6mycx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_t6kWMR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//ByteValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6kWMh7mEeOJ3sK94Szb0A" x="94" y="315"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uNX9cB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_uNZLkB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_uNZyoB7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_uNZyoR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uNZyoh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uNZyox7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uNaZsB7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_uNaZsR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uNaZsh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uNaZsx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uNX9cR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//ShortValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uNX9ch7mEeOJ3sK94Szb0A" x="86" y="380"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ui3sUB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_ui4TYB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_ui4TYR7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ui4TYh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ui4TYx7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ui4TZB7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ui4TZR7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_ui4TZh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ui4TZx7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ui4TaB7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ui3sUR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//IntValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ui3sUh7mEeOJ3sK94Szb0A" x="97" y="445"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_u7wtcB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_u7yioB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_u7yioR7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u7yioh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u7yiox7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u7yipB7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_u7zJsB7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u7zJsR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u7zJsh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u7zJsx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_u7wtcR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//LongValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u7wtch7mEeOJ3sK94Szb0A" x="89" y="510"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vQaHwB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_vQb88B7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_vQb88R7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vQb88h7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vQb88x7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vQb89B7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vQckAB7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vQckAR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vQckAh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vQckAx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_vQau0B7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//FloatValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vQau0R7mEeOJ3sK94Szb0A" x="89" y="575"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vjusYB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_vjwhkB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_vjwhkR7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vjwhkh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vjwhkx7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vjwhlB7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vjxIoB7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vjxIoR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vjxIoh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vjxIox7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_vjvTcB7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//DoubleValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vjvTcR7mEeOJ3sK94Szb0A" x="76" y="640"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wPPukB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_wPQ8sB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_wPRjwB7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_wPRjwR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wPRjwh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wPRjwx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wPSK0B7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_wPSK0R7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wPSK0h7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wPSK0x7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_wPPukR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//CharValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wPPukh7mEeOJ3sK94Szb0A" x="91" y="705"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wnpngB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_wnq1oB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_wnrcsB7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_wnrcsR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wnrcsh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wnrcsx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wnsDwB7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_wnsDwR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wnsDwh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wnsDwx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_wnpngR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//StringValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wnpngh7mEeOJ3sK94Szb0A" x="84" y="770"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_-4IDgB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_-4J4sB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_-4J4sR7mEeOJ3sK94Szb0A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-4J4sh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-4J4sx7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-4J4tB7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_-4KfwB7mEeOJ3sK94Szb0A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-4KfwR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-4Kfwh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-4Kfwx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_-4IDgR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//ContextAccess"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4IqkB7mEeOJ3sK94Szb0A" x="305" y="645"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__Y4nMB7mEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="__Y51UB7mEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="__Y51UR7mEeOJ3sK94Szb0A" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__Y51Uh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__Y51Ux7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__Y51VB7mEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__Y6cYB7mEeOJ3sK94Szb0A" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__Y6cYR7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__Y6cYh7mEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__Y6cYx7mEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__Y4nMR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//This"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__Y4nMh7mEeOJ3sK94Szb0A" x="305" y="710"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_A1E4YB7nEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_A1GGgB7nEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_A1GtkB7nEeOJ3sK94Szb0A" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_A1GtkR7nEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_A1Gtkh7nEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_A1Gtkx7nEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_A1GtlB7nEeOJ3sK94Szb0A" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_A1GtlR7nEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_A1Gtlh7nEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_A1Gtlx7nEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_A1E4YR7nEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//LinkedObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A1E4Yh7nEeOJ3sK94Szb0A" x="305" y="586" width="122"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_H3cH4B7nEeOJ3sK94Szb0A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_H3dWAB7nEeOJ3sK94Szb0A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_H3d9EB7nEeOJ3sK94Szb0A" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_H3d9ER7nEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_H3d9Eh7nEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_H3d9Ex7nEeOJ3sK94Szb0A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_H3ekIB7nEeOJ3sK94Szb0A" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_H3ekIR7nEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_H3ekIh7nEeOJ3sK94Szb0A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_H3ekIx7nEeOJ3sK94Szb0A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_H3cH4R7nEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//MemberAccess"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H3cH4h7nEeOJ3sK94Szb0A" x="305" y="375" width="119" height="61"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5dlBIB-8EeOoedksdoeBog" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_5dp5oB-8EeOoedksdoeBog" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_5drHwB-8EeOoedksdoeBog" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5drHwR-8EeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5drHwh-8EeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5drHwx-8EeOoedksdoeBog"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5dsV4B-8EeOoedksdoeBog" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5ds88B-8EeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5ds88R-8EeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5ds88h-8EeOoedksdoeBog"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_5dloMB-8EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//ListValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5dloMR-8EeOoedksdoeBog" x="97" y="835"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_bWLTQB-9EeOoedksdoeBog" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_bWMhYB-9EeOoedksdoeBog" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_bWNIcB-9EeOoedksdoeBog" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_bWNIcR-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bWNIch-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bWNIcx-9EeOoedksdoeBog"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_bWNvgB-9EeOoedksdoeBog" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_bWNvgR-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bWNvgh-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bWNvgx-9EeOoedksdoeBog"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_bWLTQR-9EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//Invocation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bWLTQh-9EeOoedksdoeBog" x="404" y="166" width="123" height="60"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vvNo8B-9EeOoedksdoeBog" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_vvO3EB-9EeOoedksdoeBog" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_vvPeIB-9EeOoedksdoeBog" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vvPeIR-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vvPeIh-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vvPeIx-9EeOoedksdoeBog"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vvQsQB-9EeOoedksdoeBog" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vvQsQR-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vvRTUB-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vvRTUR-9EeOoedksdoeBog"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_vvNo8R-9EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//MemberInvocation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vvNo8h-9EeOoedksdoeBog" x="487" y="293" width="143"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_96W5AB-9EeOoedksdoeBog" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_96W5AR-9EeOoedksdoeBog" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_96W5Ah-9EeOoedksdoeBog" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_96W5Ax-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_96W5BB-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_96W5BR-9EeOoedksdoeBog"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_96W5Bh-9EeOoedksdoeBog" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_96W5Bx-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_96W5CB-9EeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_96W5CR-9EeOoedksdoeBog"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_96W5Ch-9EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//FunctionInvocation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_96W5Cx-9EeOoedksdoeBog" x="305" y="293" width="143"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_D7nl8B_AEeOoedksdoeBog" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_D7xW8B_AEeOoedksdoeBog" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_D7xW8R_AEeOoedksdoeBog" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_D7xW8h_AEeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D7xW8x_AEeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D7xW9B_AEeOoedksdoeBog"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_D7x-AB_AEeOoedksdoeBog" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_D7x-AR_AEeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D7x-Ah_AEeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D7x-Ax_AEeOoedksdoeBog"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_D7nl8R_AEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//LinkedExpression"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D7nl8h_AEeOoedksdoeBog" x="305" y="456"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Euud4B_AEeOoedksdoeBog" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_EuvsAB_AEeOoedksdoeBog" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EuwTEB_AEeOoedksdoeBog" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EuwTER_AEeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EuwTEh_AEeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EuwTEx_AEeOoedksdoeBog"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Euw6IB_AEeOoedksdoeBog" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Euw6IR_AEeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Euw6Ih_AEeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Euw6Ix_AEeOoedksdoeBog"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Euud4R_AEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//ContainedObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Euud4h_AEeOoedksdoeBog" x="305" y="521" width="139"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5L96cB_BEeOoedksdoeBog" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5NCRcB_BEeOoedksdoeBog" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5NCRcR_BEeOoedksdoeBog" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_5L_IkB_BEeOoedksdoeBog" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_5L_voB_BEeOoedksdoeBog" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5L_voR_BEeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5L_voh_BEeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5L_vox_BEeOoedksdoeBog"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5L_vpB_BEeOoedksdoeBog" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_5L_vpR_BEeOoedksdoeBog"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5L_vph_BEeOoedksdoeBog"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5L_vpx_BEeOoedksdoeBog"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_5L96cR_BEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5L96ch_BEeOoedksdoeBog" x="507" y="586" width="119"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_n9VikR7BEeOJ3sK94Szb0A"/>
+ <element xmi:type="ecore:EPackage" href="expressions.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_sGgXkB7mEeOJ3sK94Szb0A" type="3003" source="_sGM1kB7mEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_sGgXkR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_sGgXkh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sGgXkx7mEeOJ3sK94Szb0A" points="[0, -24, -189, 116]$[0, -69, -189, 71]$[116, -69, -73, 71]$[116, -115, -73, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_te8KIB7mEeOJ3sK94Szb0A" type="3003" source="_tesSgB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_te8KIR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_te8KIh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_te8KIx7mEeOJ3sK94Szb0A" points="[64, 0, 41, 80]$[89, 0, 66, 80]$[89, -55, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_t6004B7mEeOJ3sK94Szb0A" type="3003" source="_t6kWMB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_t6004R7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_t6004h7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_t6004x7mEeOJ3sK94Szb0A" points="[52, 0, 41, 145]$[77, 0, 66, 145]$[77, -120, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_uNocIB7mEeOJ3sK94Szb0A" type="3003" source="_uNX9cB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_uNocIR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_uNocIh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uNocIx7mEeOJ3sK94Szb0A" points="[56, 0, 41, 210]$[81, 0, 66, 210]$[81, -185, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ui-aAB7mEeOJ3sK94Szb0A" type="3003" source="_ui3sUB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ui-aAR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ui-aAh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ui-aAx7mEeOJ3sK94Szb0A" points="[50, 0, 41, 275]$[75, 0, 66, 275]$[75, -250, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_u8GEoB7mEeOJ3sK94Szb0A" type="3003" source="_u7wtcB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_u8GEoR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_u8GEoh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_u8GEox7mEeOJ3sK94Szb0A" points="[54, 0, 41, 340]$[79, 0, 66, 340]$[79, -315, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_vQrNgB7mEeOJ3sK94Szb0A" type="3003" source="_vQaHwB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_vQrNgR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vQrNgh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vQrNgx7mEeOJ3sK94Szb0A" points="[54, 0, 41, 405]$[79, 0, 66, 405]$[79, -380, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_vj_yIB7mEeOJ3sK94Szb0A" type="3003" source="_vjusYB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_vj_yIR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vj_yIh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vj_yIx7mEeOJ3sK94Szb0A" points="[61, 0, 41, 470]$[86, 0, 66, 470]$[86, -445, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_wPg0UB7mEeOJ3sK94Szb0A" type="3003" source="_wPPukB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_wPg0UR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_wPg0Uh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wPg0Ux7mEeOJ3sK94Szb0A" points="[53, 0, 41, 535]$[78, 0, 66, 535]$[78, -510, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_wn6GMB7mEeOJ3sK94Szb0A" type="3003" source="_wnpngB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_wn6GMR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_wn6GMh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wn6GMx7mEeOJ3sK94Szb0A" points="[57, 0, 41, 600]$[82, 0, 66, 600]$[82, -575, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_-4X7IB7mEeOJ3sK94Szb0A" type="3003" source="_-4IDgB7mEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_-4X7IR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-4X7Ih7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-4X7Ix7mEeOJ3sK94Szb0A" points="[-56, 0, -40, 615]$[-89, 0, -73, 615]$[-89, -590, -73, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__ZGCkB7mEeOJ3sK94Szb0A" type="3003" source="__Y4nMB7mEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__ZGCkR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__ZGCkh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__ZGCkx7mEeOJ3sK94Szb0A" points="[-50, 0, -40, 675]$[-83, 0, -73, 675]$[-83, -650, -73, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_A1STwB7nEeOJ3sK94Szb0A" type="3003" source="_A1E4YB7nEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_A1STwR7nEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_A1STwh7nEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_A1STwx7nEeOJ3sK94Szb0A" points="[-60, -1, -40, 550]$[-93, -1, -73, 550]$[-93, -526, -73, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_H3pjQB7nEeOJ3sK94Szb0A" type="3002" source="_H3cH4B7nEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <children xmi:type="notation:Node" xmi:id="_H3qxYB7nEeOJ3sK94Szb0A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_H3qxYR7nEeOJ3sK94Szb0A" x="-54" y="-269"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_H3qxYh7nEeOJ3sK94Szb0A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_H3qxYx7nEeOJ3sK94Szb0A" x="109" y="-344"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_H3pjQR7nEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_H3pjQh7nEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//MemberAccess/object"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H3pjQx7nEeOJ3sK94Szb0A" points="[59, -19, 77, 331]$[324, -19, 342, 331]$[324, -350, 342, 0]$[117, -350, 135, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_H3tNoB7nEeOJ3sK94Szb0A" type="3003" source="_H3cH4B7nEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_H3tNoR7nEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_H3tNoh7nEeOJ3sK94Szb0A" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H3tNox7nEeOJ3sK94Szb0A" points="[-58, 1, -40, 351]$[-91, 1, -73, 351]$[-91, -325, -73, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ma_EgB-9EeOoedksdoeBog" type="3002" source="_bWLTQB-9EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <children xmi:type="notation:Node" xmi:id="_mbCH0B-9EeOoedksdoeBog" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mbCH0R-9EeOoedksdoeBog" x="-33" y="-172"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mbDV8B-9EeOoedksdoeBog" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mbDV8R-9EeOoedksdoeBog" x="-81" y="-172"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ma_EgR-9EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ma_Egh-9EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//Invocation/arguments"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ma_Egx-9EeOoedksdoeBog" points="[61, -20, 133, 138]$[178, -20, 250, 138]$[178, -141, 250, 17]$[16, -141, 88, 17]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mbKDoB-9EeOoedksdoeBog" id="(0.6764705882352942,0.16279069767441862)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_hxDPgB--EeOoedksdoeBog" type="3002" source="_bWLTQB-9EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <children xmi:type="notation:Node" xmi:id="_hxD2kB--EeOoedksdoeBog" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hxD2kR--EeOoedksdoeBog" x="93" y="-387"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hxEdoB--EeOoedksdoeBog" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hxEdoR--EeOoedksdoeBog" x="34" y="-434"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_hxDPgR--EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_hxDPgh--EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//Invocation/name"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hxDPgx--EeOoedksdoeBog" points="[104, 32, 90, 157]$[236, 32, 222, 157]$[236, -124, 222, 1]$[59, -124, 45, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hxJ9MB--EeOoedksdoeBog" id="(0.14634146341463414,0.21568627450980393)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hxJ9MR--EeOoedksdoeBog" id="(0.8333333333333334,0.4883720930232558)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_qGuhAB--EeOoedksdoeBog" type="3003" source="_vvNo8B-9EeOoedksdoeBog" target="_bWLTQB-9EeOoedksdoeBog">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_qGuhAR--EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qGuhAh--EeOoedksdoeBog" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qGuhAx--EeOoedksdoeBog" points="[-8, -19, 85, 98]$[-8, -47, 85, 70]$[-90, -47, 3, 70]$[-90, -88, 3, 29]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_qzsUsB--EeOoedksdoeBog" type="3003" source="_96W5AB-9EeOoedksdoeBog" target="_bWLTQB-9EeOoedksdoeBog">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_qzsUsR--EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qzsUsh--EeOoedksdoeBog" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qzsUsx--EeOoedksdoeBog" points="[3, -19, -86, 98]$[3, -47, -86, 70]$[92, -47, 3, 70]$[92, -88, 3, 29]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_uqm74B--EeOoedksdoeBog" type="3002" source="_vvNo8B-9EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <children xmi:type="notation:Node" xmi:id="_uqni8B--EeOoedksdoeBog" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uqni8R--EeOoedksdoeBog" x="95" y="-344"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uqoKAB--EeOoedksdoeBog" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uqoKAR--EeOoedksdoeBog" x="71" y="-387"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_uqm74R--EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_uqm74h--EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//MemberInvocation/object"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uqm74x--EeOoedksdoeBog" points="[71, -1, 201, 264]$[115, -1, 245, 264]$[115, -258, 245, 7]$[-77, -258, 53, 7]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uqtpkB--EeOoedksdoeBog" id="(0.803921568627451,0.3488372093023256)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_D8H8QB_AEeOoedksdoeBog" type="3002" source="_D7nl8B_AEeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <children xmi:type="notation:Node" xmi:id="_D8JKYB_AEeOoedksdoeBog" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D8JKYR_AEeOoedksdoeBog" x="150" y="-434"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_D8JKYh_AEeOoedksdoeBog" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D8JKYx_AEeOoedksdoeBog" x="-23" y="-239"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_D8H8QR_AEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_D8H8Qh_AEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//LinkedExpression/expression"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D8H8Qx_AEeOoedksdoeBog" points="[60, 20, 80, 397]$[352, 20, 372, 397]$[352, -402, 372, -25]$[115, -402, 135, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQmDwB_BEeOoedksdoeBog" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQmDwR_BEeOoedksdoeBog" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_D8MNsB_AEeOoedksdoeBog" type="3003" source="_D7nl8B_AEeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_D8MNsR_AEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_D8MNsh_AEeOoedksdoeBog" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D8MNsx_AEeOoedksdoeBog" points="[-60, 20, -40, 397]$[-93, 20, -73, 397]$[-93, -377, -73, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQmq0B_BEeOoedksdoeBog" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQnR4B_BEeOoedksdoeBog" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Eu-VgB_AEeOoedksdoeBog" type="3003" source="_Euud4B_AEeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eu-VgR_AEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Eu-Vgh_AEeOoedksdoeBog" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eu-Vgx_AEeOoedksdoeBog" points="[-68, -1, -40, 485]$[-101, -1, -73, 485]$[-101, -461, -73, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_AH3yEB_BEeOoedksdoeBog" type="3002" source="_5dlBIB-8EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <children xmi:type="notation:Node" xmi:id="_AIAU8B_BEeOoedksdoeBog" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AIAU8R_BEeOoedksdoeBog" x="10" y="814"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_AIA8AB_BEeOoedksdoeBog" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AIA8AR_BEeOoedksdoeBog" x="13" y="785"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_AH3yER_BEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AH4ZIB_BEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//ListValue/elements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AH4ZIR_BEeOoedksdoeBog" points="[-53, 11, -282, 813]$[-118, 11, -347, 813]$[-118, -788, -347, 14]$[60, -788, -169, 14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AIHCoB_BEeOoedksdoeBog" id="(0.5392156862745098,0.20930232558139536)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AIHCoR_BEeOoedksdoeBog" id="(0.6286764705882353,0.21568627450980393)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Cye-MB_BEeOoedksdoeBog" type="3003" source="_5dlBIB-8EeOoedksdoeBog" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Cye-MR_BEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Cye-Mh_BEeOoedksdoeBog" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cye-Mx_BEeOoedksdoeBog" points="[50, -1, 41, 659]$[75, -1, 66, 659]$[75, -635, 66, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_iGSYUB_BEeOoedksdoeBog" type="3003" source="_bWLTQB-9EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_iGSYUR_BEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_iGSYUh_BEeOoedksdoeBog" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iGSYUx_BEeOoedksdoeBog" points="[-12, -10, 35, 122]$[-12, -51, 35, 81]$[-207, -51, -160, 81]$[-207, -97, -160, 35]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iGWpwB_BEeOoedksdoeBog" id="(0.6260162601626016,0.18604651162790697)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iGWpwR_BEeOoedksdoeBog" id="(0.8235294117647058,0.29411764705882354)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_HaJQYB_CEeOoedksdoeBog" type="3002" source="_A1E4YB7nEeOJ3sK94Szb0A" target="_5L96cB_BEeOoedksdoeBog">
+ <children xmi:type="notation:Node" xmi:id="_HaJ3cB_CEeOoedksdoeBog" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HaJ3cR_CEeOoedksdoeBog" x="-20" y="11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_HaJ3ch_CEeOoedksdoeBog" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HaJ3cx_CEeOoedksdoeBog" x="-13" y="-10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_HaJQYR_CEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_HaJQYh_CEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//LinkedObject/object"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HaJQYx_CEeOoedksdoeBog" points="[60, -1, -140, -1]$[142, -1, -58, -1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IWot0B_CEeOoedksdoeBog" type="3002" source="_Euud4B_AEeOoedksdoeBog" target="_5L96cB_BEeOoedksdoeBog">
+ <children xmi:type="notation:Node" xmi:id="_IWp78B_CEeOoedksdoeBog" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IWp78R_CEeOoedksdoeBog" x="6" y="-25"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IWp78h_CEeOoedksdoeBog" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IWp78x_CEeOoedksdoeBog" x="6" y="18"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IWot0R_CEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IWot0h_CEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//ContainedObject/object"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IWot0x_CEeOoedksdoeBog" points="[69, -1, -123, -66]$[192, -1, 0, -66]$[192, 46, 0, -19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_9lS1sB_CEeOoedksdoeBog" type="3002" source="_H3cH4B7nEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <children xmi:type="notation:Node" xmi:id="_9lTcwB_CEeOoedksdoeBog" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9lTcwR_CEeOoedksdoeBog" x="53" y="-134"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9lTcwh_CEeOoedksdoeBog" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9lTcwx_CEeOoedksdoeBog" x="25" y="-134"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_9lS1sR_CEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9lS1sh_CEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//MemberAccess/name"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lS1sx_CEeOoedksdoeBog" points="[59, 21, 17, 387]$[339, 21, 297, 387]$[339, -350, 297, 16]$[117, -350, 75, 16]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lYVQB_CEeOoedksdoeBog" id="(0.7242647058823529,0.17647058823529413)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.cdo.expressions/model/expressions.genmodel b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.genmodel
new file mode 100644
index 0000000000..5aa10f0abd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.genmodel
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.cdo.expressions/src" creationIcons="false"
+ modelPluginID="org.eclipse.emf.cdo.expressions" modelName="Expressions" updateClasspath="false"
+ rootExtendsInterface="org.eclipse.emf.cdo.CDOObject" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+ codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.ecore"
+ featureDelegation="Dynamic" complianceLevel="5.0" copyrightFields="false" optimizedHasChildren="true"
+ tableProviders="true" colorProviders="true" fontProviders="true" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>expressions.ecore</foreignModel>
+ <genPackages prefix="Expressions" basePackage="org.eclipse.emf.cdo" disposableProviderFactory="true"
+ multipleEditorPages="false" extensibleProviderFactory="true" childCreationExtenders="true"
+ ecorePackage="expressions.ecore#/">
+ <genDataTypes ecoreDataType="expressions.ecore#//EvaluationContext"/>
+ <genClasses image="false" ecoreClass="expressions.ecore#//Expression">
+ <genOperations ecoreOperation="expressions.ecore#//Expression/evaluate">
+ <genParameters ecoreParameter="expressions.ecore#//Expression/evaluate/context"/>
+ </genOperations>
+ </genClasses>
+ <genClasses image="false" ecoreClass="expressions.ecore#//Value">
+ <genOperations ecoreOperation="expressions.ecore#//Value/getLiteral"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//BooleanValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//BooleanValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//ByteValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//ByteValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//ShortValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//ShortValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//IntValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//IntValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//LongValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//LongValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//FloatValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//FloatValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//DoubleValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//DoubleValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//CharValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//CharValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//StringValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//StringValue/literal"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//ListValue">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference expressions.ecore#//ListValue/elements"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="expressions.ecore#//Invocation">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference expressions.ecore#//Invocation/arguments"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference expressions.ecore#//Invocation/name"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//FunctionInvocation"/>
+ <genClasses ecoreClass="expressions.ecore#//MemberInvocation">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference expressions.ecore#//MemberInvocation/object"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//MemberAccess">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference expressions.ecore#//MemberAccess/object"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference expressions.ecore#//MemberAccess/name"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//ContextAccess">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute expressions.ecore#//ContextAccess/name"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//This"/>
+ <genClasses ecoreClass="expressions.ecore#//ContainedObject">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference expressions.ecore#//ContainedObject/object"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//LinkedObject">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference expressions.ecore#//LinkedObject/object"/>
+ </genClasses>
+ <genClasses ecoreClass="expressions.ecore#//LinkedExpression">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference expressions.ecore#//LinkedExpression/expression"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo.expressions/plugin.properties b/plugins/org.eclipse.emf.cdo.expressions/plugin.properties
new file mode 100644
index 0000000000..9754f4927f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/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 Expressions
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.emf.cdo.expressions/plugin.xml b/plugins/org.eclipse.emf.cdo.expressions/plugin.xml
new file mode 100644
index 0000000000..58f31d2e6f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/plugin.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated expressions -->
+ <package
+ uri="http://www.eclipse.org/emf/CDO/expressions/4.3.0"
+ class="org.eclipse.emf.cdo.expressions.ExpressionsPackage"
+ genModel="model/expressions.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/BooleanValue.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/BooleanValue.java
new file mode 100644
index 0000000000..9061c6d1cd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/BooleanValue.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Boolean Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.expressions.BooleanValue#isLiteral <em>Literal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getBooleanValue()
+ * @model
+ * @generated
+ */
+public interface BooleanValue extends Value
+{
+ /**
+ * Returns the value of the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Literal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Literal</em>' attribute.
+ * @see #setLiteral(boolean)
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getBooleanValue_Literal()
+ * @model
+ * @generated
+ */
+ boolean isLiteral();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.BooleanValue#isLiteral <em>Literal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Literal</em>' attribute.
+ * @see #isLiteral()
+ * @generated
+ */
+ void setLiteral(boolean value);
+
+} // BooleanValue
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ByteValue.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ByteValue.java
new file mode 100644
index 0000000000..aabc602acc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ByteValue.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Byte Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.expressions.ByteValue#getLiteral <em>Literal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getByteValue()
+ * @model
+ * @generated
+ */
+public interface ByteValue extends Value
+{
+ /**
+ * Returns the value of the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Literal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Literal</em>' attribute.
+ * @see #setLiteral(byte)
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getByteValue_Literal()
+ * @model
+ * @generated NOT
+ */
+ Byte getLiteral();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.ByteValue#getLiteral <em>Literal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Literal</em>' attribute.
+ * @see #getLiteral()
+ * @generated
+ */
+ void setLiteral(byte value);
+
+} // ByteValue
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/CharValue.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/CharValue.java
new file mode 100644
index 0000000000..ad99ec55f9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/CharValue.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Char Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.expressions.CharValue#getLiteral <em>Literal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getCharValue()
+ * @model
+ * @generated
+ */
+public interface CharValue extends Value
+{
+ /**
+ * Returns the value of the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Literal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Literal</em>' attribute.
+ * @see #setLiteral(char)
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getCharValue_Literal()
+ * @model
+ * @generated NOT
+ */
+ Character getLiteral();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.CharValue#getLiteral <em>Literal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Literal</em>' attribute.
+ * @see #getLiteral()
+ * @generated
+ */
+ void setLiteral(char value);
+
+} // CharValue
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContainedObject.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContainedObject.java
new file mode 100644
index 0000000000..d72bb750e0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContainedObject.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Contained Object</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.expressions.ContainedObject#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getContainedObject()
+ * @model
+ * @generated
+ */
+public interface ContainedObject extends Expression
+{
+ /**
+ * Returns the value of the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Object</em>' containment reference.
+ * @see #setObject(EObject)
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getContainedObject_Object()
+ * @model containment="true"
+ * @generated
+ */
+ EObject getObject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.ContainedObject#getObject <em>Object</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object</em>' containment reference.
+ * @see #getObject()
+ * @generated
+ */
+ void setObject(EObject value);
+
+} // ContainedObject
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java
new file mode 100644
index 0000000000..4ab3d7bf99
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Context Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.expressions.ContextAccess#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getContextAccess()
+ * @model
+ * @generated
+ */
+public interface ContextAccess extends Expression
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getContextAccess_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.ContextAccess#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // ContextValue
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/DoubleValue.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/DoubleValue.java
new file mode 100644
index 0000000000..6ea46ad3e7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/DoubleValue.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Double Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.expressions.DoubleValue#getLiteral <em>Literal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getDoubleValue()
+ * @model
+ * @generated
+ */
+public interface DoubleValue extends Value
+{
+ /**
+ * Returns the value of the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Literal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Literal</em>' attribute.
+ * @see #setLiteral(double)
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getDoubleValue_Literal()
+ * @model
+ * @generated NOT
+ */
+ Double getLiteral();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.DoubleValue#getLiteral <em>Literal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Literal</em>' attribute.
+ * @see #getLiteral()
+ * @generated
+ */
+ void setLiteral(double value);
+
+} // DoubleValue
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java
new file mode 100644
index 0000000000..c43bfc4d8d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2004-2013 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
+ */
+package org.eclipse.emf.cdo.expressions;
+
+/**
+ * @author Eike Stepper
+ */
+public interface EvaluationContext
+{
+ public static final String THIS = "this";
+
+ public Object get(Object name);
+
+ public Object getThis();
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Expression.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Expression.java
new file mode 100644
index 0000000000..bbcd624e6e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Expression.java
@@ -0,0 +1,28 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getExpression()
+ * @model interface="true" abstract="true"
+ * @extends CDOObject
+ * @generated
+ */
+public interface Expression extends CDOObject
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model contextDataType="org.eclipse.emf.cdo.expressions.EvaluationContext"
+ * @generated
+ */
+ Object evaluate(EvaluationContext context);
+
+} // Expression
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java
new file mode 100644
index 0000000000..d6eb42eea7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java
@@ -0,0 +1,198 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage
+ * @generated
+ */
+public interface ExpressionsFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExpressionsFactory eINSTANCE = org.eclipse.emf.cdo.expressions.impl.ExpressionsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Boolean Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Boolean Value</em>'.
+ * @generated
+ */
+ BooleanValue createBooleanValue();
+
+ /**
+ * Returns a new object of class '<em>Byte Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Byte Value</em>'.
+ * @generated
+ */
+ ByteValue createByteValue();
+
+ /**
+ * Returns a new object of class '<em>Short Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Short Value</em>'.
+ * @generated
+ */
+ ShortValue createShortValue();
+
+ /**
+ * Returns a new object of class '<em>Int Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Int Value</em>'.
+ * @generated
+ */
+ IntValue createIntValue();
+
+ /**
+ * Returns a new object of class '<em>Long Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Long Value</em>'.
+ * @generated
+ */
+ LongValue createLongValue();
+
+ /**
+ * Returns a new object of class '<em>Float Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Float Value</em>'.
+ * @generated
+ */
+ FloatValue createFloatValue();
+
+ /**
+ * Returns a new object of class '<em>Double Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Double Value</em>'.
+ * @generated
+ */
+ DoubleValue createDoubleValue();
+
+ /**
+ * Returns a new object of class '<em>Char Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Char Value</em>'.
+ * @generated
+ */
+ CharValue createCharValue();
+
+ /**
+ * Returns a new object of class '<em>String Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>String Value</em>'.
+ * @generated
+ */
+ StringValue createStringValue();
+
+ /**
+ * Returns a new object of class '<em>List Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>List Value</em>'.
+ * @generated
+ */
+ ListValue createListValue();
+
+ /**
+ * Returns a new object of class '<em>Function Invocation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Invocation</em>'.
+ * @generated
+ */
+ FunctionInvocation createFunctionInvocation();
+
+ /**
+ * Returns a new object of class '<em>Member Invocation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Member Invocation</em>'.
+ * @generated
+ */
+ MemberInvocation createMemberInvocation();
+
+ /**
+ * Returns a new object of class '<em>Member Access</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Member Access</em>'.
+ * @generated
+ */
+ MemberAccess createMemberAccess();
+
+ /**
+ * Returns a new object of class '<em>Context Access</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Context Access</em>'.
+ * @generated
+ */
+ ContextAccess createContextAccess();
+
+ /**
+ * Returns a new object of class '<em>This</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>This</em>'.
+ * @generated
+ */
+ This createThis();
+
+ /**
+ * Returns a new object of class '<em>Contained Object</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Contained Object</em>'.
+ * @generated
+ */
+ ContainedObject createContainedObject();
+
+ /**
+ * Returns a new object of class '<em>Linked Object</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Linked Object</em>'.
+ * @generated
+ */
+ LinkedObject createLinkedObject();
+
+ /**
+ * Returns a new object of class '<em>Linked Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Linked Expression</em>'.
+ * @generated
+ */
+ LinkedExpression createLinkedExpression();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ExpressionsPackage getExpressionsPackage();
+
+} // ExpressionsFactory
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java
new file mode 100644
index 0000000000..60aaec4b71
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java
@@ -0,0 +1,2023 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ExpressionsPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "expressions";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/CDO/expressions/4.3.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "expressions";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExpressionsPackage eINSTANCE = org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.Expression <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.Expression
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getExpression()
+ * @generated
+ */
+ int EXPRESSION = 0;
+
+ /**
+ * The number of structural features of the '<em>Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_FEATURE_COUNT = 0;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___EVALUATE__EVALUATIONCONTEXT = 0;
+
+ /**
+ * The number of operations of the '<em>Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_OPERATION_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ValueImpl <em>Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getValue()
+ * @generated
+ */
+ int VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE___GET_LITERAL = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.BooleanValueImpl <em>Boolean Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.BooleanValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getBooleanValue()
+ * @generated
+ */
+ int BOOLEAN_VALUE = 2;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Boolean Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>Boolean Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ByteValueImpl <em>Byte Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ByteValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getByteValue()
+ * @generated
+ */
+ int BYTE_VALUE = 3;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BYTE_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Byte Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BYTE_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BYTE_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BYTE_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>Byte Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BYTE_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ShortValueImpl <em>Short Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ShortValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getShortValue()
+ * @generated
+ */
+ int SHORT_VALUE = 4;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHORT_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Short Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHORT_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHORT_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHORT_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>Short Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHORT_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.IntValueImpl <em>Int Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.IntValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getIntValue()
+ * @generated
+ */
+ int INT_VALUE = 5;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INT_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Int Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INT_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INT_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INT_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>Int Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INT_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.LongValueImpl <em>Long Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.LongValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getLongValue()
+ * @generated
+ */
+ int LONG_VALUE = 6;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LONG_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Long Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LONG_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LONG_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LONG_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>Long Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LONG_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.FloatValueImpl <em>Float Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.FloatValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getFloatValue()
+ * @generated
+ */
+ int FLOAT_VALUE = 7;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOAT_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Float Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOAT_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOAT_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOAT_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>Float Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOAT_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.DoubleValueImpl <em>Double Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.DoubleValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getDoubleValue()
+ * @generated
+ */
+ int DOUBLE_VALUE = 8;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Double Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>Double Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOUBLE_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.CharValueImpl <em>Char Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.CharValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getCharValue()
+ * @generated
+ */
+ int CHAR_VALUE = 9;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHAR_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Char Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHAR_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHAR_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHAR_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>Char Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHAR_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.StringValueImpl <em>String Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.StringValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getStringValue()
+ * @generated
+ */
+ int STRING_VALUE = 10;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE__LITERAL = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>String Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>String Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ListValueImpl <em>List Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ListValueImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getListValue()
+ * @generated
+ */
+ int LIST_VALUE = 11;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_VALUE__ELEMENTS = VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>List Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The operation id for the '<em>Get Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
+
+ /**
+ * The number of operations of the '<em>List Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.InvocationImpl <em>Invocation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.InvocationImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getInvocation()
+ * @generated
+ */
+ int INVOCATION = 12;
+
+ /**
+ * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION__ARGUMENTS = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION__NAME = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Invocation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Invocation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.FunctionInvocationImpl <em>Function Invocation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.FunctionInvocationImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getFunctionInvocation()
+ * @generated
+ */
+ int FUNCTION_INVOCATION = 13;
+
+ /**
+ * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_INVOCATION__ARGUMENTS = INVOCATION__ARGUMENTS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_INVOCATION__NAME = INVOCATION__NAME;
+
+ /**
+ * The number of structural features of the '<em>Function Invocation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_INVOCATION_FEATURE_COUNT = INVOCATION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_INVOCATION___EVALUATE__EVALUATIONCONTEXT = INVOCATION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Function Invocation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_INVOCATION_OPERATION_COUNT = INVOCATION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.MemberInvocationImpl <em>Member Invocation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.MemberInvocationImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getMemberInvocation()
+ * @generated
+ */
+ int MEMBER_INVOCATION = 14;
+
+ /**
+ * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_INVOCATION__ARGUMENTS = INVOCATION__ARGUMENTS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_INVOCATION__NAME = INVOCATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_INVOCATION__OBJECT = INVOCATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Member Invocation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_INVOCATION_FEATURE_COUNT = INVOCATION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_INVOCATION___EVALUATE__EVALUATIONCONTEXT = INVOCATION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Member Invocation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_INVOCATION_OPERATION_COUNT = INVOCATION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl <em>Member Access</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getMemberAccess()
+ * @generated
+ */
+ int MEMBER_ACCESS = 15;
+
+ /**
+ * The feature id for the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_ACCESS__OBJECT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_ACCESS__NAME = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Member Access</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_ACCESS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_ACCESS___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Member Access</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_ACCESS_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl <em>Context Access</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getContextAccess()
+ * @generated
+ */
+ int CONTEXT_ACCESS = 16;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT_ACCESS__NAME = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Context Access</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT_ACCESS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT_ACCESS___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Context Access</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT_ACCESS_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ThisImpl <em>This</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ThisImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getThis()
+ * @generated
+ */
+ int THIS = 17;
+
+ /**
+ * The number of structural features of the '<em>This</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THIS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THIS___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>This</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THIS_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ContainedObjectImpl <em>Contained Object</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ContainedObjectImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getContainedObject()
+ * @generated
+ */
+ int CONTAINED_OBJECT = 18;
+
+ /**
+ * The feature id for the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_OBJECT__OBJECT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Contained Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_OBJECT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_OBJECT___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Contained Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_OBJECT_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.LinkedObjectImpl <em>Linked Object</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.LinkedObjectImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getLinkedObject()
+ * @generated
+ */
+ int LINKED_OBJECT = 19;
+
+ /**
+ * The feature id for the '<em><b>Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKED_OBJECT__OBJECT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Linked Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKED_OBJECT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKED_OBJECT___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Linked Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKED_OBJECT_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.LinkedExpressionImpl <em>Linked Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.LinkedExpressionImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getLinkedExpression()
+ * @generated
+ */
+ int LINKED_EXPRESSION = 20;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKED_EXPRESSION__EXPRESSION = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Linked Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKED_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKED_EXPRESSION___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Linked Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKED_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '<em>Evaluation Context</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.EvaluationContext
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getEvaluationContext()
+ * @generated
+ */
+ int EVALUATION_CONTEXT = 21;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.Expression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expression</em>'.
+ * @see org.eclipse.emf.cdo.expressions.Expression
+ * @generated
+ */
+ EClass getExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.emf.cdo.expressions.Expression#evaluate(org.eclipse.emf.cdo.expressions.EvaluationContext) <em>Evaluate</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Evaluate</em>' operation.
+ * @see org.eclipse.emf.cdo.expressions.Expression#evaluate(org.eclipse.emf.cdo.expressions.EvaluationContext)
+ * @generated
+ */
+ EOperation getExpression__Evaluate__EvaluationContext();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.Value <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.Value
+ * @generated
+ */
+ EClass getValue();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.emf.cdo.expressions.Value#getLiteral() <em>Get Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Get Literal</em>' operation.
+ * @see org.eclipse.emf.cdo.expressions.Value#getLiteral()
+ * @generated
+ */
+ EOperation getValue__GetLiteral();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.BooleanValue <em>Boolean Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Boolean Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.BooleanValue
+ * @generated
+ */
+ EClass getBooleanValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.BooleanValue#isLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.BooleanValue#isLiteral()
+ * @see #getBooleanValue()
+ * @generated
+ */
+ EAttribute getBooleanValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ByteValue <em>Byte Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Byte Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ByteValue
+ * @generated
+ */
+ EClass getByteValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.ByteValue#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ByteValue#getLiteral()
+ * @see #getByteValue()
+ * @generated
+ */
+ EAttribute getByteValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ShortValue <em>Short Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Short Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ShortValue
+ * @generated
+ */
+ EClass getShortValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.ShortValue#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ShortValue#getLiteral()
+ * @see #getShortValue()
+ * @generated
+ */
+ EAttribute getShortValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.IntValue <em>Int Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Int Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.IntValue
+ * @generated
+ */
+ EClass getIntValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.IntValue#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.IntValue#getLiteral()
+ * @see #getIntValue()
+ * @generated
+ */
+ EAttribute getIntValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.LongValue <em>Long Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Long Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.LongValue
+ * @generated
+ */
+ EClass getLongValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.LongValue#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.LongValue#getLiteral()
+ * @see #getLongValue()
+ * @generated
+ */
+ EAttribute getLongValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.FloatValue <em>Float Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Float Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.FloatValue
+ * @generated
+ */
+ EClass getFloatValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.FloatValue#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.FloatValue#getLiteral()
+ * @see #getFloatValue()
+ * @generated
+ */
+ EAttribute getFloatValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.DoubleValue <em>Double Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Double Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.DoubleValue
+ * @generated
+ */
+ EClass getDoubleValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.DoubleValue#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.DoubleValue#getLiteral()
+ * @see #getDoubleValue()
+ * @generated
+ */
+ EAttribute getDoubleValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.CharValue <em>Char Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Char Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.CharValue
+ * @generated
+ */
+ EClass getCharValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.CharValue#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.CharValue#getLiteral()
+ * @see #getCharValue()
+ * @generated
+ */
+ EAttribute getCharValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.StringValue <em>String Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>String Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.StringValue
+ * @generated
+ */
+ EClass getStringValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.StringValue#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Literal</em>'.
+ * @see org.eclipse.emf.cdo.expressions.StringValue#getLiteral()
+ * @see #getStringValue()
+ * @generated
+ */
+ EAttribute getStringValue_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ListValue <em>List Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>List Value</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ListValue
+ * @generated
+ */
+ EClass getListValue();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.expressions.ListValue#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ListValue#getElements()
+ * @see #getListValue()
+ * @generated
+ */
+ EReference getListValue_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.Invocation <em>Invocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Invocation</em>'.
+ * @see org.eclipse.emf.cdo.expressions.Invocation
+ * @generated
+ */
+ EClass getInvocation();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.expressions.Invocation#getArguments <em>Arguments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Arguments</em>'.
+ * @see org.eclipse.emf.cdo.expressions.Invocation#getArguments()
+ * @see #getInvocation()
+ * @generated
+ */
+ EReference getInvocation_Arguments();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.Invocation#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.expressions.Invocation#getName()
+ * @see #getInvocation()
+ * @generated
+ */
+ EReference getInvocation_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.FunctionInvocation <em>Function Invocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Invocation</em>'.
+ * @see org.eclipse.emf.cdo.expressions.FunctionInvocation
+ * @generated
+ */
+ EClass getFunctionInvocation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.MemberInvocation <em>Member Invocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Member Invocation</em>'.
+ * @see org.eclipse.emf.cdo.expressions.MemberInvocation
+ * @generated
+ */
+ EClass getMemberInvocation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.MemberInvocation#getObject <em>Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Object</em>'.
+ * @see org.eclipse.emf.cdo.expressions.MemberInvocation#getObject()
+ * @see #getMemberInvocation()
+ * @generated
+ */
+ EReference getMemberInvocation_Object();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.MemberAccess <em>Member Access</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Member Access</em>'.
+ * @see org.eclipse.emf.cdo.expressions.MemberAccess
+ * @generated
+ */
+ EClass getMemberAccess();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.MemberAccess#getObject <em>Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Object</em>'.
+ * @see org.eclipse.emf.cdo.expressions.MemberAccess#getObject()
+ * @see #getMemberAccess()
+ * @generated
+ */
+ EReference getMemberAccess_Object();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.MemberAccess#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.expressions.MemberAccess#getName()
+ * @see #getMemberAccess()
+ * @generated
+ */
+ EReference getMemberAccess_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ContextAccess <em>Context Access</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Context Access</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ContextAccess
+ * @generated
+ */
+ EClass getContextAccess();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.ContextAccess#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ContextAccess#getName()
+ * @see #getContextAccess()
+ * @generated
+ */
+ EAttribute getContextAccess_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.This <em>This</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>This</em>'.
+ * @see org.eclipse.emf.cdo.expressions.This
+ * @generated
+ */
+ EClass getThis();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ContainedObject <em>Contained Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Contained Object</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ContainedObject
+ * @generated
+ */
+ EClass getContainedObject();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.ContainedObject#getObject <em>Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Object</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ContainedObject#getObject()
+ * @see #getContainedObject()
+ * @generated
+ */
+ EReference getContainedObject_Object();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.LinkedObject <em>Linked Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Linked Object</em>'.
+ * @see org.eclipse.emf.cdo.expressions.LinkedObject
+ * @generated
+ */
+ EClass getLinkedObject();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.expressions.LinkedObject#getObject <em>Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Object</em>'.
+ * @see org.eclipse.emf.cdo.expressions.LinkedObject#getObject()
+ * @see #getLinkedObject()
+ * @generated
+ */
+ EReference getLinkedObject_Object();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.LinkedExpression <em>Linked Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Linked Expression</em>'.
+ * @see org.eclipse.emf.cdo.expressions.LinkedExpression
+ * @generated
+ */
+ EClass getLinkedExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.expressions.LinkedExpression#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Expression</em>'.
+ * @see org.eclipse.emf.cdo.expressions.LinkedExpression#getExpression()
+ * @see #getLinkedExpression()
+ * @generated
+ */
+ EReference getLinkedExpression_Expression();
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.emf.cdo.expressions.EvaluationContext <em>Evaluation Context</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Evaluation Context</em>'.
+ * @see org.eclipse.emf.cdo.expressions.EvaluationContext
+ * @model instanceClass="org.eclipse.emf.cdo.expressions.EvaluationContext" serializeable="false"
+ * @generated
+ */
+ EDataType getEvaluationContext();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ExpressionsFactory getExpressionsFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.Expression <em>Expression</em>}' class.