Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskovalsky2012-03-18 18:35:11 -0400
committermgolubev2012-03-18 18:35:11 -0400
commit8e9a1ba56437aa6202353395ed73e7aeb2aabba8 (patch)
tree627f69053e132ee8270be41249e7719e52b24297 /plugins/org.eclipse.gmf.codegen/models
parentd3a6e7b1a689df8b00452bc4905ab271941d1884 (diff)
downloadorg.eclipse.gmf-tooling-8e9a1ba56437aa6202353395ed73e7aeb2aabba8.tar.gz
org.eclipse.gmf-tooling-8e9a1ba56437aa6202353395ed73e7aeb2aabba8.tar.xz
org.eclipse.gmf-tooling-8e9a1ba56437aa6202353395ed73e7aeb2aabba8.zip
[374583] - Generic OCL-configurable choice parser: gen model + edit
Diffstat (limited to 'plugins/org.eclipse.gmf.codegen/models')
-rw-r--r--plugins/org.eclipse.gmf.codegen/models/gmfgen.ecore5
-rw-r--r--plugins/org.eclipse.gmf.codegen/models/gmfgen.emf7
-rw-r--r--plugins/org.eclipse.gmf.codegen/models/gmfgen.genmodel5
3 files changed, 17 insertions, 0 deletions
diff --git a/plugins/org.eclipse.gmf.codegen/models/gmfgen.ecore b/plugins/org.eclipse.gmf.codegen/models/gmfgen.ecore
index e44f61285..4c19d172c 100644
--- a/plugins/org.eclipse.gmf.codegen/models/gmfgen.ecore
+++ b/plugins/org.eclipse.gmf.codegen/models/gmfgen.ecore
@@ -2301,6 +2301,11 @@
<eClassifiers xsi:type="ecore:EClass" name="PredefinedEnumParser" eSuperTypes="#//GenParserImplementation">
<eOperations name="getQualifiedClassName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OclChoiceParser" eSuperTypes="#//GenParserImplementation">
+ <eOperations name="getQualifiedClassName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="itemsExpression" eType="#//ValueExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="showExpression" eType="#//ValueExpression"/>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExpressionLabelParser" eSuperTypes="#//GenParserImplementation">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Parser implementation that uses expressions to produce string values"/>
diff --git a/plugins/org.eclipse.gmf.codegen/models/gmfgen.emf b/plugins/org.eclipse.gmf.codegen/models/gmfgen.emf
index 3da1bcbed..a67df8610 100644
--- a/plugins/org.eclipse.gmf.codegen/models/gmfgen.emf
+++ b/plugins/org.eclipse.gmf.codegen/models/gmfgen.emf
@@ -1600,6 +1600,13 @@ class PredefinedEnumParser extends GenParserImplementation {
op String getQualifiedClassName();
}
+class OclChoiceParser extends GenParserImplementation {
+ op String getQualifiedClassName();
+
+ ref ValueExpression[?] itemsExpression;
+ ref ValueExpression[?] showExpression;
+}
+
@genmodel(documentation="Parser implementation that uses expressions to produce string values")
class ExpressionLabelParser extends GenParserImplementation {
@genmodel(documentation="Provides means to alter name of parser implementation class")
diff --git a/plugins/org.eclipse.gmf.codegen/models/gmfgen.genmodel b/plugins/org.eclipse.gmf.codegen/models/gmfgen.genmodel
index 0769bc440..78f436ee5 100644
--- a/plugins/org.eclipse.gmf.codegen/models/gmfgen.genmodel
+++ b/plugins/org.eclipse.gmf.codegen/models/gmfgen.genmodel
@@ -1036,6 +1036,11 @@
<genClasses ecoreClass="gmfgen.ecore#//PredefinedEnumParser">
<genOperations ecoreOperation="gmfgen.ecore#//PredefinedEnumParser/getQualifiedClassName"/>
</genClasses>
+ <genClasses ecoreClass="gmfgen.ecore#//OclChoiceParser">
+ <genFeatures createChild="false" ecoreFeature="ecore:EReference gmfgen.ecore#//OclChoiceParser/itemsExpression"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EReference gmfgen.ecore#//OclChoiceParser/showExpression"/>
+ <genOperations ecoreOperation="gmfgen.ecore#//OclChoiceParser/getQualifiedClassName"/>
+ </genClasses>
<genClasses ecoreClass="gmfgen.ecore#//ExpressionLabelParser">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgen.ecore#//ExpressionLabelParser/className"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference gmfgen.ecore#//ExpressionLabelParser/expressionContext"/>

Back to the top